当前位置: 首页 > news >正文

AWD相关知识

AWD

AWD:Attack With Defence,即攻防对抗,比赛中每个队伍维护多台服务器(一般两三台,视小组参赛人数而定),服务器中存在多个漏洞(web层、系统层、中间件层等),利用漏洞攻击其他队伍可以进行得分,加固时间段可自行发现漏洞对服务器进行加固,避免被其他队伍攻击失分。

  • 1.一般分配Web服务器,服务器(多数为Linux)某处存在flag(一般在根目录下);

  • 2.一般每个队伍会给一个低权限用户,非root权限;

  • 3.各队一般都有一个初始分数;

  • 4.flag一旦被其他队伍拿走,该队扣除一定积分;

  • 5.得到flag的队伍加分;

  • 6.flag在主办方的设定下每隔一定时间刷新一轮(大概是10分钟);

  • 7.主办方会对每个队伍的服务进行check,服务器宕机扣除本轮flag分数,扣除的分值由服务check正常的队伍均分。

准备时间

一般AWD会有30分钟准备时间

  1. 登录

    1. SSH登录

      1. 命令格式为: ssh -p 指定端口号 用户名@ip

      2. 使用Finalshell或者Xshell等图形化服务器管理软件

    2. 密钥登录

      1. sftp -i id_rsa ctf@192.168.182.130

  2. 修改密码

    1. 官方在给出服务器密码时,很有可能是默认的,那就需要赶快修改自己的密码,但一般主办方给的是随机密码。

    2. 如果发现每个队伍的SSH账号密码都是一样的,需要立即修改口令,如果被其他队伍改了那就gg了,同时要准备好批量脚本,一旦是默认密码,可以直接利用。

    3. ssh修改密码 (passwd)

    4. mysql修改密码

      1. 方法一: show databases; use mysql; set password for root@localhost = password('123');

      2. 方法二:update user set password = PASSWORD('需要更换的密码') where user='root'; flush privileges; show tables;

    5. Web后台很有可能存在弱口令,需要立即修改,也可以修改其他队伍的后台口令,为本队所用,说不定可以利用后台getshell。

  3. 备份源码 比赛开始后第一时间备份服务器中web目录下的文件(/var/www/html),备份的目的在于万一对方利用漏洞进入你的靶机将你的WWW下的目录给删除了,可以及时恢复,如果你没有备份就相当于宕机了。

    1. 目录打包

2. 数据库备份

- 备份指定的多个数据库

mysqldump -uroot -proot --databases DB1 DB2 > /tmp/db.sql

无 lock tables 权限的解决方法

mysqldump -uroot -proot --all-databases --skip-lock-tables > /tmp/db.sql

- 恢复备份(在 MySQL 终端下执行)

source FILE_PATH

3.下载到本地
    scp -P ssh_port user@host_ip:/tmp/bak.sql local_file 

防御思路

  1. 在准备时间,把打包好的源码解压到本地,使用漏洞扫描器(D盾,河马等)进行扫描,查看是否有后门

  2. 可以使用 seay源码审计系统进行代码审计

  3. 我们可以对自己的靶机进行端口扫描

 以下是一些服务端口的漏洞:  
    22:ssh弱口令  
    873:未授权访问漏洞  
    3306:mysql弱口令  
    6379:redis未授权访问漏洞

  1. waf的作用: 最重要是分析流量,别人攻击我们的时候,我们可以看到别人的攻击方式。这样的话即使我们找 不到攻击点,非常苦恼的时候,我们就可以分析流量,使用别人的攻击方式。 可以直接进行防御,类似于一台防火墙(一般的比赛是不允许使用的,毕竟比赛时间短,就根本绕不过去waf,那比赛就没意思了)

    有些比赛是不允许上通用waf的,check机制可能会check到waf过滤的参数,导致宕机,waf部署需要谨慎,还需要注意的是:上完waf检查服务是否可用,部分检查允许使用部分小的waf,会检查页面完整性、服务完整性。

    常用的waf使用方法,是用你要保护的文件去包含这个waf.php。比如说,你要保护select.php,那么你就在select.php里面写上一行include './waf.php'或者 require_once('waf.php'); 如果你要保护所有文件,那么就在config这种配置文件里包含waf,因为这种config的文件,一般会被大部分功能页面调用

    1. )AWD_PHP_WAF 项目地址:https://github.com/NonupleBroken/AWD_PHP_WAF

    2. )awd-watchbird 这是个通防waf,支持流量转发和替换flag 项目地址:GitHub - leohearts/awd-watchbird: A powerful PHP WAF for AWD

  2. 流量监控 即使不能上waf,外面也可以准备一个流量监控脚本,来帮助我们进行流量分析,获取对方的攻击流量,我们也能以同样的方式去攻击其余队伍。

  3. 清除对方的攻击 ps aux查看进程,查看是否有异常的进程,不清楚什么是异常的进程,可以在开始时查看一下并记录下来,被攻击时,对照着记录,清理其余进程。 kill -9 pid

