-
-
[原创]32字节dat文件提交,利用ROP技术构造,膜拜10字节大牛
-
发表于: 2010-10-19 21:40 4536
-
ROP(Return Oriented Programming):连续调用程序代码本身的内存地址,以逐步地创建一连串欲执行的指令序列
首先执行到0040116A |. FF12 call dword ptr [edx] 这句,相信大家都跟到了,F7步入后,esp离我们自己的数据还有段距离,要想到达我们的数据,需要提高esp的值再retn,经过一番搜索,找到这里:
00401B89 |. 5F pop edi
00401B8A |. 5E pop esi
00401B8B |. 5D pop ebp
00401B8C |. 5B pop ebx
00401B8D |. 83C4 44 add esp, 44
00401B90 \. C3 retn
控制retn的值,直接到达这里:
004011CC . 6A 00 push 0
004011CE . FF15 10854000 call dword ptr [408510] ; user32.MessageBoxW
004011D4 . C3 retn
当然,窗口的标题和内容随我们的文件压入栈中作为messagebox的参数
好了,弹出messagebox,注意下一句return的时候,要控制程序流程,我们已经
达到了我们的目的,所以这里直接推出进程了,return到这里
0040131C |. 68 FF000000 push 0FF ; /ExitCode = FF
00401321 \. FF15 34504000 call dword ptr [<&KERNEL32.ExitProces>; \ExitProcess
技术比较差,,另外,十分膜拜10字节,8字节以及1字节大牛,好想快点看到大牛分析,哈哈,这个比赛不错~~
首先执行到0040116A |. FF12 call dword ptr [edx] 这句,相信大家都跟到了,F7步入后,esp离我们自己的数据还有段距离,要想到达我们的数据,需要提高esp的值再retn,经过一番搜索,找到这里:
00401B89 |. 5F pop edi
00401B8A |. 5E pop esi
00401B8B |. 5D pop ebp
00401B8C |. 5B pop ebx
00401B8D |. 83C4 44 add esp, 44
00401B90 \. C3 retn
控制retn的值,直接到达这里:
004011CC . 6A 00 push 0
004011CE . FF15 10854000 call dword ptr [408510] ; user32.MessageBoxW
004011D4 . C3 retn
当然,窗口的标题和内容随我们的文件压入栈中作为messagebox的参数
好了,弹出messagebox,注意下一句return的时候,要控制程序流程,我们已经
达到了我们的目的,所以这里直接推出进程了,return到这里
0040131C |. 68 FF000000 push 0FF ; /ExitCode = FF
00401321 \. FF15 34504000 call dword ptr [<&KERNEL32.ExitProces>; \ExitProcess
技术比较差,,另外,十分膜拜10字节,8字节以及1字节大牛,好想快点看到大牛分析,哈哈,这个比赛不错~~
赞赏
他的文章
看原图
赞赏
雪币:
留言: