大佬们新手求教!bugku pwn第二题一直过不了。
ctf吧
全部回复
仅看楼主
level 2
烈日天穹 楼主
我直接贴上我的步骤,希望有大佬指点下哪里错了,卡了两天。
第一步 ,用file命令看文件位数,得到64位。
第二步,用ida64打开pwn2文件,找到get_shell_,记下位置0X0400751
反编译,看到代码cat flag为目的
第三步,进到main函数,发现字符数组a长度为48,且下面的read读取100个字符,意味输入超过48个字符会造成溢出
第四步,编写代码
import pwn form *
p=remote(ip,port)
flag=0X0400751
payload=b'a'*(48)+p64(flag)
2024年12月31日 03点12分 1
level 2
烈日天穹 楼主
然后我又参考了别人的解法,说用gdb来解题。
贴上gdb的解法:
打断点用rbq-rsp拿到插值为32,然后按照一开始的代码
用b'a'*(48
+3
2)+p64(flag)去打,也失败了
2024年12月31日 03点12分 2
level 2
烈日天穹 楼主
2024年12月31日 03点12分 3
level 10
2024年12月31日 05点12分 4
level 8
padding是0x30+8[呵呵]
2024年12月31日 06点12分 5
怎么算出来的[惊哭]
2024年12月31日 14点12分
@烈日天穹 0x30栈,0x8rbp,你看一下栈结构
2024年12月31日 15点12分
1