- 112
- 0
- 约2.09千字
- 约 5页
- 2018-08-18 发布于天津
- 举报
二进制漏洞系列教程简单栈溢出实战
第一节- 二进制漏洞系列教程简单栈溢出实战
WrittenBy 東
二进制漏洞挖掘,是软件安全的一个分支,通常出现在文件格式,协议栈,api接口,系统应用
组件等,漏洞往往是由程序员的不谨慎编码造成的,常会出现在内存分配,堆栈平衡,协议栈
通讯,组件接口问题等等,细分二进制分为栈溢出,堆溢出,内存破坏漏洞,uaf,doublefree,
内核漏洞 等等..其实大都和内存相关的,所以这些知识也要求对C语言有简单了解.这是
刚接触的第一节我会尽可能最详细的讲出来..
环境Win7 sp1 x64 dep关闭,SafeSeh关闭,Aslr关闭,
工具 Vs2013 ImmunityDebuger mona.py
工具下载
ImDebug: /products/debugger/
Mona.py https://www.corelan.be/index.php/2011/07/14/mona-py-the-manual/
FlexHex /download/
先看一下函数的栈帧
文中例子是读取大于1024个字节的字符串撑爆局部变量空间覆盖了函数的返回地址从而导
致eip可控(程序即将执行的指令)通过jmp esp覆盖eip 的那四个字节的数据来控制程序
流程,我们先看这样一段代码:
voidShowFileInfo(char*szfileName)
{
HANDLEhFile; //创建文件句柄
DWORDdwSizeHigh,dwSizeLow; //声明文件大小
BYTEbuf[1024]; //定义一个1024 字节的缓冲区
memset(buf,0xbf,1024); //初始化这个缓冲区
hFile CreateFile(szfileName,GENERIC_WRITE|GENERIC_READ,0,NULL,OPEN_EXISTING,FIL
E_ATTRIBUTE_NORMAL,NULL);
//上面这个api是用于文件操作,创建文件实例句柄的一个api 用法去查msdn
dwSizeLow GetFileSize(hFile,dwSizeHigh); //获取文件大小
printf(file:%sSize:%d \r\n,szfileName,dwSizeLow); //打印出文件名字的大小
ReadFile(hFile,buf,dwSizeLow,dwSizeHigh,NULL); //把文件读取到我们定义的buf[1024 }
int_tmain(intargc,_TCHAR*argv[])
{
if (argc 2) //这里采用了命令行参数
{
ShowFileInfo(argv[1]); //main 的第二参数就是我们的文件名指针
}
system(pause);
return0;
}
代码的功能是将工程目录下的一个文件读取到我们自己定义的一个
1024 字节的数组中.
我们现在已经定义好了一个1024个字节的字符数组,我们还需要构造一个文件,来覆盖掉函数的返回地址,我们使用
mona.py 这个py 脚本来随机生成定长的字符串,需要python2.7 以上环境支持.这个脚本是放在我们这个ImmunityDebug
里面的,当然你也可以在Windbg 中使用它 那需要装个pykd 打开调试器输入!Mona如下所示就说明可以用了
使用!Mona pc 1024 用于创建1024 个字节的畸形数据 自动保存到ImDebug 的目录下
parttern.txt 中
下断点开始调试F11 到这里的时候发现buf 的数据
可以看到数组元素都被初始化成了bf,然后看这里我们如果加长字符串似乎能够覆盖掉这个
地址,替换成我们想要的地址 还需要47 个字节才能覆盖掉.我们返回上一步重新生成一个
具有1024+47=1071 字节的字符串。
程序确实溢出了,我们搜索字符串6Bi7 然后找到替换成我们的跳板 跳板我们选择jmp esp
执行了jmp esp 之后就会继续执行栈中数据了,我们先在进程空间内找到一个跳板
跳板地址 761616E7 然后用二进制编辑软件打开1.txt 找到6Bi7
您可能关注的文档
- 中国航天-东丽中学校园网.PPT
- 中国自然灾害及防灾减灾中国地震灾害.PDF
- 中国西部冬油菜种植的生态效应评价-应用生态学报.PDF
- 中国胶东焦家式金矿类型及其成矿理论-吉林大学学报.PDF
- 一周行情回顾NYMEX10月原油LLDPE0911合约PVC0911合约.DOC
- 一种提高电法勘探深度.DOC
- 一种新技术----经尿道微创精囊电切术治疗严重血精-第三军医大学学报.DOC
- 一级结构工程师专业考试.DOC
- 七年级上学期期末复习资料-021mecocom.DOC
- 万州经开区盐化园南环路及周边地块雨污水工程-Sussexjapclub.DOC
- 精品解析:北京市西城区三十五中2025-2026学年高二上学期期末生物试题(解析版).docx
- 胆管结石患者的活动指导.ppt
- 精品解析:北京市延庆区2025-2026学年高二上学期期末考试物理试卷(解析版).docx
- 精品解析:北京市延庆区2025-2026学年高二上学期期末考试物理试卷(原卷版).docx
- 精品解析:北京市西城区三十五中2025-2026学年高二上学期期末生物试题(原卷版).docx
- 精品解析:北京市一零一中学2025-2026学年高二上学期期末练习(原卷版).docx
- 精品解析:北京市中关村中学2025-2026学年高二上学期期末化学试题(解析版).docx
- 精品解析:北京市中关村中学2025-2026学年高二上学期期末化学试题(原卷版).docx
- 精品解析:北京市中国人民大学附属中学2025-2026学年高二上学期期末考试 化学试卷(原卷版).docx
- 精品解析:清华附中2025~2026学年高二第一学期期末化学试题(原卷版).docx
原创力文档

文档评论(0)