浏览模式: 标准 | 列表2009年01月的文章

删除SMSclient

记录下
免的将来自己忘了。

» 阅读全文

Fix Index for The.Shellcoders.Handbook.2...

一本好书,2nd目前市面上流行的pdf版本是没书签的,这点比较郁闷,自己动手加了一个。记录下过程。

» 阅读全文

[炒冷饭]ESP定律之脱衣舞

ESP定律是炒的很老的一个东东的,简单介绍下原理

压缩壳可以理解成良性的loader,在完成原程序的释放后不参与程序的运行,解压后由pe原来的机制来进行程序运行。相当于用真空袋装被子,要拿出来用的时候还是一样的(import table等)。

ESP定律的根据是压缩壳在进入自身代码和离开自身代码的时候堆栈必须保持平衡来打着寻找OEP的目的的。

进入操作

实验程序是个98notepad,OD载入,停在如图位置:

大小: 35.3 K
尺寸: 400 x 101
浏览: 123 次
点击打开新窗口浏览全图

F8单步一次,过pushad

这时候已经完成程序进入之处的寄存器环境保存,看当前esp值。

大小: 7.58 K
尺寸: 207 x 117
浏览: 112 次
点击打开新窗口浏览全图

这里即进入之初的栈顶位置,根据堆栈平衡原理,当压缩壳完成解压的时候需要保持平衡,即在popad之后会再次访问当前esp指向地址。

hr 0012ffa4

下硬件访问断点。

然后F9运行,程序被断在了出口附近,如图:

大小: 45.6 K
尺寸: 400 x 76
浏览: 127 次
点击打开新窗口浏览全图

当前esp保持为0012ffa4

程序停在popad后

接下来是个变形的jmp

push 后ret

就到OEP了

dump后执行正常。

OVER。

ps:几乎所有的压缩壳就可以esp脱衣服。记录下。慢慢学

 

 

 

统计时用到的一些东东

统计的时候有用,记录下

xargs -i 加入这个参数后可以用{}指定管道前方传来的参数在后面命令的参数表位置

grep -l

因为要确认某一类型的文件,就用grep -il "<!DOCTYPE sqlMap" *.log 来得到文件列表,然后可以通过xargs传入下一步进行处理

最后,记录下两条实际中使用的

find ./ -name "*.xml" |xargs grep -il "<!DOCTYPE sqlMap" | xargs grep -ni "\$" | wc -l

find ./ -name "schema" | xargs -i find {} -name "*.xml" |xargs grep -ni "\$" | wc -l

收工,闪人,睡觉