AWD平台搭建与使用入门
awd-platform
- 简单介绍
- 平台搭建
- 启动比赛
- 得分
- 结束比赛
简单介绍
比赛规则(新):
每个队伍分配到一个docker主机,给定ctf用户权限,通过制定的端口和密码进行连接;
每台docker主机上运行一个web服务或者其他的服务,需要选手保证其可用性,并尝试审计代码,攻击其他队伍;
比赛开始后,前30分钟,选手维护各自的主机,在这个阶段,所有的攻击和服务不可用不影响分数;
选手可以通过使用漏洞获取其他队伍的服务器的权限,读取他人服务器上的flag并提交到指定的flag服务器:
http://flag服务器IP:端口/fflag_file.php?token=队伍token&flag=获取到的flag 来获得相应的分数。
例如:flag server地址为8.8.8.8,端口为8080,队伍token为team1,flag为40ed892b93997142e46124516d0f5ac0,则请求http://8.8.8.8:8080/fflag_file.php?token=team1&flag=40ed892b93997142e46124516d0f5ac0来获得相应分数。
每次成功攻击可获得2分,被攻击者扣除2分;有效攻击两分钟一轮;
选手需要保证己方服务的可用性,每次服务不可用,扣除1分,服务可用,加1分;服务检测两分钟一轮;
选手可以从flag服务器上获取所有的攻击情况以及当前的分数:
攻击情况url地址:http://flag服务器IP:端口/result.txt
得分情况地址:http://flag服务器IP:端口/score.txt
平台搭建
因为平台已经做的比较集成化,所以安装还是很简单的。博主使用的是ubuntu安装。
首先需要下载赛题项目
旧 git clone https://github.com/zhl2008/awd-platform #这一条命令可以将文件下载到当前工作目录,文件名为awd-platform 新 git clone https://gitee.com/jikemofan/awd-platform.git
因为项目地址是在github上面,所以对某些国内用户可能会有一些网络问题,这里博主搬运了一下,上传到csdn上面了。(点击前往)
然后需要下载docker
sudo apt install docker.io
这里如果没有更换apt源可能会比较慢,网上搜了一个教程(点击前往),这里不做赘述。
下载docker镜像
sudo docker pull zhl2008/web_14.04 ##下载镜像文件 sudo docker tag zhl2008/web_14.04 web_14.04 ##更改镜像名称
这里可能会比较慢,换一下docker源就可以了vi /etc/docker/daemon.json
在文件中输入
{"registry-mirrors": ["https://registry.docker-cn.com","http://hub-mirror.c.163.com"] }
重启服务,之后再次尝试下载
service docker restart
下载好之后改名
启动比赛
首先是确认赛题和队伍数量
这里的web开头的都是赛题
输入命令创建队伍cd ~/awd-platform #切换到第一步下载的赛题项目文件夹下面 python batch.py web_yunnan_simple 2
这里创建了2个队伍,赛题是web_yunnan_simple
根据赛题修改check.py(awd-platform/check_server/目录下)文件,找到check类
class check():def __init__(self):print "checking host: "+hostdef index_check(self):res = http('get',host,port,'/','',headers)if 'Home' in res:return Trueif debug:print "[fail!] index_fail"return Falsedef test_check(self):res = http('get',host,port,'/about.php?file=header.php','',headers)if 'About' in res:return Trueif debug:print "[fail!] test_fail"return Falsedef test_check_2(self):headers['Cookie'] = ''data = 'key=1'res = http('get',host,port,'/services.php',data,headers)if 'Services' in res:return Trueif debug:print "[fail!] test_2_fail"return False
修改flag刷新时间,同样是check.py文件中,默认120s,2分钟
创建好队伍后就可以开始比赛了,输入命令启动比赛
python start.py ./ 2
查看创建的队伍机器
输入命令查看创建的虚拟靶机(docker创建的是容器,大家可以理解成为是虚拟机,不做详细介绍)
docker ps
可以看到这里多了2个名字分别为team1和team2的容器,并且观察这2行记录可以得到如下信息。主机端口 team1靶机端口 team2靶机端口 8801 80(web服务端口) 8802 80(web服务端口) 2201 22 (ssh连接端口) 2202 22 (ssh连接端口) 此时可以访问一下team1的网站
运行修改过后的check.py文件
得分
首先看一下当前比分,有2个地方可以看到。
第一个,访问http://ubuntu主机IP地址:8080/score.txt
很简陋,可以去找一个好看的替换它。
第二个,在ubuntu终端运行check.py脚本
现在模拟一下team2队拿下team1的flag
从team1的网站下手,观察了一下为网页,发现网站首页底部有一个命令注入点
3.尝试找到flag
首先尝试ls根目录
发现可以直接输出根目录信息,并且找到敏感信息flag,接下来继续在命令注入点输入cat /flag
成功找到一个flag。
提交fiag给自己的队伍加分。
加分的方法是访问一个为地址并且以get的形式上交flag
http://ubuntu主机IP地址:8080/flag_file.php?token=teamx&flag=xxxx (x为队伍号)
上传flag,flag正确的话就会显示success(有可能会提示没有这个flag,有可能是flag刷新了,重新去获取一下flag,用新的flag提交)
现在还没有过30分钟的准备阶段,所以现在的攻击是不得分的。
结束比赛
sudo python stop_clean.py
AWD平台搭建与使用入门相关推荐
- AWD平台搭建–Cardinal
本次使用的环境 Linux kali 5.3.0-kali2-amd64 #1 SMP Debian 5.3.9-3kali1 (2019-11-20) x86_64 GNU/Linux docker ...
- AWD平台搭建--Cardinal
AWD搭建步骤 一.前提摘要 二.环境准备 三.启动mysql,创建数据库 四.搭建Cardinal平台 五.靶机搭建 六.Cardinal上部署靶机 七.连接Asteroid大屏 先看一个成品炫酷图 ...
- AWD平台搭建——Cardinal
目录 一. 介绍 二. 环境介绍 本次我使用的环境是 靶机使用的是 使用的Cardina版本 三. 开始配置AWD 1.可以先创建一个文件夹 2.启动mysql,创建数据库 3.搭建Cardinal平 ...
- AWD平台搭建(Cardinal 从零开始) 2021/11/17
#Time 2021/11/17 因为之后要在校内组织AWD比赛,所以在github上找了一会,试了试最多star的,虽然说好用但是没有好康的界面,全是一堆代码感觉很枯燥,于是最终还是选择了使用Car ...
- AWD平台搭建及遇到的问题分析
- awd-php,awd平台搭建
新增功能介绍: 增加可视化web界面. 新增功能介绍: 增加可视化web界面. 增加可视化flag提交界面. 修复BUG: 1.修复重复提交flag仍可得分bug. 比赛的环境介绍: 服务器全部以do ...
- AWD练习平台搭建 附虚拟机资源
文章目录 前言 基本环境 平台搭建 系统安装 平台部署 环境启动 实现效果 参考 后记 前言 最近需要准备线下AWD了,但是没有那么多金币每天上BugKu的PVP在线AWD对战进行练习,于是想着可以自 ...
- H1ve-基于CTFd的美化平台 搭建笔记
目录 H1ve-基于CTFd的美化平台 搭建笔记 前言 传送门 准备 安装docker docker-compose 安装curl 更新docker-compose 添加执行权限 软连接 查看版本 过 ...
- AWD线下攻防平台搭建
AWD线下攻防平台搭建 步骤索引 AWD线下攻防平台搭建 换源 先将更新源备份一下 在命令行打开sources.list 修改sources.list文件,这里选择改成阿里镜像源 更新 升级 清理安装 ...
最新文章
- mvvm绑定checkbox wpf_C#框架结构分层:三层结构,DDD,MVC,MVVM,MVP
- 生成式对抗网络GAN有哪些最新的发展,可以实际应用到哪些场景中
- Arduino--超声波
- 计算机视觉领域还有那些坑,深度学习/计算机视觉常见的8个错误总结及避坑指南...
- python导出excel文件数字签名_Python使用RSA+MD5实现数字签名
- mysql实现行转列功能
- 【转】css_重绘重排
- LeetCode-Plus One
- ASM磁盘的添加与删除
- 远程监督在关系抽取中的应用
- 站点技术---301重定向
- 凸包问题(包含蛮力算法和快速凸包算法)+最优二叉查找树详解
- 织梦采集侠推荐免登陆免规则伪原创发布配置
- 服装管理解决方案丨汇信
- ZEMAX 2018中文版光学仿真视频教程
- jq chosen下拉列表被遮挡
- pandas笔记之分列
- SpringMVC——过滤器
- 从零开始写一个简单的bootloader(1)
- Alfred Workflow 豆瓣插件开发