pwn
bunner_
这个作者很懒,什么都没留下…
展开
-
adworld-pwn-guess_num
本题考查知识点srand()函数和rand()函数的随机数生成规则gets()函数漏洞 – 实现栈溢出check_sec扔到IDA分析代码逻辑srand()函数和rand()函数前者设置随机种子,后者产生随机数设置随机种子之后,随机数是循环产生的从上图中可以看到v8和seed之间的位置关系,而v8是通过gets()函数输入的,我们可以通过栈溢出,从而达到设置seed的目的v8 占用0x20个字节seed 占用8个字节所以我们构造下面的payload即可设置se.原创 2020-10-21 23:47:16 · 209 阅读 · 0 评论 -
adworld-pwn-level2
必要知识点:32位系统函数调用使用堆栈传参其调用时栈的结构如下:返回地址 -> 参数n -> 参数n-1 -> … -> 参数1将elf文件扔到IDA中跟进到vulnerable函数,里面有输入函数,可以用来做栈溢出再看到有system函数又在shift+f12字符串窗口里面看到/bin/sh所以就是构造ROP链,通过栈溢出调用system函数,并将/bin/sh压入栈中作为参数找到system的地址: 0x08048320找到/bin/sh地址:0x080原创 2020-10-17 00:23:03 · 202 阅读 · 0 评论 -
adworld-pwn-int_overflow
查保护机制NX,查架构32位扔到IDA中,发现是让你登录,输入用户名,输入密码,再绕过检测即可所以这里就是控制密码位数,然后在相应位置插入我们的目标地址,使得check_password函数的返回地址为目标地址目标地址怎么找?传统艺能[shift+F12]找到了what_is_this函数,其首地址为0x0804868B绕过长度限制需要我们的payload的长度为[260, 264]目标地址填充在哪?dest的首地址为[ebp - 14h]栈的结构是这样的:位置内容原创 2020-10-16 21:41:34 · 98 阅读 · 0 评论 -
adworld-pwn-level0
工具:kali + IDA + pwndbg + pwntools1、将文件扔到IDA中,跟着main函数走找到vulnerable_function上述可以看出来buf的空间只有0x80B,而_read却读入了0x200B的数据,明显的栈溢出利用shift+F12查看字符串发现了这玩意,跟过去发现它被callsystem函数调用那么,我们接下来的操作就是通过栈溢出让vulnerable_function的返回指令返回到callsystem来根据vulnerable的汇编代码来看原创 2020-10-16 11:15:23 · 237 阅读 · 0 评论