awd-platform

  • 简单介绍
    • 平台搭建
    • 启动比赛
    • 得分
    • 结束比赛

简单介绍

比赛规则(新):

  1. 每个队伍分配到一个docker主机,给定ctf用户权限,通过制定的端口和密码进行连接;

  2. 每台docker主机上运行一个web服务或者其他的服务,需要选手保证其可用性,并尝试审计代码,攻击其他队伍;

  3. 比赛开始后,前30分钟,选手维护各自的主机,在这个阶段,所有的攻击和服务不可用不影响分数;

  4. 选手可以通过使用漏洞获取其他队伍的服务器的权限,读取他人服务器上的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分;有效攻击两分钟一轮;

  5. 选手需要保证己方服务的可用性,每次服务不可用,扣除1分,服务可用,加1分;服务检测两分钟一轮;

  6. 选手可以从flag服务器上获取所有的攻击情况以及当前的分数:

    攻击情况url地址:http://flag服务器IP:端口/result.txt

    得分情况地址:http://flag服务器IP:端口/score.txt

平台搭建

因为平台已经做的比较集成化,所以安装还是很简单的。博主使用的是ubuntu安装。

  1. 首先需要下载赛题项目

    旧
    git clone https://github.com/zhl2008/awd-platform
    #这一条命令可以将文件下载到当前工作目录,文件名为awd-platform
    新
    git clone https://gitee.com/jikemofan/awd-platform.git
    

    因为项目地址是在github上面,所以对某些国内用户可能会有一些网络问题,这里博主搬运了一下,上传到csdn上面了。(点击前往)

  2. 然后需要下载docker

    sudo apt install docker.io
    

    这里如果没有更换apt源可能会比较慢,网上搜了一个教程(点击前往),这里不做赘述。

  3. 下载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

    下载好之后改名

启动比赛

  1. 首先是确认赛题和队伍数量
    这里的web开头的都是赛题

    输入命令创建队伍

    cd ~/awd-platform
    #切换到第一步下载的赛题项目文件夹下面
    python batch.py web_yunnan_simple 2
    

    这里创建了2个队伍,赛题是web_yunnan_simple

  2. 根据赛题修改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
  3. 修改flag刷新时间,同样是check.py文件中,默认120s,2分钟

  4. 创建好队伍后就可以开始比赛了,输入命令启动比赛

    python start.py ./ 2
    

  5. 查看创建的队伍机器

    输入命令查看创建的虚拟靶机(docker创建的是容器,大家可以理解成为是虚拟机,不做详细介绍)

    docker ps
    


    可以看到这里多了2个名字分别为team1和team2的容器,并且观察这2行记录可以得到如下信息。

    主机端口 team1靶机端口 team2靶机端口
    8801 80(web服务端口)
    8802 80(web服务端口)
    2201 22 (ssh连接端口)
    2202 22 (ssh连接端口)
  6. 此时可以访问一下team1的网站

  7. 运行修改过后的check.py文件

得分

  1. 首先看一下当前比分,有2个地方可以看到。
    第一个,访问http://ubuntu主机IP地址:8080/score.txt

    很简陋,可以去找一个好看的替换它。
    第二个,在ubuntu终端运行check.py脚本

  2. 现在模拟一下team2队拿下team1的flag
    从team1的网站下手,观察了一下为网页,发现网站首页底部有一个命令注入点

    3.尝试找到flag
    首先尝试ls根目录


    发现可以直接输出根目录信息,并且找到敏感信息flag,接下来继续在命令注入点输入cat /flag

成功找到一个flag。

  1. 提交fiag给自己的队伍加分。

    加分的方法是访问一个为地址并且以get的形式上交flag

    http://ubuntu主机IP地址:8080/flag_file.php?token=teamx&flag=xxxx (x为队伍号)
    

    上传flag,flag正确的话就会显示success(有可能会提示没有这个flag,有可能是flag刷新了,重新去获取一下flag,用新的flag提交)

  2. 现在还没有过30分钟的准备阶段,所以现在的攻击是不得分的。

结束比赛

sudo python stop_clean.py

