Web【AWD攻防技巧】
梳理信息资产
无论是从比赛,还是说实际工作方面,信息的收集往往是最重要也是最关键的。也正如那句话:
知己知彼,百战不殆。
因为是AWD模式,往往时间非常紧迫,因此我们需要知道一些常用的命令来快速找到一些有价值的信息
组件信息:
1 | find / -name "nginx.conf" #定位nginx目录 |
用户信息:
1 | awk -F:'{if ($3==0) print $1}' /etc/passwd#可查询可登录账户UID为0的用户 |
网站发现:
通常都位于 /var/www/html 中,如果没有试试 find 命令
1 | find / -name "index.php" #定位网站目录 |
日志发现:
1 | /var/log/btmp:登录错误信息 |
文件监控:
文件监控能及时木马文件后门生成,及时删除防止丢分。
1 | find / -type f -name "*.php" -mtime -7 #查找最近修改过的 PHP 文件(例如过去 7 天内修改的) |
其他常用命令:
1 | netstat -ano/-a #查看端口情况 |
安全加固
修改默认口令:
不限于服务器SSH口令、数据库口令,WEB服务口令以及WEB应用后台口令。
1 | passwd username #ssh口令修改 |
关闭不必要的服务端口:
1 | systemctl list-units --type=service #查看当前运行的服务 |
采用工具脚本等:
linux文件监控(网上找的)
1 | #!/usr/bin/python |
备份文件:
除了攻击成功可以让对手扣分,还能破坏对方环境使其宕机被check扣分;同时己方也有可能在修复过程中存在一些误操作,导致源码出错,致使服务停止;对页面快速恢复时,及时备份是必要的,因此页面备份至关重要。
压缩文件:
要注意的是 有的题目环境可能不支持 zip
1 | tar -cvf web.tar /var/www/html |
解压文件:
1 | tar -xvf web.tar -c /var/www/html |
备份到服务器:
1 | mv web.tar /tmp |
上传下载文件:
1 | scp username@servername:/path/filename /tmp/local_destination #从服务器下载单个文件到本地 |
备份指定数据库:
数据库配置信息一般可以通过如config.php/web.conf等文件获取。
1 | mysqldump –u username –p password databasename > bak.sql |
备份所有数据库:
1 | mysqldump –all -databases > bak.sql |
导入数据库:
1 | mysql –u username –p password database < bak.sql |
代码审计
将文件备份下来后,方便在本地开展代码审计等工作,因此为时间紧迫,我们可以使用一系列的查杀、审计工具等。
- D盾:查杀后门
- seay源代码审计:审计代码
AWD模式中存在的后门:
官方后门 / 预置后门
1
2# 可以使用下面的代码进行查找(通杀)
find /var/www/html -name "*.php" |xargs egrep 'assert|eval|phpinfo\(\)|\(base64_decoolcode|shell_exec|passthru|file_put_contents\(\.\*\$|base64_decode\('常规漏洞 如SQL注入 文件上传 代码执行 序列化及反序列化…
选手后门(选手后期传入的木马)
漏洞修复
在代码审计结束后,及时对自身漏洞进行修补,要注意的是漏洞修复遵循保证服务不长时间宕机的原则, 应当多使用安全过滤函数,能修复尽量修复,不能修复先注释或删除相关代码,但需保证页面显示正常。
应急响应
通过命令查看可疑文件:
1 | find /var/www/html -name *.php -mmin -20 #查看最近20分钟修改文件 |
不死马查杀:
1、重启服务
2、删除并创建一个和不死马要生成的马,名字一样的路径及文件
3、杀掉进程
1 ps [aux](https://so.csdn.net/so/search?q=aux&spm=1001.2101.3001.7020) | grep www-data | awk ‘{print $2}’ | xargs kill -94、条件竞争
杀进程后重启服务,写一个同名的文件夹和写一个sleep时间低于别人的马(或者写一个脚本不断删除别人的马)
比如写个马来一直杀死不死马进程:
1 system("kill -9 pid;rm -rf .shell.php"); #pid和不死马名称根据实际情况定
后门用户查杀:
UID大于500的都是非系统账号,500以下的都为系统保留的账号,使用userdel -r username 完全删除账户
其他查杀:
部分后门过于隐蔽,可以使用ls -al命令查看所有文件及文件修改时间和内容进行综合判断,进行删除。可以写脚本定时清理上传目录、定时任务和临时目录等
进程查杀
1 | ps -aux #查看进程 |
关闭端口
1 | netstat -anp #查看端口 |

