AWD模拟搭建

环境:

Kali

Docker  

docker-compose

mysql

靶机

https://github.com/glzjin/20190511_awd_docker

Cardina

Releases · vidar-team/Cardinal · GitHub

根据自己的操作系统选择,这里我的是第四个

步骤

将靶场和Cardina放到本地

新建文件夹

Mkdir  AWD

然后进入当前文件夹路径,解压

tar -zxvf ******

Cardinal增加权限

Chmod  +x  Cardinal

上面完成之后

创建数据库

启动MySQL服务:

sudo service mysql start

进入数据库

mysql -u root -p  // 输入密码登入msql

然后我们创建一个数据库

CREATE DATABASE cardinal CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;

搭建Cardinal平台

运行

./Cardinal   //进行安装

进行安装配置

首次配置的话,也就是对Cardinal.toml  配置文件进行设置

这里注意的是数据库账号和密码不匹配的话,就运行不了,因此我在原来基础之上更改了账号和密码,还可以在当前用户添加一个用户赋予权限也可以。这里我直接更改了数据库个密码;命令是

RENAME USER 'root'@'localhost' TO 'ikun'@'localhost';  改root 为 ikun
ALTER USER 'ikun'@'localhost' IDENTIFIED WITH mysql_native_password BY 'ikun666';  改ikun666

根据提示选择安装即可;注意下面这个默认

是否自行另外部署前端?(true / false,默认值:false)

这里必须选择false,不然后面会出错。看个人需求来把,建议选择默认

:如果使用的是服务器,必须保证需要使用的端口是在控制台打开的,不然无法访问。(虚拟机kali不用管)

IP19999端口是选手登入页面

IP19999/manager 是管理员页面

 注意如何和数据库不匹配的话会运行不起来,那么你就按照上面那样改数据库账号密码,或者赋予当前你创建的账号密码权限

登录访问

账号密码是上面配置文件里面设置的那个

数据展示

创建队伍

题目要公开,设置可见

靶场搭建

如图创建文件,并解压

为了后面方便操作我们把文件名字改一下

mv 20190511_awd_docker-master web1_1

编辑配置文件

vim docker-compose.yml

注意这里把前三个注释掉,删掉的话也可以