AWD平台搭建与使用入门相关推荐

  1. AWD平台搭建–Cardinal

    本次使用的环境 Linux kali 5.3.0-kali2-amd64 #1 SMP Debian 5.3.9-3kali1 (2019-11-20) x86_64 GNU/Linux docker ...

  2. AWD平台搭建--Cardinal

    AWD搭建步骤 一.前提摘要 二.环境准备 三.启动mysql,创建数据库 四.搭建Cardinal平台 五.靶机搭建 六.Cardinal上部署靶机 七.连接Asteroid大屏 先看一个成品炫酷图 ...

  3. AWD平台搭建——Cardinal

    目录 一. 介绍 二. 环境介绍 本次我使用的环境是 靶机使用的是 使用的Cardina版本 三. 开始配置AWD 1.可以先创建一个文件夹 2.启动mysql,创建数据库 3.搭建Cardinal平 ...

  4. AWD平台搭建(Cardinal 从零开始) 2021/11/17

    #Time 2021/11/17 因为之后要在校内组织AWD比赛,所以在github上找了一会,试了试最多star的,虽然说好用但是没有好康的界面,全是一堆代码感觉很枯燥,于是最终还是选择了使用Car ...

  5. AWD平台搭建及遇到的问题分析

  6. awd-php,awd平台搭建

    新增功能介绍: 增加可视化web界面. 新增功能介绍: 增加可视化web界面. 增加可视化flag提交界面. 修复BUG: 1.修复重复提交flag仍可得分bug. 比赛的环境介绍: 服务器全部以do ...

  7. AWD练习平台搭建 附虚拟机资源

    文章目录 前言 基本环境 平台搭建 系统安装 平台部署 环境启动 实现效果 参考 后记 前言 最近需要准备线下AWD了,但是没有那么多金币每天上BugKu的PVP在线AWD对战进行练习,于是想着可以自 ...

  8. H1ve-基于CTFd的美化平台 搭建笔记

    目录 H1ve-基于CTFd的美化平台 搭建笔记 前言 传送门 准备 安装docker docker-compose 安装curl 更新docker-compose 添加执行权限 软连接 查看版本 过 ...

  9. AWD线下攻防平台搭建

    AWD线下攻防平台搭建 步骤索引 AWD线下攻防平台搭建 换源 先将更新源备份一下 在命令行打开sources.list 修改sources.list文件,这里选择改成阿里镜像源 更新 升级 清理安装 ...

最新文章

  1. mvvm绑定checkbox wpf_C#框架结构分层:三层结构,DDD,MVC,MVVM,MVP
  2. 生成式对抗网络GAN有哪些最新的发展,可以实际应用到哪些场景中
  3. Arduino--超声波
  4. 计算机视觉领域还有那些坑,深度学习/计算机视觉常见的8个错误总结及避坑指南...
  5. python导出excel文件数字签名_Python使用RSA+MD5实现数字签名
  6. mysql实现行转列功能
  7. 【转】css_重绘重排
  8. LeetCode-Plus One
  9. ASM磁盘的添加与删除
  10. 远程监督在关系抽取中的应用
  11. 站点技术---301重定向
  12. 凸包问题(包含蛮力算法和快速凸包算法)+最优二叉查找树详解
  13. 织梦采集侠推荐免登陆免规则伪原创发布配置
  14. 服装管理解决方案丨汇信
  15. ZEMAX 2018中文版光学仿真视频教程
  16. jq chosen下拉列表被遮挡
  17. pandas笔记之分列
  18. SpringMVC——过滤器
  19. 从零开始写一个简单的bootloader(1)
  20. Alfred Workflow 豆瓣插件开发

热门文章

  1. 地平线机器人上海待遇_目前室内机器人、SLAM现状如何?行业内顶尖技术在哪些高校或企业 ?...
  2. pfx证书转pem、crt、key
  3. 常用数据加密及加密格式
  4. 2023年软考报哪门比较好?
  5. 程序设计阶段性总结报告二
  6. 【matlab】拟合直线的方法
  7. 【有限元分析】在ANSYS经典版中划分网格后,如何查看单元数和节点数
  8. JAVA的if结构单分支结构简单易懂
  9. iphone html 手机震动,​苹果手机震动器在哪里?如何设置与关闭?
  10. 搭建网站的步骤有哪些?