-
-
[原创]一个exp的分析
-
发表于:
2014-9-19 08:31
3755
-
见:
dve3918利用调试分析
hcper @ 2014-9-14
这两三天无聊就调试了一下dve3918。
如果不从二进制方面调试一下的话,就感觉云里雾里。
这个利用比较通用,主要是通过清除vbscript的安全模式为零,达到运行目的的。
但是脚本层面如何定位这个变量的地址是个问题。
漏洞层面提供的功能是可以越界操作内存,可以移动数据。
这个利用先是占用一段内存,释放一些内存制造一些坑,后续分配的内部数组就紧靠布局数据。
(不清楚内存的分配机制,感觉是为了可以预测或者分配呈现线性)
然后利用漏洞功能移动数据,把某项布局数据的尾部清零。
脚本层面通过对应关系再找出这个数组项,改写成特殊值,再利用漏洞功能移动数据,
改写数组中的数组的某项成为数组,以及泄露一个变量的地址作为操作空间。
这样就可以定位到任意地址了。
之后利用一个vbscript的null值初始化缺陷,通过混淆类型得到它的CScriptEntryPoint地址,
通过相关关系得到safemode地址。
清零后就可以执行了。
[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课