在羊城杯2024的 Hard Sandbox 中,有RET_TRACE的沙箱,因此如何构造rce并绕过限制的问题,就来到了如何使用ptrace上。ptrace作为Linux的syscall,已经存在很久了,相关的文档也很完善,具体细则可以通过man ptrace查看,这篇博客主要讲讲一些值得注意的点。
-
Ptrace syscall 初学者常见困惑解答
-
羊城杯2024 - logger
通过栈溢出覆盖返回地址并修改字符串内容,将"Buffer Overflow"替换为
/bin/sh,借catch块调用system获得shell。 -
羊城杯2024 - Httpd
通过验证HTTP/1.0协议和请求头,利用路径遍历和
popen函数,从靶机复制flag。 -
优化,还是过优化?
通过将温度、充电状态和电池容量的显示功能集成到一个C程序中,并进行syscall优化,最终实现了高效的tmux配置,但反思后认为过度优化并不必要。
-
看电影的学问——IMAX & Dolby Cinema
IMAX影院分为多代,选择优先级为IMAX GT > IMAX COLA = Dolby Cinema > IMAX Laser XT > IMAX氙灯,杜比影院也是不错选择。
-
DASCTF2024八月开学季 - clock
通过
vsnprintf格式化漏洞,利用%*c%6$lln覆盖puts@got为堆地址,执行自定义shellcode。 -
DASCTF2024八月开学季 - alphacode
使用
sendfile系统调用,通过异或解码与imul绕过 shellcode 字符限制,逐字节输出flag。 -
2024浙江通信行业职业技能竞赛 - awd
(信息安全测试员竞赛)下午的awd拿分拿到爽,最后团体第三
-
2024浙江通信行业职业技能竞赛 - parse
(信息安全测试员竞赛)通过栈溢出利用
getline输入,构造payload执行ROP,最终成功获取动态flag。 -
2024浙江通信行业职业技能竞赛 - manage
(信息安全测试员竞赛)通过利用负索引访问GOT表,泄露libc地址并重定向函数实现shell获取。