banner
肥皂的小屋

肥皂的小屋

github
steam
bilibili
douban
tg_channel

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

事情起因#

持续整理笔记中

参考文章:

安装 docker#

apt-get install docker.io -y

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

image

换镜像#

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

先登录阿里开发者平台,登录后,进入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][-p]
  • containerPort 只指定容器的端口,宿主机的端口随机映射:docker run -p 80 -i -t /bin/bash
  • hostPort 同时制定宿主机端口以及容器端口:docker run -p 8080:80 -i -t /bin/bash0
  • ip 指定 ip 和容器的端口:docker run -p 0.0.0.0:80 -i -t /bin/bash
  • ip:hostPort 同时制定 ip 以及宿主机端口以及容器端口:docker run -p 0.0.0.0:8080:80 -i -t /bin/bash

image

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

image

image

burp 设置#

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

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

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

image

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

image

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

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

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

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

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

image

这样也能拦截不是本机ipresponse

pikachu 靶场 token 表单爆破#

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

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

image

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

image

右键将请求包转送到 Intruder

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

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

image

options栏找到Grep - Extract,点击Add

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

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

image

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

image

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

image

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

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

image

爆破成功!

本文完。

加载中...
此文章数据所有权由区块链加密技术和智能合约保障仅归创作者所有。