第五届强网拟态挑战赛预赛-pwn
本文最后更新于:2023年10月31日 下午
bfbf
通过run_bfbf函数中看到,brain fuck的指针指向的地址位于栈中,且没有限制偏移大小,所以可以利用 <
,>
或[]
将指针偏移到指定位置泄露run_bfbf的返回地址
,__libc_start_main函数地址
,并且可以控制返回地址,构造rop
程序中开启了沙盒,当程序执行过程中从非0
或1
句柄中读取数据,就退出程序,这让我们不能通过执行/bin/sh
获取设立了,且不能直接使用orw
读取flag文件,不过可以通过dup2
将open("flag")
开启的3句柄,转移到0
句柄上,这样就可以获取flag了
1 |
|
webheap
主要难点在于分析parse_packet
函数比较麻烦,通过delete
函数可以发现,程序存在uaf
漏洞,那么剩下的就简单了
1 |
|
webheap_revenge
程序主要逻辑与webheap
相同,所以交互的脚本不需要重新写,直接拿webheap
的就好了
分析程序发现,在执行edit功能
时,向chunk
中写入的数据长度为用户输入的数据长度,而且程序没有对输入数据长度进行限制,所以我们可以随心所欲的向程序发送任意长度的数据,就是说程序存在堆溢出
漏洞
1 |
|
第五届强网拟态挑战赛预赛-pwn
https://rot-will.github.io/page/wp/第五届强网拟态挑战赛预赛-pwn/