Docker 安装(ubuntu)
1.常归删除操作
sudo apt-get autoremove docker docker-ce docker-engine docker.io containerd runc
2. 删除docker其他没有没有卸载
dpkg -l | grep docker
dpkg -l |grep ^rc|awk ‘{print $2}’ |sudo xargs dpkg -P # 删除无用的相关的配置文件
3.卸载没有删除的docker相关插件(结合自己电脑的实际情况)
sudo apt-get autoremove docker-ce-*
4.删除docker的相关配置&目录
sudo rm -rf /etc/systemd/system/docker.service.d
sudo rm -rf /var/lib/docker
5.确定docker卸载完毕
docker --version
$ sudo apt-get update
$ sudo apt-get install -y apt-transport-https ca-certificates curl software-properties-common
$ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add - && sudo add-apt-repository "deb [arch=amd64] http://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable"
$ sudo apt-get install -y docker-ce
常用命令
安装 sqli-labs 靶场
sqli-labs 是一款用于学习 SQL 注入的靶场平台,覆盖了各种类型的 SQL 注入,题目共 75 道,按难度划分为 4 页。sqli-labs 靶场的难度循序渐进,对于提高 SQL 注入实战能力有很好的帮助。sqli-labs 靶场的项目开源地址为https://github.com/Audi-1/sqli-labs。
那如何使用 Docker 快速安装 sqli-labs 呢?首先,搜索 sqli-labs 镜像:
$ sudo docker search sqli-labs
拉取镜像:
$ sudo docker pull acgpiano/sqli-labs
在容器中运行 sqli-labs:
$ sudo docker run -dt --name sqli-labs -p 80:80 --rm acgpiano/sqli-labs
各参数含义如下所示:
-d:代表后台运行
-t:为容器分配伪终端
–name:命名容器
-p:指定映射端口,此处将 acgpiano/sqli-labs 的 80 端口映射到本地的 80 端口
–rm:退出时自动移除容器
现在我们直接访问http://localhost,可以看到 sqli-labs 已经成功运行了,最后点击“Setup/reset Database for labs”链接完成数据库的安装。
安装 DVWA 靶场
DVWA(Damn Vulnerable Web Application)是一款比较著名的漏洞靶场,很多 Web 安全的初学者都会拿它来练习,一些高校以及相关书籍里面也会介绍它。DVWA 的项目开源地址为https://github.com/digininja/DVWA。
DVWA 靶场可以直接通过 Docker 安装:
$ sudo docker pull citizenstig/dvwa
$ sudo docker run -d --name dvwa --rm -p80:80 citizenstig/dvwa
安装成功后,打开http://localhost,然后点击“Create/Reset Database”创建数据库,使用默认密码 admin/password 登录,即可正常使用,做题时它能直接提供阅读源码的功能,不过题目相对少一些。
XSS 漏洞默认是安全的,在实际练习时,可以在“DVWA Security“中设置安全等级,即题目的难度等级,共有 4 等,其中 Impossible 代表的是已修复漏洞的情况,可以用来熟悉如何修复漏洞。
安装 Pikachu 靶场
Pikachu 也是一款 Web 漏洞靶场,涵盖各种 Web 漏洞类型的练习,也是基于 PHP+MySQL 搭建的平台,是由国人开发的。平台采用中文描述和基本的页面设计,相比 sqli-labs 这种单调的界面还是好看很多的。Pikachu 的项目开源地址为https://github.com/zhuifengshaonianhanlu/pikachu。
安装&运行:
$ sudo docker pull area39/pikachu
$ sudo docker run -d --name pikachu --rm -p80:80 area39/pikachu
安装成功后,打开http://localhost即可。
安装 VulHub 真实漏洞靶场
Vulhub 是一款基于 Docker 和 docker-compose 的漏洞测试靶场,进入对应目录并执行一条语句即可启动一个全新的漏洞环境,让漏洞复现变得更加简单,让安全研究者更加专注于漏洞原理本身。Vulhub 的项目开源地址为https://github.com/vulhub/vulhub。
前面的靶场都是精心构造的漏洞场景,与真实的漏洞场景还是有一些差异的。为了提高实战水平,熟悉更多的真实漏洞场景,建议你安装 VulHub 来重现各种历史漏洞进行实战练习。
对于每个漏洞,VulHub 都有相应的文档描述其漏洞原理以及测试利用方法,你在重现漏洞后,可以进一步研究相关漏洞类型的利用技术,并对漏洞代码进行阅读,以提高代码审计能力。
我们需要先从 GitHub 上下载 VulHub,然后进行相应目录去创建和运行容器:
$ git clone https://github.com/vulhub/vulhub
$ cd vulhub/flask/ssti
$ sudo docker-compose up -d
安装使用都很方便,该项目几乎每个月都在更新,非常适合用于检测、利用和防御漏洞时的测试环境搭建。
CTF 赛题练习
CTF(Capture The Flag)夺旗赛,在网络安全领域中指的是网络安全技术人员之间进行技术竞技的一种比赛形式。CTF 起源于 1996 年 DEFCON 全球黑客大会,以代替之前黑客们通过互相发起真实攻击进行技术比拼的方式。发展至今,CTF 已经成为全球范围网络安全圈流行的竞赛形式。
- XCTF 攻防世界:https://adworld.xctf.org.cn
- SQL 注入挑战平台:http://redtiger.labs.overthewire.org
- 韩国 Web 安全挑战平台:https://webhacking.kr/
- Websec CTF 练习平台:http://www.websec.fr/
- 网络信息安全攻防学习平台:http://hackinglab.cn/index.php
- 国外的 XSS 挑战平台:http://prompt.ml/
注:设置国内镜像源
创建或修改 /etc/docker/daemon.json 文件,修改为如下形式
{
"registry-mirrors": [
"http://hub-mirror.c.163.com",
"https://docker.mirrors.ustc.edu.cn",
"https://registry.docker-cn.com"
]
}