-->
当前位置:首页 > DayDayUp > 正文内容

关于AWD

Luz4年前 (2021-06-18)DayDayUp4388

大概有半年多没有打过网络安全的竞赛了,最近被拉去打了国赛,当然是纯被打的角色,从前打的都是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一定过不了。

image.png

是否存在直接重写一个功能一样的程序的可能性?

五、工具的准备

局域网文件传输

用U盘传文件很麻烦,比赛时候也不能使用互联网的通信软件,所以最好找一个队友间文件传输的方法,FTP或者 飞秋?

image.png

各种各样的扫描器

扫描器用的好可以大量节省代码设计的时间,D盾、seay基本必备。

通常题目都不难,或者说基本上都能找到一种方法去拿别人的flag,此时就拼速度了。一方面是在别人修复前打完,一方面是在别人开始攻击前先攻击。

image.png

image.png

flag提交脚本

平时积累,或者通过各种渠道了解比赛使用的平台,一般同一个公司的平台提交flag接口都是一样的,或者只需略作修改。这次比赛平台上给的接口是错的,需要自己抓包重写接口。

六、分析赛制

能否使用waf、文件监控、流量监控

能否上传不死马,是否允许恶意破坏其他队伍环境(搅屎),是否允许dos攻击(这个一般不会允许)等。

如比赛规定不能使用waf、文件监控,但是最后才得知是允许流量监控的。

七、违规举报

AWD违规行为比CTF多得多,因此发现其他队伍有违规行为要及时举报,给别人扣分就是给自己加分。

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。