关于AWD
大概有半年多没有打过网络安全的竞赛了,最近被拉去打了国赛,当然是纯被打的角色,从前打的都是CTF,AWD的赛制、规则、注意点都与之有天壤之别。
不出意料没拿到什么奖,总结了一下国赛AWD的经验,自己还是小白,所以请大佬绕道。
一、赛前查的资料
赛前从网上找了大量的AWD经验贴,总结出以下内容:
<pre class="prism-highlight prism-language-markdown">1、备份网站
网站
情况一:
tar -zcvf /tmp/web.tar.gz /var/www/html/*
情况二:
ftp下载到本地
2、备份mysql
方法一:
mysqldump -u root -p test > /tmp/test01.sql(test是数据库名,具体名称可以看网站目录config文件)
方法二:
ftp下载网站目录下面的xxx.sql文件
3、恢复网站,mysql
4、修改ssh密码,mysql密码,网站后台密码
ssh密码修改:
命令行输:passwd
ssh新密码:Hzsf123456!
mysql密码修改:
mysql命令行下(mysql -u root -p)
set password =password('Hzsf12345!');
网站后台密码修改:
后台账号密码一般保存在数据库里,修改也直接在数据库修改即可
show databases;
use test;
show tables;
select * from admin;
update admin set user_name="admin123"; 前一个是原账号
update pass set user_pass="admin1234"; 前一个是原密码
5、关闭多余端口(22,80,3306保留)
netstat -a查看当前开放端口
lsof -i:999查看999端口的进程
kill pid杀进程
D盾,注释代码,不要删文件
结果国赛赛场上基本都用不上。首先,ssh使用公私钥,没有密码;mysql密码没有修改权限(事实上由于最后目的是getshell再从shell获取flag,所以sql的漏洞基本上都用不上)。
给我们的ssh账号是xctf不是root,除了修改题目外没什么其他的权限,所以要完成上述除了备份以外的工作,要么尝试提权要么放弃。
二、队伍成员结构
还是web手和pwn手越多越好,我一个MISC手赛场上只能帮着交交flag,或者队友的payload拿过来写写脚本,其他什么忙都帮不上。配合默契,最好找到漏洞后,修复过程和写脚本过程一起进行,可以节省大量时间,同时,避免写完脚本对手已经修复漏洞的同时自己还没修复完。
由于初赛还是CTF,所以需要平衡人员比例。MISC/CRYPTO还是要的,起码要保证能进区域赛。
三、队伍时间分配
上半场
按国赛的AWD规则来说,比赛开始时先攻击更占优势。此时,别人都没有修复完成,只要手速够快,所有队伍都能打通。同时,由于大多数队伍都没有完成exp编写,此时拿到各队伍的分数自己一个队分,一轮里拿到几千分轻轻松松。
下半场
比赛进入中期后可以开始进行修复过程。这里的中期,指有部分队伍已经完成了修复。此时,大部分队伍都已经编写完exp,都可以拿到flag,一个flag的分数下降到开始的几十分之一。而如果此时仍不对题目进行修复,则可能被其他队伍getshell并提权破坏环境,导致check不过扣更多的分数。
注意:如果想在比赛上半场修改,有check失败风险的时候请慎重,这时候别人的环境都是好的,如果只有你一个没有过,会被直接拉开分数差。
四、题目的修改
如果直接通过ssh在服务器上修改没事,如果是在本地修改完再上传,需要看一下上传以后题目的文件权限。如果没有执行权限就需要chmod一下,否则check一定过不了。
是否存在直接重写一个功能一样的程序的可能性?
五、工具的准备
局域网文件传输
用U盘传文件很麻烦,比赛时候也不能使用互联网的通信软件,所以最好找一个队友间文件传输的方法,FTP或者 飞秋?
各种各样的扫描器
扫描器用的好可以大量节省代码设计的时间,D盾、seay基本必备。
通常题目都不难,或者说基本上都能找到一种方法去拿别人的flag,此时就拼速度了。一方面是在别人修复前打完,一方面是在别人开始攻击前先攻击。
flag提交脚本
平时积累,或者通过各种渠道了解比赛使用的平台,一般同一个公司的平台提交flag接口都是一样的,或者只需略作修改。这次比赛平台上给的接口是错的,需要自己抓包重写接口。
六、分析赛制
能否使用waf、文件监控、流量监控
能否上传不死马,是否允许恶意破坏其他队伍环境(搅屎),是否允许dos攻击(这个一般不会允许)等。
如比赛规定不能使用waf、文件监控,但是最后才得知是允许流量监控的。
七、违规举报
AWD违规行为比CTF多得多,因此发现其他队伍有违规行为要及时举报,给别人扣分就是给自己加分。