首页 > TAG信息列表 > pwnme

攻防世界(6):CGfsb

查壳,Pie没开,但开了canary和NX,无法直接覆盖返回地址或使用shellcode 逛该ida 发现pwnme是拿到flag的关键 利用printf(%s)的特性可以泄露偏移地址 可以看这个博客学习格式化字符漏洞 得到偏移量为10(数一数)41414141是第几个出现的 编写exp,利用%n修改pwnme的值,由于p32(addr_pwnme)占4

1.入门新手看完别人写的wp,然后自己写,攻防世界CGfsb格式化字符串漏洞

我们拿到一个文件,扔到linux终端里 checksec一下 我们可以看到这是一个开nx了的32位的文件,我们打开x86ida,按f5查看伪代码,可以看到 这个当pwnme=8的时候 flag 就出来了 我们发现 他的上面有一个printf(const char*)v8 正常的应该是printf(’%s",s), 我们当然可以这样写,但是这

CGfsb

这里补充一下%n是代表向参数赋值打印的字符个数 例如printf("AAAA%n",&a); 代表的是向a写入4 printf("AAAA%1n", &argu1) 代表的是将打印字符的个数值写入参数1中. printf("AAAA%2$n", &argu1, &argu2, &argu3......) 使用'$'符号来进行参数的选择 代表的是将打印字符的个数写入参

十一月百度杯pwnme 详细wp

目录 程序基本信息 程序溢出点 整体思路 exp脚本 成功获得flag 参考 程序基本信息 可以看到开启了栈不可执行和got表不可写保护。 程序溢出点 在函数sub_400AF7中,v8可以读入0x12C个字节,同时if判断中对v8进行字节截断,所以我们可以输入如0x101个字符,在保证能够溢出到返回地

攻防世界pwn新手练习(CGfsb)

CGfsb ok,按照惯例,拿到程序后先扔到Linux下查一下基本信息 32位程序,开了NX(堆栈不可执行)以及CANNARY(栈保护) 貌似有一丝丝头疼嗷,咱们运行一下,看看它的程序逻辑 唔,是一个留言板,可以输入的地方有两处,一处是名字,一处是留言内容。ok,可以扔进IDA分析了。 F5后直接看程序伪代