注:学习笔记来自安全牛课堂。感谢倪群主,感谢苑老师!
哈哈哈哈,哈哈哈哈,若想要知道溢出的某个精确的点,可以用有点笨的二分法,但是,还有一种方法,叫做唯一字符串方法。就是将2700个字符中,每四个为一组,每一个字符都不一样。这样,当看到EIP寄存器里面溢出的字符时,就知道是第几个字符溢出的了!非常机智的做法!
然后,只要将对应的脚本中发送的内容修改成这2700个唯一字符就可以了。
对照编码表看过之后,这四个数字分别是代表下面这幅图的意思
下面这幅图答案就出来了,查出来是第多少个字符开始溢出了:
2606这个值表示的是8Di9前面有2606个字符
为了更保险可以将2606个字符全设置成A,后面设置四个B,在后面设置20个甚至更多的C,然后看寄存器中能否成功写入四个B