赛制介绍
AWDP(AWD Plus)是一种综合考核参赛团队攻击、防御技术能力、即时策略的攻防兼备比赛模式。 每个参赛队互为攻击方和防守方,充分体现比赛的实战性、实时性和对抗性,对参赛队的渗透能力和防护能力进行综合全面的考量。 AWDP一般分为两个板块,Break(自己的payload打通)和Fix(让主办方的payload打不通)。–来自csdn
赛制流程
攻击
和正常 CTF 赛制一样,开启靶机打远程,提交 flag

防御
需要上传一个 tar.gz 压缩包,包含
- patch 后的可执行文件 / 网页
- 一个用于将 patch 后文件替换进服务器的 shell 脚本
ps:web patch 可能要求仅使用 sed 指令去 patch
shell 脚本示例:
#!/bin/sh
mv xxx /home/ctf/pwn
chmod 777 /home/ctf/pwn
打包指令:将 patch 后的文件和用于替换的 shell 脚本放在同一个目录中,在该目录中执行以下指令将所在目录下所有文件打包
tar -zcvf fix.tar.gz *
pwn patch 可以参考我的另一篇文章:https://starrysky1004.github.io/2024/04/26/awd-pwn/awd-pwn/

提交记录
这里会显示 check 结果,包括
- 服务异常:干扰了程序正常运行,也就是过度 patch
- exp利用成功:patch 后的程序仍然存在漏洞能够被主办方的 payload 打通
- 操作失败:用于替换文件的脚本执行失败,这种情况下在下一次的脚本里还需要还原上一次脚本的错误操作,否则可能一直操作失败
- 防御成功

奇技淫巧
实在没有思路的时候可以试试,大部分应该用不了的,不过也不要因为其中一题某种方式过不了 check 就认为其他都过不了,毕竟每题 check 可能不是一个人写的
- shell 脚本里写一些阻止获取 flag 的指令
- 上通防,pwn 上沙箱,web 上 watchbird
- 堆题将 free 直接 nop
- …