EasyRMtoMP3Converter.exe 栈溢出无果之因

    近日开始学起了漏洞挖掘&分析,随着《Exploit 编写系列教程》来学习,首先第一章有关EasyRMtoMPConvert.exe的栈溢出,用mona来产生pattern定位时,发现个人ret_eip在26084偏移处,而教程中ret_eip在26094偏移处,开始没太上心。后面动态调试,探究了一下它的溢出过程,有以下发现shell

  1. 左边的地址标签表明分配空间的顺序,依次从底向上分配4914h,8918h字节空间;
  2. 以后第一次从文件中读取前400h字节到000FF748处,第二次将文件路径与文件内容组合起来复制到000F9128处(以00结尾),第三次再将000F9128处的内容复制到000F6E20处。
  3. 最后,收回8914h字节的栈空间并retn 4,此时000FF728处的内容已经被第二次000F9128复制覆盖了,因此这才使得咱们可以栈溢出。可是,由于这次复制带有文件路径,因此没法肯定文件中固定偏移内容会处于000F728处,这也致使了咱们的溢出没法随机产生。                                

    思考:当时有想用01010101之类重复单字节内容来覆盖ret eip,以控制eip到shellcode,但是01010101处太远而且与当前栈不在同一段...(各位师傅若有好方法,请不吝赐教~~~)学习

相关文章
相关标签/搜索