大家好,又见面了,我是你们的朋友全栈君。
Burp Suite 能高效率地与多个工具一起工作,例如:一个中心站点地图是用于汇总收集到的目标应用程序信息,并通过确定的范围来指导单个程序工作。
在一个工具处理HTTP 请求和响应时,它可以选择调用其他任意的Burp工具。例如:代理记录的请求可被Intruder 用来构造一个自定义的自动攻击的准则,也可被Repeater 用来手动攻击,也可被Scanner 用来分析漏洞,或者被Spider(网络爬虫)用来自动搜索内容。应用程序可以是“被动地”运行,而不是产生大量的自动请求。Burp Proxy 把所有通过的请求和响应解析为连接和形式,同时站点地图也相应地更新。由于完全的控制了每一个请求,你就可以以一种非入侵的方式来探测敏感的应用程序。
当你浏览网页(这取决于定义的目标范围)时,通过自动扫描经过代理的请求就能发现安全漏洞。
- 下面我们在虚拟机中搭建使用 Burp Suite ,需要使用 JAVA 环境
- 软件包括
- jdk-15.0.1_windows-x64_bin
- Firefox火狐浏览器 64位
- Burp Suite Pro v2020.9.2 Build 4265
- 首先安装 JAVA
- 安装完成后使用 CMD 查看是否能正常显示 JAVA 版本信息
- OK一切正常,下面开始使用 Burp Suite,运行 Burp_start_chs.vbs
- ok 一切正常,下面开始设置火狐代理,选择–选项–添加组件
- 查找 proxy
- 点击 Foxy Proxy Standard 安装这个插件
- 安装完成后在右上角会有图标
- 点击选项—添加,这里要设置成 Burp Suite 里面一样的IP 和端口,注意端口号不能被占用点击 on
- 这显示 local 表示已经启用代理
-
返回 Burp Suite 选择 proxy 选项,确保拦截请求是打开状态,这里已经拦截到了请求
- 过滤一些不需要拦截的域名或者网址,在 proxy 页面的 options 里面的 intercept cilient requert 和 intercept server response 里面添加即可,注意匹配模式是 does not match
- 打开本地的网站,发现已经开启拦截,Proxy 模块下面的 intercept 选项 颜色变 红色 表示拦截到新的请求
- 点击丢弃,刷新页面然后点击发送
- 点击 –选项—拦截执行–此请求的响应
-
HTTP/1.1 200 OK #使用的协议以及版本, 状态返回码 执行结果
- 200
服务器已成功处理了请求。302(临时移动):
该资源原本确实存在,但已经被
临时
改变了位置;请求的资源暂时驻留在不同的URI下,故而除非特别指定了缓存头部指示,该状态码不可缓存。304(未修改)自从上次请求后,请求的网页未修改过。
服务端已经执行了GET,但文件未变化。400 (错误请求) 服务器不理解请求的语法。403 (禁止)服务器决绝请求。
资源不可用。404(未找到):服务器找不到请求的网页,请求失败。500:
服务器内部错误,无法完成要求。500.11 服务器错误:Web 服务器上的应用程序正在关闭。500.13 服务器错误:Web 服务器太忙。500.14 服务器错误:服务器上的无效应用程序配置。500.15 服务器错误:不允许直接请求 GLOBAL.ASA。500.16 服务器错误:UNC 授权凭据不正确。500.17 服务器错误:URL 授权存储无法找到。500.18 服务器错误:URL 授权存储无法打开。500.19 服务器错误:该文件的数据在配置数据库中配置不正确。500.20 服务器错误:URL 授权域无法找到Server: nginx/1.18.0 #服务器使用的HTTP软件和版本号
Date: Wed, 11 Nov 2020 07:15:24 GMT #服务器时间
Content-Type: text/html; charset=utf-8 #文本类型和字符编码
Connection: close #链接状态
X-Powered-By: PHP/7.4.12 #编程语言为 php
Set-Cookie: Vq0V_2132_lastact=1605078924%09index.php%09; expires=Thu, 12-Nov-2020 07:15:24 GMT; Max-Age=86400; path=/
Set-Cookie: Vq0V_2132_sid=mHeQZb; expires=Thu, 12-Nov-2020 07:15:24 GMT; Max-Age=86400; path=/
Content-Length: 11962<!DOCTYPE html PUBLIC “-//W3C//DTD XHTML 1.0 Transitional//EN” “http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd”>
<html xmlns=”http://www.w3.org/1999/xhtml”> #网页内容主题部分
…………………………………..
checkBlind();</script>
</body>
</html>
- HTTP history 里面有拦截到的缓存,可以使用过滤器过滤一些不需要的信息。
- 将 Options 下面的 inter Server Responses —>intercept responses based on the following rulues 打钩,开启 Response响应
- 回到 intercept 界面,在 Response 响应页面添加任意字段,然后点击 forward 放行
- 放行后在页面上方可以看到刚才添加的字段
-
使用 intrude 爆破弱口令,在知道用户名的情况下,输入用户名,和任意密码,然后使用快捷键 Ctrl+i 将拦截页面发送到 intrude 选项,成功发送的话, intrude 选项会变成红色
-
点击 intrude 选项,1 x 2x …代表有几个由 proxy 传送过来的请求。点击 positons,选择左侧的 clear,
-
然后选中密码的部分,点击 add
-
然后选择 rayloads 选项,在 Payload Options [simple list] 下面选择 Load 加载密码本
-
添加成功后点击左上角的 start attack 开启爆破
-
状态变成 finished 表示 爆破结束,点击 length 查看长度不一样的 rayload ,这里发现密码为 123456,返回登录框测试密码是否正确
-
登陆成功
-
如何拦截 HTTPS ,需要添加证书,首先下载 BS 证书,打开浏览器 输入 http://burp 在打开的页面中右侧点击 CA Certificate ,证书名称为 catert.der
- 下载好以后打开火狐或者谷歌、或者正在使用的浏览器,在选项或者设置中打开 管理证书,导入证书,选择你要导入的证书
-
导入证书OK后,打开代理、打开 BS ,然后打开 https 开头的网站(需要单独导入相关的证书,我这里之前导入了百度的证书),比如 https://www.baidu.com,点击继续
- 尝试 intruder 爆破 dvwa 弱口令,需要先安装配置好 DVWA,开启拦截,注意这里的 user_token
- 使用 ctrl+i 快捷键 发送到 intruder,攻击方式使用 pitchfork ,clear后add2个字段: password 和 user_token
- 这里要把 POST 方式改为 GET 不然后面只会 302,爆破前再改回 POST
- 来到 payloads 页面 添加密码本和payload set 方式2 recursive grep
- 来到 options 最下方选择 always 和 打钩process cookies in redirections
- 这里注意爆破前要把提交方式改回 POST!要跟第一次拦截页面的提交方式一样
- 爆破成功 密码 123456,观察 response 页面显示信息, 添加一个过滤字段看着更明显
- 未完待续
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/125772.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...