Skip to content

Pwnable.kr 题目总结记录

复制本地路径 | 在线编辑

这是我之前做 pwnable.kr 的一些题目记录,当时是本科快毕业前,疫情在家做了一些,然后读研的时候,上半学期也做了不少,后面就没太做了。

简单题目摘要

大部分是[Toddle's Bottle]的题目,也有一些[Rookiss]里我感觉比较简单可以用一两句话总结的题目。

  1. 知道加壳的程序是长什么样:完全很乱,没有main方法,去壳加壳命令: upx
  2. rand()随机数如果没有srand(),默认种子为 1,所以会被直接暴力破解
  3. rand()随机数如果为srand(time(0)),可以通过获取当前时间暴力破解,具体方式查询Python那个记录
  4. XXM 寄存器 && movntps 需要地址 0x10 对齐
  5. 遇到fopenfclose 返回值没有处理的,尝试使用ulimit -f 0,这样会使文件写入大小为 0,无法写入内容
  6. 一般来说,一个程序的canary是始终一致的,也就是其各个函数的canary都是一样的。

题目总结

题目 总结 情况
fd 水题
collision 水题
bof 水题
flag 水题,初步了解了什么是加壳去壳
passcode 好题,一是如何输入不可打印字符,二是对函数并列要敏感一些 05.passcode.md
random 水题,只要知道 (2, 3)
input 好题,非常能够帮助理解 C++ 的一些特性 07.input.md
leg 好题,非常能够帮助理解 ARM 汇编 08.leg.md
mistake 水题,就是将 C++ 运算符优先级,关键还不好看出来,太坑
shellshock 水题,就是一个简单已发布的bash漏洞
coin1 水题,就是用 Python 写个二分算法即可
blackjack 水题,就是尝试输入负数找到漏洞
lotto 水题
cmd1 中等,处理命令行过滤系列 14.cmd1.md
cmd2 中等,处理命令行过滤系列 15.cmd2.md
uaf 中等,C++ 虚函数 16.uaf.md
memcpy 中等,只要知道 (4)
asm 水题,写汇编,使用shellcraft即可
unlink 好题,需要总结 19.unlink.pdf
blukat 水题
horcruxes 中等偏下,没什么特别的技术
brainfuck 好题,需要总结 22.brain_fuck.md
md5 calculator 中等,需要知道 (6)(3)
simple login 好题,Control ebp,control the world
otp 水题,只要知道 (5)
ascii_easy 水题,里面用了奇技淫巧,现实生活应该用不到,不过还是记录一下 26.ascii_easy.md
tiny_easy 好题,首先记录题解,然后是 debug 过程,最后是 pwntools 的注意点 27.tiny_easy.md
fsb 中等,但是需要总结一下 FSB 的利用方式 39.fsb.md
dragon 水题,是程序逻辑上的漏洞,也算是第一次遇到吧
fix 中等,但是需要总结一下出错的原因,输入理解汇编代码执行原理 30.fix.md
syscall 好题,内核权限提升题,需要写一下 31.syscall.md
crypto1 中等,只要把找到的 AES 讲解记录一下就好 32.crypto1.md
echo1 水题,缓冲区溢出而已
echo2 中题,我竟然直接用缓冲区单独就做出来了,可以记录一下 34.echo2.md
rsa calculator 好题,我竟然也是直接用缓冲区单独就做出来了,有好几种做法 33.rsa_calc.md
note 好题,太精美的题目 35.note.md
alloca 好题,首先要说 alloca 是什么,然后我的想法为什么不对 36.alloca.md
loveletter 中等,我就不应该看题解的,这种自己可以做出来的就不要看题解!! 37.loveletter.md
rootkit 好题,需要写几篇相关文章 38.rootkit.md
dos4fun 好题,必须好题啊,没做出来! TODO
ascii 好题,主要就是可打印的写法,竟然我自己就写出来了,还有使用到了 VDSO 40.ascii.md
aeg 好题,首先是 angr 使用,然后就是这道题的做法步骤了 41.aeg.md
coin2 中等,转成经典的毒药问题这种思想非常值得借鉴
maze 好题,主要是有一个多重 if 语句要强调一下,然后就是思路利用 43.maze.md
wtf 水题,就一个难点,父子进程的缓冲区变量问题
sudoku 水题,简单的算法题目
starcraft 好题,必须好题啊,必须要全过程写一遍,有很多综合点 46.starcraft.md
cmd3 中等, 处理命令行过滤 系列 47.cmd3.md
elf 好题,同样需要把思路写一遍,属于回头看也很有收获的那种 48.elf.md
lfh 好题,一天半完成,主要是调试思路可以写一下 TODO
asg 好题,必须要记录的题目 50.asg.md
exploitable 水题,直接 one_gadage 就可以了,就这就这就这?
unexploitable 水题,两种方法都很简单,一种是常规思路,一种是 SROP TODO

目前的问题

  1. dos4fun 这个就相当于没做出来
  2. 如何输入不可见字符
  3. STDIN@GLIBC2.0 是什么