MENU

docker搭建pikachu及burp暴力破解基于Token的表单

本文仅限技术研究与讨论,严禁用于非法用途,否则产生的一切后果自行承担

事情起因

持续整理笔记中

参考文章:

安装docker

apt-get install docker.io -y

然后使用docker -v命令验证是否安装完成:

换镜像

可以去阿里云上配置一个自己的镜像加速器:

先登录阿里开发者平台,登录后,进入Docker镜像仓库

选中加速器Tab,这里可以看到,系统已经为我们生成了一个专属加速器地址:

https://xxxxx.mirror.aliyuncs.com

vim /etc/docker/daemon.json

基本配置如下:

{
    "registry-mirrors": ["https://xxxxx.mirror.aliyuncs.com"],
    "graph": "/mnt/docker-data",
    "storage-driver": "overlay"
}

后面两条是我在使用的过程中遇到的问题,好像是软件驱动的问题

反正加上就对了,然后重启docker服务:

systemctl daemon-reload
service docker restart

就可以了

安装pikachu

pikachu靶场没有现成的镜像源,需要我们自己build

git clone https://github.com/zhuifengshaonianhanlu/pikachu
cd pikachu
docker build -t "pikachu" . 

使用当前目录kerfile 创建镜像,命为pikachu。要和Dockerfile在同一目录,注意命令后面还有一个点

中间会拉取lnmp环境,大约有200M

docker run -it -d -p 8082:80 pikachu
  • -i: 以交互模式运行容器,通常与 -t 同时使用
  • -t: 为容器重新分配一个伪输入终端,通常与 -i 同时使用
  • -d: 后台运行容器,并返回容器ID
  • -- name:为容器起一个名称
  • -v /xxx:/yyy:把宿主机的xxx目录挂载到容器的yyy目录
  • -p: 指定要映射的IP和端口,但是在一个指定端口上只可以绑定一个容器
  • 设置容器的端口映射:docker run -P

    • containerPort 只指定容器的端口,宿主机的端口随机映射:docker run -p 80 -i -t /bin/bash
    • hostPort:ContainerPort 同时制定宿主机端口以及容器端口:docker run -p 8080:80 -i -t /bin/bash0
    • ip:containerPort 指定ip和容器的端口:docker run -p 0.0.0.0:80 -i -t /bin/bash
    • ip:hostPort:ContainerPort 同时制定ip以及宿主机端口以及容器端口:docker run -p 0.0.0.0:8080:80 -i -t /bin/bash

首页有一个初始化按钮,点击初始化后即可

burp设置

可以按照老方法,浏览器设置里面搜索代理,设置自定义本地及局域网代理为127.0.0.1:8080

也可以直接使用浏览器插件SwitchySharp

安装后在选项中自定义一个burpsuite的模式

然后就可以在右上角插件图标快捷切换模式

平时就使用系统代理设置,需要burp拦截时就可以一键切换

另外如果你的靶场的ip是本地的,burp默认拦截127.0.0.1:8080就可以

如果像我一样靶机没有在本机,那么需要把burp设置为拦截所有ip

proxy选项卡的settings中选中默认的127.0.0.1:8080

点击左边的Edit,修改为第二个选项All interfaces

这样也能拦截不是本机ipresponse

pikachu靶场token表单爆破

设置好代理后,选中靶场的暴力破解的token防爆破?靶场

开启拦截,随便填写数据,burp拦截到数据包

F12看一下源码发现token值写在login表单下面一点

右键将请求包转送到Intruder

猜测token值只与密码有关,于是我们clear清除干净之后

只选择passwordtoken值,并且上面攻击模式Attack type设置为Pitchfork

options栏找到Grep - Extract,点击Add

点击Refetch response,进行一个请求,即可看到响应报文,直接选取需要提取的字符串

上面的会自动填入数据的起始和结束标识。

切换payloads选项卡,第一个payload设置为Simple list即字典模式

在下方添加字典,第二个payload设置为Recursive grep

payload中有Recursive grep选项时不支持多线程,在options把线程改为1

线程为1完全没问题,burp发包速度很快的,点击右上角Attack开始攻击

爆破成功!

本文完。