现场黑客实战指南:探索如何在漏洞赏金猎人视角下进行深入思考与分析(第一部分)

现场黑客实战指南: 探索如何在漏洞赏金猎人视角下进行深入思考与分析 (第一部分)

0. 参考Youtube大佬视频学习

现场黑客教程:如何像漏洞赏金猎人一样思考(第一部分)

1. 确定测试目标站点

首先我们的先确定好需要进行渗透测试的网站(信息收集)

测试站点:https://bugbountytraining.com/fastfoodhackings/index.php

2. 打开 Foxy Proxy 插件

安装 Foxy Proxy 插件配置 Burp Suite 工具一起使用,详细配置这里不多赘述。

3. 网页到处点点看看

重点留意有数据交互的地方,例如:用户注册、用户登录、搜索框、购物车、订单、头像、个人介绍、评论系统、博客后台、在线预约、用户反馈、在线客服、天气API、地图API、数据导入导出等

找到用户登录的界面,可以输入一个测试账户简单登录一下(账号随意),留意返回的响应数据

在网页上到处点点,留意会跳转的网页,粗略预览一下,收集一些有用的信息(用户名等)

4. Burp 查看 HTTP 历史记录

Burp 工具点击 代理——HTTP历史记录,可以看到我们之前网页点击过所有的 URL 链接

5. 创建渗透网站项目目录

目录名称自定义,随便命名都可以,只需要自己记住是用于做啥的就行

1
2
3
4
5
6
7
cd src_web_connect

mkdir fastfood_hackings

cd fastfood_hackings

cd fastfood_hackings

6. 网站目录文件枚举

gobuster:一种用于暴力大规模的目录和子域名枚举工具

big.txt:这里所用的字典1

1
2
3
export target="测试目标站点URL地址"

gobuster dir -u $target -w ~/tools/CTF-Games/wordlists/dirb/big.txt

扫描的过程比较耗费时间,我们在这段时间里面可以分析 Burp 工具里的 HTTP 历史记录

directory-list-lowercase-2.3-medium.txt:这里所用的字典2

可以多收集网络上的一些字典,使用不同的字典进行多次扫描,也许可以获得更多信息

1
gobuster dir -u $target -w ~/tools/CTF-Games/wordlists/dirbuster/directory-list-lowercase-2.3-medium.txt

common.txt:这里所用的字典3

1
gobuster dir -u $target -w ~/tools/CTF-Games/wordlists/dirb/common.txt

记录枚举出来的结果信息

1
2
3
4
5
/admin.php
/api
/img
/index.php
/robots.txt

7. 关闭 Foxy Proxy 插件

需要捕获网站URL链接的时候就打开,如去分析 Burp 工具 HTTP 历史记录,记得需要先关闭 Foxy Proxy 插件,避免产生大量的非测试目标的包

删除非测试站点目标所记录的包

可以大概查看到网站目录的结构

8. 测试登录URL包

找到我们之前用于测试登录的URL

查看请求包里的一些参数

发送请求包,查看响应包的结果,得到一串数字 42069(不清楚用处)

修改请求包中的 battleofthehackers=no 参数,尝试将 no 修改为 yes

发送修改后的请求包,观察响应包,发现与未修改前的请求包响应结果一致

返回上一个包

发现请求包中出现了一个 order_id,但是好像被编码了,看到编码中出现等于号,首先联想到 base64 编码,选中编码内容,Burp 直接就解码了,解码的内容为 42069 ,这串数字很眼熟,与测试登录包响应结果一致

查看响应包,通过搜索 username 关键字,找到我们之前填写测试登录的邮箱号

你也可以将请求包中的 order_id 参数中的编码 copy 到编码工具中进行解码操作

我们尝试将 order_id 参数内容向上推一位,从先前获得的 42069 改成 42068,并进行 base64 编码

将编码后的内容在请求包中进行替换

点击发送后,查看响应包,通过搜索 username 发现一个新的邮箱账号 zhagenes@yahoo.com (以此类推,你可以获得更多的邮箱账号)

我们复制获得新的邮箱账号请求包中的 URL 网址

9. 访问测试枚举结果

通过访问 robots.txt 文件,我们会从访问结果会出现多出两个目录 /admin/go

可以对新发现的两个目录 /admin/go 继续进行枚举

1
2
3
export target="测试目标URL地址/go"

gobuster dir -u $target -w /root/tools/CTF-Games/wordlists/dirbuster/directory-list-lowercase-2.3-medium.txt

dirsearch:一个先进的 web 路径暴力破解器

尝试使用不同的工具,来进行 web 路径发现

1
2
3
4
5
cd ~/tools/dirsearch

conda activate python3.8

python dirsearch.py -e php -u 测试目标URL地址 --exclude-status 403,401

收集扫描后的目录文件,又多发现一个 go.php 文件

1
2
3
4
5
/admin.php
/api
/go.php
/img
/robots.txt

提示:提供的返回 URL 无效!!!

使用 Burp 工具修改请求包

发送请求包

Invalid return url supplied! 提供的返回 URL 无效!

从上一步的响应结果 Invalid return url supplied,可以尝试在参数后面添加 return_url return_Url retrunUrl 等进行尝试

修改请求包URL参数,在后面追加 ?returnUrl=https://google.com

从响应的结果发现页面进行重定向

复制修改后的URL地址

访问修改后的网站URL地址,会发现页面成功跳转了,但是在 URL 后面又多出了一个参数

https://bugbountytraining.com/fastfoodhackings/go.php?returnUrl=https://google.com

尝试在 Burp 工具中修改请求包,将 type=0 修改为 type=1

这里从响应可以多一段 javascript 代码,可以尝试 XSS 注入

复制修改后的 URL 地址在网页中进行访问,观察页面变化

访问 url 地址发现页面没有任何变化

https://bugbountytraining.com/fastfoodhackings/go.php?returnUrl=https://google.com&type=1

参数写入 XSS 测试语句,将 javascript:alert(document.cookie);//

查看响应包

复制修改后的 URL 地址

XSS 测试语句成功触发,尝试弹出 cookie

请求包中往往会出现一些加密内容,复制所选内容,尝试解密,Burp 工具很强大会自动识别

或是使用一些在线网站进行分析解码

10. Burp 安装扩展插件

可以通过安装一些插件太提升渗透测试的效率

如何使用插件1

如何使用插件2

  1. JWT Editor

  1. turbo-intruder

  1. InQL - GraphQL Scanner

11. 查看网站目录结构