Ollydbg反汇编分析strcpy.exe的当输入16个字符会导致无限循环的缓冲区溢出漏洞.pdfVIP

  • 23
  • 0
  • 约1.16千字
  • 约 3页
  • 2022-05-10 发布于上海
  • 举报

Ollydbg反汇编分析strcpy.exe的当输入16个字符会导致无限循环的缓冲区溢出漏洞.pdf

Ollydbg反汇编分析strcpy.exe的当输⼊16个字符会导致⽆限循环的缓冲区溢出 漏洞 strcpy.exe缓冲区溢出漏洞分析 ⼀:测 strcpy.exe的主函数 1.利⽤IDA定位主函数 2.测试程序运⾏结束前,栈顶寄存器的值 (1) 当输⼊16个字符的时候,程序return前,主函数栈顶的值会变为401100。 (2) 当输⼊3个字符时,程序return前,当前栈顶的值为401135。 (3)发现当输⼊16个字符程序会循环执⾏的问题所在,是由于当前栈顶的值改变,导致程序⽆法终⽌运⾏,每⼀次都返回到 ⽽程序会接着进主函数的⼊⼝),所以程序会循环执⾏。 问题:是哪⼀步操作的失误导致栈内的值被修改?请往下看。 ⼆:通过ollyice调试程序。 1.定位到主函数的第⼀条指令,时刻观察0019FF34 内的值,观察什么时候会被改变。 2.观察发现:执⾏完0040102B这条指令之后,0019FF34内的值被改变⽽输⼊3个字符的正常程序该值不会被改变。 3.分析该条语句功能 rep movs byte ptr es:[edi], byte ptr [esi] rep指令常和串传送指令搭配使⽤ 功能:根据e

文档评论(0)

1亿VIP精品文档

相关文档