BUU-mrctf2020_shellcode_revenge-WP(可见字符shellcode)
这道题大概又是以为call了rax所以无法F5,不过这个的关系倒是不大,代码逻辑还是好理解的

我们要做的就是执行到右边的语句,为了执行右边我们需要执行左边的语句strlen(buf)次,也就是说buf(我们输入的字符串)中必须满足之前的条件。也就是每个字符的ASCII码必须属于(0x60,0x7A]∩(0x2F,0x5A]才会执行code。到这里之后我就不会了,于是我搜了一下别的师傅的wp,原来这个属于string.printable,就是可见字符shellcode。这里使用alpha3就可以生成了。
…
学习 pwn 的过程中的一点心得
值得注意的东西
与exp的动调
在 exp 中先指定 terminal,即添加一句
context.terminal = ['tmux','splitw','-h']
然后在创建进程变量后,添加
gdb.attach(proc.pidof(sh)[0]) #这里的sh是进程变量
这样调试时先打开tmux,然后就可以动态调试了
加载指定的libc:
io = process(['./bin'],env= {"LD_PRELOAD":"./libc-2.23.so"})
可能很有用的东西
…BUU-picoctf_2018_shellcode-WP
这道题的源程序有700多K,看起来非常大,但是打开之后发现实际上只有两个函数是有用的,即main和vuln。 但是由于不明原因(也许是函数太多?),无法反编译,我们就只能干看汇编了。
…