摘要: 查壳:开了Canary和NX,没开Pie ida查看每个函数的有用的意义(a1==v4) 函数 意义 main 引导进入sub_400D72 sub_400D72 获取输入,长度<12继续 sub_400A7D 获取输入,直到输入为 east 为止才能进行下一个流程 sub_400BB9 获取输入, 阅读全文
posted @ 2021-02-26 22:53 triplewings 阅读(111) 评论(0) 推荐(0) 编辑
摘要: 查壳,只开了NX,可以去拿shell 看ida,的确找不到system有关的函数,但发现了read的漏洞(read开的大小为100,比buf大),只能去拿附件中的另一个文件下手,这是一个运行库文件通过它来获得两者的地址 使用 pwntools,获得 write 和 system 的相对位置,0x99 阅读全文
posted @ 2021-02-26 20:59 triplewings 阅读(99) 评论(0) 推荐(0) 编辑
摘要: 查壳,只开了NX,可以利用栈溢出 level0是直接覆盖到运行system('/bin/sh')的函数,level2是先覆盖到call system的地址,然后覆盖/bin/sh 注意,如果覆盖的是system的地址,则要加上四位覆盖call之后的eip压栈,运行gdb可以看到eip压栈 shift 阅读全文
posted @ 2021-02-26 16:29 triplewings 阅读(96) 评论(0) 推荐(0) 编辑
摘要: 查壳,只开了NX,可以利用栈溢出 ida中的callsystem函数调用了/bin/sh 这题练习一下elf调用函数地址写exp #!/usr/bin/env python from pwn import * p = remote('111.200.241.244',35917) elf = ELF 阅读全文
posted @ 2021-02-26 15:59 triplewings 阅读(49) 评论(0) 推荐(0) 编辑
摘要: 查壳,Pie没开,但开了canary和NX,无法直接覆盖返回地址或使用shellcode 逛该ida 发现pwnme是拿到flag的关键 利用printf(%s)的特性可以泄露偏移地址 可以看这个博客学习格式化字符漏洞 得到偏移量为10(数一数)41414141是第几个出现的 编写exp,利用%n修 阅读全文
posted @ 2021-02-26 14:57 triplewings 阅读(82) 评论(0) 推荐(0) 编辑
摘要: 日常查壳,只开了NX保护,没有Pie,name的位置不会变 ida逛该,发现了system函数 要是system执行的是'/bin/sh'多好啊,刚好给了一个name可以用于构造'/bin/sh',后面的s用来覆盖就ebp就好了 exp直接payload #!/usr/bin/env python 阅读全文
posted @ 2021-02-26 13:55 triplewings 阅读(65) 评论(0) 推荐(0) 编辑
摘要: 查壳 ida分析(注意是32位的),找到目标地址0x0804868B 既然题目叫做整型溢出,我们来看看哪里可以溢出 这里我们需要利用&dest覆盖到ebp来达到重定位到上面whatisthis的目的,就必须使程序绕过if的限制条件,观察到strlen赋值的是一个unsigned_int8的数,读取完 阅读全文
posted @ 2021-02-26 11:05 triplewings 阅读(56) 评论(0) 推荐(0) 编辑
摘要: 第一步 checksec查壳 ida分析,可发现执行sub_C3E()时可以得到flag 于是我们想办法让程序执行到sub_C3E,需要连续猜对10次数字,我们发现程序通过seed生成随机数,如果能把seed覆盖为已知数,就很容易完成了,前面的gets刚好给我们覆盖的机会 gets的地址是var_3 阅读全文
posted @ 2021-02-26 09:26 triplewings 阅读(73) 评论(0) 推荐(0) 编辑
摘要: 本题是简单的栈覆盖,先查壳checksec 发现没开Pie ida显示自相矛盾 #看到gets想到利用v4将v5覆盖,查看栈帧发现0x18与0x20之间差8,直接写exp #!/usr/bin/env python from pwn import * p = remote('111.200.241. 阅读全文
posted @ 2021-02-26 07:11 triplewings 阅读(37) 评论(0) 推荐(0) 编辑