我们在创建一个和上面web1_1一样。(根据自己需求创建

运行

docker-compose up -d --build

docker run -p 8802:80 -p 2202:22 -d web1_2_b4

验证靶机

访问 8801 和8802端口

获取docker容器的SSH root用户密码

获取id

docker ps

更改密码命令

docker exec -it 容器id passwd

密码也是该靶机sshroot用户密码

可以看到有两个在运行,更改之后就可以了

靶机部署到cardinal

根据上面的添加,我这里是添加好的

测试ssh

查看选手登入账号和密码

进入相应的b4路径

查看配置文件

进入当前目录路径

 cat Dockerfile

这里列举一个参考 选手1 账号glzjin  密码  123456

进入root的话是上面我们获取docker容器等该的id值之后的密码 

 更改数据库密码、比赛开始和结束的时间

 AWD页面找到conf文件,可进行更改

连接大屏地址大家按需选择,地址 :https://github.com/wuhan005/Asteroid/releases

原文参考点击可前往: 

  • 1
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
利用 mvc 框架,显示和功能分离, 每次比赛的数据都放在到 games 里 ## 目录结构 ├── data # 框架运行所需要的持久化文件 ├── games ├── library │ ├── controller │ │ ├── common │ │ ├── defense │ │ └── exploit │ ├── models │ └── views │ │ ├── common │ │ ├── defense │ │ └── exploit │ ├── common │ ├── defense │ └── exploit ├── config.py ├── README.md └── requirements.txt ## 数据表结构 (语雀完善中) ### poc | 字段名称 | 类型 | 说明 | | :------: | :----------: | :----------------------------------: | | id | int | 索引(自增 id | | name | varchar(30) | 名称 | | type | int(2) | 类型 0 flag 1 webshell 2 systemshell | | os | int | 系统类别 0 php1 python | ### target | 字段名称 | 类型 | 说明 | | :--------------: | :----------: | --------------- | | id | int | 索引(自增 id) | | ip | varchar(30) | 名称 | | is_reach | | 类型 | | is_get_shell | | 系统类别 | | flag | | | | flag_create_time | | | ### 流量 | 字段名称 | 类型 | 说明 | | ---------- | ------------ | --------------- | | id | int | 索引(自增 id) | | message | varchar(30) | 名称 | | type | | 类型 (get post) | | host | | 系统类别 | | source_ip | | | | create_ime | | | -------- 该资源内项目源码是个人的毕设,代码都测试ok,都是运行成功后才上传资源,答辩评审平均分达到96分,放心下载使用! <项目介绍> 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载学习,也适合小白学习进阶,当然也可作为毕设项目、课程设计、作业、项目初期立项演示等。 3、如果基础还行,也可在此代码基础上进行修改,以实现其他功能,也可用于毕设、课设、作业等。 下载后请首先打开README.md文件(如有),仅供学习参考, 切勿用于商业用途。 --------
一个awd攻防比赛的裁判平台。 版本:beta v2.0 开发语言:python3 + django 平台分为两个部分 裁判机 靶机 通过特定接口,来实现靶机flag与服务器的通信 搭建流程 裁判机 安装所需环境 裁判机:python3+django 全局搜索woshiguanliyuan,并修改为随机字符串,此处为管理平台地址 /untitled/urls.py path('woshiguanliyuan/',views.admin,name='admin'), path('woshiguanliyuan/table/',views.admin_table,name='admin_table'), /app/views.py if 'woshiguanliyuan' not in request.META['HTTP_REFERER']: 第31和47换为你的目录 列:("/var/www/awd_platform/app/qwe.txt","a") 修改app/management/commands/init.py,添加用户 #['用户名','用户靶机token','用户靶机token'] user=[ ['123456','FF9C92C7SDFABB71566F73422C','FF9C92C7SDFABB71566F73422C'], ['aaabbb','311F8A54SV9K6B5FF4EAB20536','311F8A54SV9K6B5FF4EAB20536'] ] 修改/app/views.py第行d89f33b18ba2a74cd38499e587cb9dcd为靶机中设置的admin_token值的md5 if('d89f33b18ba2a74cd38499e587cb9dcd'==hl.hexdigest()): 运行 python3 manage.py init python3 manage.py manage.py runserver --insecure 靶机 安装所需环境 靶机:python+requests 修改send_flag.py参数,并将其放入靶机,设权限700。 靶机 sudo python send_flag.py。 靶机生成flag脚本,send_flag.py import requests import time import random import string import hashlib token='woshiwuxudong' # 红队 baji='311F8A54SV9K6B5FF4EAB20536' def getFlag(): #return ''.join(random.sample(string.ascii_letters + string.digits, 48)) m = hashlib.md5(''.join(random.sample(string.ascii_letters + string.digits, 48)).encode(encoding="utf-8")).hexdigest() return m while(1): f=open('/flag','w') flag=getFlag() f.write(flag) data={ 'flag':flag, 'token':token, 'baji':baji, } r=requests.post('http://127.0.0.1/caipanflag/',data=data) print(r.text) f.close() time.sleep(300) 重要须知 更新作者基础上: 1.增加flag验证一次性失效性,使得每个用户都并且仅可以提交一次flag 2.增加排名情况 3.flag改为MD5 4.增加丢失flag一轮扣100分
在运行Python脚本时,我们可以使用AWD(也称为Auto Web Discovery)来轻松地启动和管理Python的Web应用程序。 首先,确保已经安装了Python解释器。在命令行窗口中,可以输入"python --version"来检查Python版本。如果未安装Python,则需要先下载并安装。 接下来,我们需要安装AWD库。可以使用pip命令来安装。在命令行窗口中输入"pip install awd",等待安装完成。 安装完成后,可以通过在命令行窗口中输入"awd init"来初始化AWD。这将在当前目录下创建一个awd.ini文件,其中包含必要的配置信息。 然后,可以创建一个Python脚本,用以编写我们的Web应用程序。例如,可以使用Flask框架来创建一个简单的Web应用程序。在脚本中,我们需要导入Flask库,并定义一个应用对象。可以指定路由和处理函数来处理不同的URL请求。 完成脚本编写后,可以使用"awd run"命令来运行我们的Web应用程序。这将自动启动一个本地服务器,并将Web应用程序绑定到指定的主机和端口上。 在浏览器中输入指定的主机和端口,就可以访问我们的Web应用程序了。例如,如果我们将应用绑定到localhost和5000端口上,可以在浏览器中输入"http://localhost:5000"来访问。 同时,AWD还提供了其他功能,例如自动重新加载和处理静态文件等。这些功能可以在awd.ini文件中进行配置。 总的来说,AWD可以帮助我们更方便地运行和管理Python的Web应用程序,使得开发过程更加高效和便捷。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值