awd平台搭建
1.先是使用
https://github.com/m0xiaoxi/AWD_CTF_Platform
这个平台搭建
这个平台很好用,是python脚本自动搭建,基本不需要怎么更改,自带了四道题的源码,有两道环境有问题,docker搭不起来,有时间再去解决把。
2.之后就换成了
https://github.com/zhl2008/awd-platform
可以看到这个平台好久没更新了,而且有许多小问题。
这个平台带了好多题目,很大,要是用github那个20kb的下载速度,一晚上差不多把。
之后也是直接使用自带的python脚本,但是一直给我报错can‘t find web_14.04
python stop_clean.py
python batch.py web_server
python start.py ./
用docker image search web_14.04是可以找到的,但是名称不一样,直接下载zhl2008/web_14.04就好。
但是由于这两个名称不一样,需要修改dockerfile,后来索性就直接把本地的image名称改了,方便。
sudo docker tag zhl2008/web_14. web_14.
实际上这个docker是一个ubuntu 14
然后docker是没什么问题
但是,之后发现,这个分数可以不受flag更新轮数限制,一个flag可以无限刷分。那不就是比谁脚本跑得快吗= =
感觉在flag_server里time的脚本有关系,但是不怎么会改。
于是,百度。。。

原来有人把坑都给踩好了的,早点百度就不用花那么多时间了
https://www.cnblogs.com/Triangle-security/p/11332223.html#
#!/usr/bin/env python
#coding:UTF-8
import time
import os
print int(time.time())
Unix_time = int(time.time())
print time.ctime(Unix_time)
while True:
time_his = []
time_list = ["","","","","","",""]
for i in time_list:
dt = "2019-04-28 10:"+str(i)+":00"
time_his.append(dt)
a = time_his[0]
b = time_his[1]
c = time_his[2]
d = time_his[3]
e = time_his[4]
f = time_his[5]
g = time_his[6]
time_stamp = [a,b,c,d,e,f,g]
for k in time_stamp:
h = open("time.txt", 'w+')
timeArray = time.strptime(k, "%Y-%m-%d %H:%M:%S")
timestamp = time.mktime(timeArray)
print (int(timestamp))
data = (int(timestamp))
separated = '|'
zero = ''
print >>h,(zero),(separated),(data),(separated),(zero),(separated),(data),(separated),(zero),(separated),(zero),(separated),(data),(separated),(zero),(separated),(zero),
# 0|data|0|data|0|0|data|0|0
h.close()
time.sleep(300)
在flag那里提前启动这个脚本就行了,还要准时提前5min,好像不大聪明的亚子==
算了,谁让我只会傻瓜操作呢==
放上我的一键化脚本,稍加修改,不出意外的话,应该是可以成功的。
#!/bin/bash
#git clone https://github.com/zhl2008/awd-platform #下载源码
apt-get install -y curl
curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh
cd awd-platform/
docker pull zhl2008/web_14.
docker tag zhl2008/web_14. web_14.
#cd flag_server
#python time.py(时间的那个脚本)
#cd ..
#sleep()
python stop_clean.py
python batch.py web_server
python start.py ./
大概就是这样子了,服务器的话,每次都去阿里云买一个按量计费的,一次比赛几个小时也就不到十块钱,十几个队是完全够用的。
其实这两个平台挺像的,都是python写的自动化脚本,对docker有没什么理解也可以,python脚本修改每个docker的配置脚本,用的docker搭建靶机的环境,python服务生成并检查flag,再加减分数,再写个前端展示分数和攻击过程。诶,说上去很简单的样子。动手能力强的话可以尝试把它改的更完美一些。
awd平台搭建的更多相关文章
- 线下AWD平台搭建以及一些相关问题解决
线下AWD平台搭建以及一些相关问题解决 一.前言 文章首发于tools,因为发现了一些新问题但是没法改,所以在博客进行补充. 因为很多人可能没有机会参加线下的AWD比赛,导致缺乏这方面经验,比如我参加 ...
- 云服务器AWD平台搭建
开学后实验室来了几个新同学,在线上CTF方面大家一直在持续学习,但AWD模式的CTF我们练习并不多,所以准备搭建一个AWD平台用于实验室成员的线下赛攻防练习. 最开始的是防灾科技大学的线下AWD靶场: ...
- awd平台搭建及遇到的问题
1.安装docker环境 a.使用的是ubuntu系统,通过sudo apt install docker.io进行docker得安装,此方式会自动启动docker服务. b.通过curl -s ht ...
- AWD平台搭建及遇到的问题分析
1.安装docker环境 a.使用的是ubuntu系统,通过sudo apt install docker.io进行docker得安装,此方式会自动启动docker服务. b.通过curl -s ht ...
- 【iOS】Jenkins Gitlab持续集成打包平台搭建
Jenkins Gitlab持续集成打包平台搭建 SkySeraph July. 18th 2016 Email:skyseraph00@163.com 更多精彩请直接访问SkySeraph个人站点: ...
- hadoop伪分布式平台搭建(centos 6.3)
最近要写一个数据量较大的程序,所以想搭建一个hbase平台试试.搭建hbase伪分布式平台,需要先搭建hadoop平台.本文主要介绍伪分布式平台搭建过程. 目录: 一.前言 二.环境搭建 三.命令测试 ...
- LNMP平台搭建---MySQL安装篇
在前两篇中,安装了一个基本的Web服务器,但是只能提供静态网页查看,要做成动态网站,就必须要数据库或其他编程语言支持了,这里先介绍MySQL数据库的安装. MySQL是一个开源的数据库,在互联网行业应 ...
- 基于Moodle的IT课程辅助教育平台搭建
基于Moodle的IT课程辅助教育平台搭建 Moodle是一个开源课程管理系统(CMS),也被称为学习管理系统(LMS)或虚拟学习环境(VLE).它已成为深受世界各地教育工作者喜爱的一种为学生建立网上 ...
- [Openwrt 项目开发笔记]:Openwrt平台搭建(一)
[Openwrt项目开发笔记]系列文章传送门:http://www.cnblogs.com/double-win/p/3888399.html 正文: 最近开始着手进行Openwrt平台的物联网网关设 ...
随机推荐
- Kullback-Leibler(KL)散度介绍
在这篇文章中,我们将探讨一种比较两个概率分布的方法,称为Kullback-Leibler散度(通常简称为KL散度).通常在概率和统计中,我们会用更简单的近似分布来代替观察到的数据或复杂的分布.KL散度 ...
- TensorFlow 实战卷积神经网络之 LeNet
欢迎大家关注我们的网站和系列教程:http://www.tensorflownews.com/,学习更多的机器学习.深度学习的知识! LeNet 项目简介 1994 年深度学习三巨头之一的 Yan L ...
- Python IDE ——Anaconda+PyCharm的安装与配置
一 前言 最近莫名其妙地想学习一下Python,想着利用业余时间学习一下机器学习(或许仅仅是脑子一热吧).借着研究生期间对于PyCharm安装的印象,在自己的电脑上重新又安装了一遍.利用周末的一点时间 ...
- python+selenium环境搭建步骤
一.自动化简介 1.自动化测试概念: 是把以人为驱动的测试转化为机器执行的一种过程,它是一种以程序测试程序的过程 2.自动化测试分类: 一般IT上所说的自动化测试是指功能自动化测试,通过编码的方式用一 ...
- Spring Framework之IoC容器
Spring IoC 概述 问题 1.什么是依赖倒置? 2.什么是控制反转? 3.什么是依赖注入? 4.它们之间的关系是怎样的? 5.优点有哪些? 依赖倒置原则 (Dependency Inversi ...
- JS烟花案例
html代码部分 <!DOCTYPE html> <!-- * @Descripttion: * @version: * @Author: 小小荧 * @Date: 2020-03- ...
- 用全站 CDN 部署 Discourse 论坛
Discourse 介绍 Discourse 是一款由 Stack Overflow 的联合创始人--Jeff Atwood,基于 Ruby on Rails 开发的开源论坛.相较于传统论坛,Disc ...
- Appium自动化 - 设置unicodeKeyboard: True运行脚本后,手机输入时无法调出软键盘
问题背景 做appium自动化的时候,使用了UiAutomator1驱动,然后设置了UnicodeKeyboard 执行自动化脚本之后,玩手机的时候发现平时用的输入法键盘没法调出来了 'automat ...
- 六、【Docker笔记】Docker数据管理
前几节我们介绍了Docker的基本使用和三大核心概念,那么我们在使用Docker的过程中,Docker中必然产生了大量的数据,对于这些数据我们需要查看或者对这些数据进行一个备份,也有可能容器之间的数据 ...
- c期末笔记(2)
1.定义数组 1.1.a[3][2] = [1,2,3,4,5,6],代码是定义一个三行两列的二维数组.在数组声明和初始化时,如果用户定义的元素数量超过用户规定的元素数量,以语法错误报错.(如:cah ...