12558网页游戏私服论坛

 找回密码
 立即注册
游戏开服表 申请开服
游戏名称 游戏描述 开服状态 游戏福利 运营商 游戏链接
攻城掠地-仿官 全新玩法,觉醒武将,觉醒技能 每周新区 经典复古版本,长久稳定 进入游戏
巅峰新版攻 攻城掠地公益服 攻城掠地SF 新兵种、新武将(兵种) 进入游戏
攻城掠地公 散人玩家的天堂 新开 进入游戏
改版攻城掠 上线即可国战PK 稳定新区 全新改版,功能强大 进入游戏
少年江山 高福利高爆率 刚开一秒 江湖水落潜蛟龙 进入游戏
太古封魔录 开服送10亿钻石 福利多多 不用充钱也可升级 进入游戏
神魔之道 签到送元宝 稳定开新区 送豪华签到奖励 进入游戏
神奇三国 统帅三军,招揽名将 免费玩新区 激情国战,征战四方 进入游戏
龙符 三日豪礼领到爽 天天开新区 助你征战无双 进入游戏
王者之师 免费领豪华奖励 免费玩新区 6元送6888元宝 进入游戏
查看: 333|回复: 0

简单的【缓冲区溢出之shellcode】(二)

[复制链接]

315

主题

315

帖子

640

积分

实习版主

Rank: 7Rank: 7Rank: 7

积分
640
发表于 2020-11-26 00:35:03 | 显示全部楼层 |阅读模式
本文分析紧接上一篇文章【传送门】:简单的【缓冲区溢出原理】(一)https://www.52pojie.cn/thread-1310387-1-1.html(出处: 吾爱破解论坛)
什么是ShellcodeShellcode实际是一段代码(机器码),是用来发送到服务器利用特定漏洞的代码,一般可以获取权限。另外,Shellcode一般是作为数据发送给受攻击服务的。
1. 缓冲区溢出的shellcode



2.函数执行完毕的时间,函数返回前,此时ESP的值为0x0012FF2C



函数ret返回后,此时观察ESP的值为0x0012FF30,这个很关键。



3.一般情况下,ESP总是指向系统栈且不会被溢出的数据破坏。函数返回后,ESP所指的位置是返回地址的下一位0x0012FF30

如许可用jmp esp作为跳板覆盖返回地址,动态定位shellcode(如第1中的图)


4.获取jmp esp指令的地址,一般来说一些动态链接库会被映射到内存,如kernel32.dll、user32.dll。编程搜索jmp esp的内存地址。
选择其中一个0x77d9ac8


5..shellcode的编写,实现一个弹窗结果。


6.首先要获取MessageBoxA弹窗函数的地址,而MessageBoxuser32.dll的导出函数,编写步伐获取地址0x77d507ea



7.shellcode执行完,大概导致步伐崩溃,所以这里还须要使用 ExitProcess() 函数来令步伐停止,让步伐正常退出。ExitProcess()Kernel32.dll的导出函数,这里编写步伐获取地址为0x7c81bfa2



8.编写shellcode汇编代码


9.shellcode汇编代码中编译,然后加载到OllyDbg中调试,进而获得机器码


提取完后,每个字符前须要加上 \x



10.把这个shellcode加到payload里面,用jmp esp的地址覆盖返回地址,末了的步伐。


11.将步伐编译后载入OD中举行分析栈区溢出前后栈中的变化Strcpy()函数copy

Strcpy()函数copy



函数返回:返回到jmp esp的地址





到此开始执行shellcode的代码


12.运行结果:弹窗并正常退出而不报错。


平台:windows xp
工具:vc++ollydbg

参考文献《0day安全 软件漏洞分析技能》等
来源:http://www.12558.net
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
楼主热帖
回复

使用道具 举报

*滑块验证:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|12558网页游戏私服论坛 |网站地图

GMT+8, 2024-4-19 06:10 , Processed in 0.109375 second(s), 31 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表