攻击思路

  1. 主机发现 准备好扫描一个网段的脚本,靶机一般都在同一个局域网

  2. 后门利用 我们在准备时期扫到的后门,可以尝试利用。 如果连接成功,可以先不急着提交flag,尝试进行权限维持,写入不死马,这样我们就能一直拿他flag。

  3. AWD一般使用CMS,尽量多收集一些CMS和对应的POC

  4. 攻击web服务,访问对方的网站,尝试各种攻击手段

最后:

保持良好的心态,不到最后一刻都有翻盘的可能

找出漏洞拿到shell,权限维持后,尽量把这个洞给被控机修了,以免被别人拿到shell

不仅要保证自己能拿到shell,还有保证别人拿不到shell

拿shell前先打一波流量,混淆视听

保证自己的网站上没有d盾可以扫出来的后门

提高python脚本编写能力

webscan --url http://192-168-1-251.pvp5796.bugku.cn/ --html-output single-url1.html

http://www.dtcms.com/a/358697.html

相关文章:

  • Scikit-learn Python机器学习 - 数据集介绍
  • 矿物类型分类实战:从数据预处理到多模型对比
  • 幻觉与模仿:深入剖析当前大语言模型为何未能跨越“理解”与“推理”的鸿沟
  • TuringComplete游戏攻略(2.1算数运算)
  • 基础的汇编指令
  • 如何快速了解项目管理基础
  • 【机器学习入门】4.1 聚类简介——从“物以类聚”看懂无监督分组的核心逻辑
  • destoon8.0使用post插入keyword热搜到表
  • 深入理解shared_ptr与循环引用问题
  • 超越传统SEO:用生成引擎优化(GEO)驱动下一轮增长
  • 【蓝桥杯 2024 省 Python B】缴纳过路费
  • Markdown 文件编辑基础教程
  • 基于YOLO8的垃圾识别检测系统(数据集+源码+文章)
  • 【开题答辩全过程】以 线上游戏商城为例,包含答辩的问题和答案
  • Java学习day_14之API(正则表达式)
  • 【LeetCode】大厂面试算法真题回忆(121) —— 经典屏保
  • 嵌入式Linux驱动开发:蜂鸣器驱动
  • 图解LLM(AI大模型)的工作原理
  • SRE命令行兵器谱之二:lsof - 解密“端口被占用”与“文件句柄泄漏”的终极侦探
  • 吴恩达机器学习作业九:kmeans聚类
  • php电子签名
  • 2025年09月计算机二级MySQL选择题每日一练——第十二期
  • Rust 登堂 之 Sized和不定长类型 DST(七)
  • LabVIEW 时间字符串处理与显示
  • 继电器的作用、选型和测量-超简单解读
  • 算法题(195):点名
  • 【学Python自动化】 2. Windows Python 解释器使用笔记
  • 【shell】Shell脚本中的if判断条件和文件测试操作符
  • “人工智能+”政策驱动下的技术重构、商业变革与实践路径研究 ——基于国务院《关于深入实施“人工智能+”行动的意见》的深度解读
  • STM32的内存分配与堆栈