国调选拔赛pwn
一共三个题:
(1) pwn
(2) scada
(3) fes
第一题:
题目给了提示用srop,但是完全可以不用这么打,利用re2csu就可以了,需要注意栈空间还有rbp,
这里我把rbp布置成了bss段上的一个地址,就是为了防止程序执行不下去,然后前面填充的flag可以随意,以为没有用到这个(最开始我在考虑ORW,或者直接用vsyscall爆破onegadget,但是因为最开始不知道libc版本故放弃这个方法改为先csu泄漏地址,然后返回sys_read进行ROP),然后题目给的提示是SROP,也是可以做的,但是得调试,read返回值控制rax,然后执行syscall
第二题:
漏洞在add里面,当堆快填满到32的时候会修改到size_list(要注意堆的数量)
Exp:
因为gadget无法getshell所以必须使用realloc调整栈
第三题:
最后会解压log文件到目录,题目给了几个so文件需要加载到ida分析漏洞函数
目前想到的方法就是串改动态链接库,传入一个假的so文件去getshell,时间不够了,之后在复现
原文始发于微信公众号(由由学习吧):国调选拔赛pwn WP
免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论