0


Burp Suite 使用手册

Burp Suite - Application Security Testing Software - PortSwigger

目录


1.准备工作

1.1 启动burp

6d98a77bd2d245a78856703084c5b19d.png

启动之后可以设置一下画面和字体👇

44941e7a7e514f039d11242c31e7e38a.png

f932edf8d6ed4bd984dde0cd02bf4c2a.png

1.2 配置代理

6e96772e35e14a9e87f7f365aa1b5af7.png

1fa31e2caf554684adc91ad8966d5a32.png

62a139efe2f547338bf5a813f0a2d9fd.png

51527ba9a25943cca40ce47493264608.png
946b093f99864dd1a899c5402c357581.png

a67980dea84943c094966bb0eac3568f.png

c596ac7d74734d8b95eed3c12c7a5a1c.png

56e089d9ce9045f1a6a1fe0135266f41.png

0edfc5ed7f6f4713b48cf801de58b0fa.png

e2175dea226844b187bc2c4f49588581.png

49ac94368f1c4639b239d904735c78c1.png

3e7021fe21654c8fbc5f46f82b9559b5.png

30d8ea2dcca74a02a9fb349165cb35d4.png

24df3afc74794dff96ebd06c09b56b17.png

2.Proxy模块

web代理功能,代理所有的收获截获得的信息

2.1) intercept

截断,默认情况下burp不会截断所有径过他的流量,当按下【intercept is off】会截断流量请求。👇

3e50fcacb29c4cd590f95d70b443583c.png

2.2)HTTP history

凡是经过截断代理的所有数据历史记录默认情况下就会记录在该视图下。

2989faaf318d4beca2fa01404ae10ef3.png

2.3)web Sockets history

有的application他是没有这个界面的,他是一个web socket长连接来通过一种类似于api的方式来实现数据的传输,burp也是可以通过这个来截获这一种信息。

2.4)Proxy setting

关于代理功能的配置。

2.4.1)proxy listeners

47c92695e4a444b3bce1ce5bf3f034e6.png

默认情况下是监听在本机的8080端口,你也可以根据情况进行修改添加和删除。

默认的监听是在本地的换回网卡地址上的8080端口,监听这个端口只能在本地来使用代理功能。

从另外一台机器即使设置了这台机器的IP地址burp也不会进行代理工作,因为他侦听接口已经设置为【Loopback】,当然你也可以设置【all interfaces】让所有接口都监听,可以让别人的机器都通过burp。

👇

80074ba0484f43bb901dca57725be047.png

6e70472211e94bad9e794374aaf64cf7.png

👆如果在【host】指定一个地址1.1.1.1 凡是请求发给burp代理的服务,burp不会把请求转发给真实的目标ip地址,而是会指定给1.1.1.1

如果在【port】指定一个端口如:8888,就会重定向到1.1.1.1的8888端口上。

【Force use of TLS】即使客户端访问真实的目标服务器使用是明文http协议的话,当客户端流量流到burp代理的时候,burp要求使用ssl加密的方式进行沟通通信。

【support invisible proxying】会有一些插件或者客户端无法代理但是还走http程序的客户端程序做代理功能。

bfee5a8eeafd47b398b0c0b981b74a5b.png

12db19c0d1b142bc8a8b13f8085c288a.png

431ef15c0413495a9e61dba7c4b71c16.png

9e3b14bc76ec41cb8ad7b9cdeeffd7d1.png

2.4.2)Request interception rules

默认开启请求拦截规则,属于该过滤规则的不会进行截断。

【Automatically update Content-Length header when the request is edited】当对拦截进行修改时会改变字节大小,该选项会自动修改 改变后的字节大小。👇

3e9ccc33f358412d9282990168555640.png

2.4.3)Response interception rules

默认关闭 响应拦截规则👇
77b38c6a60674c4f959dcf9d9c4df504.png

2.4.4)Response modification rules

对返回内容进行修改

8b1dc171d58d40c0ac0bea9bcd126ff3.png

👆返回页面会有隐藏的表单,勾选的时候服务器返回的页面有隐藏表单就会显示出来,下面的是会把它高亮显示出来。

67b00592c8a544be97aa9b338735b3af.png

👆有一些页面的表单会禁用掉,不能添加数据。通过该选项可以把表单激活。

66ce8247311047ed88547006032db300.png

👆有些页面会通过客户端来表单输入内容的长度限制来限制sql注入,如账号输入只能12字符,通过客户端脚本来限制的可以通过burp来去掉限制,即使没有去掉也可以通过浏览器用开发工具进行修改。

f1b74bb5c47a475c9aede54757b8fa97.png

👆去掉客户端JavaScript的校验,比如判断是否是一个合法的邮箱地址或者身份证。有些功能是在客户端通过JavaScript来验证。如果勾选该选项就会在中间把这先限制去掉。

b4b0ce387505490d9a62a1745b1e1f6c.png

👆去除所有的JavaScript,如果勾选该选项很有可能会影响功能,导致无法正常显示。

2.4.5)Match and replace rules

匹配就替换

0d7b7445195a4f66b58d6eb4ce45fc11.png

4e306d95e48b4eeba8eec69212b1e6cb.png

👆我添加一个User-Agent,如果提交内容匹配到了那么就会替换。

acdc3d1e072e45628078308227bec4d9.png

👆当我未开启的时候进项访问他就会显示未修改的user-agent。

2a12a43bd6414ef9bfcd3c388301c4bb.png

👆打开的时候如果匹配到了user-agent就会替换成你设置好的内容。

e7cc5c17befd4b439d7d2b9e739cd889.png

👆如果修改之后无法打开网页那么修改为user-agent:xxxxx即可。

2.4.6)TLS pass through

73c605aa783d4f24ba89b55a160e714e.png

👆让所有的加密流量通过burp,只通过不截获。

3.Target模块

通过截断代理截下来的内容访问请求都会保存在http history,target会显示你曾经访问过以及页面有相应的链接连接到那个域名下的URL地址,这些都会被burp截断下来。

b8136305266149ba966f20f2f434f92e.png

👆【视图1】你访问的域名和IP都会在此显示出来,主要分两种【白色】【灰色】。白色表示真正发生过访问请求的,客户端浏览器真的对这个URL发生过请求服务端给他进行页面的返回内容。灰色表示 这个页面的URL爬网爬出来的,会发现页面有这个URL地址但是并没有对其进行真正的访问

【视图2】访问URL的内容和【试图3一起使用】

【视图4】发现当前的问题,【视图5】发现问题的具体内容和具体URL地址。

3.1)过滤

3.1.1)对一个IP地址进行过滤

5ff3b662c5a64574829d2fd05f40778c.png

👆如果我想只显示出192.168.3.134地址的访问,鼠标对其地址右击会出现选项,选择【add to scope】

ac9c9f483c5846168b053116c4748877.png

👆 只需要我们勾选【show only in-scope items】就会只显示出我们刚才选中的192.168.3.134地址出来。

【show only requested items】真正发生过请求的内容。只有白色的显示出来,灰色不会显示出来

【show only parameterized requests】只显示带参数的页面

0c0e72f4674b4eabb76819af689728f1.png

👆通过点击选项我们可以看到左侧只显示了刚才过滤的内容。而且也自通添加了过滤规则。

3.1.2)过滤参数选项

a10fbe8fda3f42dd90b9aa51007c878e.png

👆过滤当前ip地址中只有dvwa字的访问。

👇【show only commented items】只显示注释的内容

5142b96cd59d4f50aa5779b36d1ef89d.png

bc1f012c4b8442b9869d6331618a632b.png

👇添加一个注释之后我们再选择【show only commented items】就只会显示这一个访问记录。

98b40e6efdc8490b824f2b2c0d0e9e43.png

👇【show only highlighted items】只显示高亮

b20f05db4d8841258aed84f4215a44d9.png

👇选择一个URl或多个对其进行单击选择一个颜色,然后选择【show only highlighted items】

49a1a2539c1d4d99ae8210359a3a61a2.png
4ddacd6f3b3e4a8fbabc55f2e68f991b.png

👇如果你忘记选来的默认选项你可以点击齿轮按钮进行复原(只要有这个齿轮按钮都可以进行复原)

0dc44c50fd92445181ec7afeb0315119.png

4.Intruder模块

60df871e6eda4994b219c89f61b27989.png

👆选择一个你认为可以进行暴力破解的URL地址,或者需要模糊测试的地址,对其右键发送到intruder模块(你几乎可以在任何地方发送到不同模块,他们之间都是可以进行关联),我这里选择了一个登录的页面。

87b5576d33754835ad92da1afbb405e9.png

👆凡是里面有变量都会高亮显示用*"§ §"符号,表示这是一个变量。*

1a7663a009e144618ce0c30847937fb2.png
e7eaabbfa7634a36b825471c066073b7.png

4.1)Sniper

只需要指定一个字典文件

f83a18af729d4dac9176ec17b31d4040.png
813e9634394042859de975256f094d8e.png

因为是sniper所以只需要指定一个字典,我这里是两个变量用一个字典,他们不会同时去使用该字典,他们会一个先用字典另一个保持变量值不动。

9fa9e5155105441b8f14a5230c3b74a9.png

da8a40c5a0d14282856519248b9d558b.png

4.2)Battering ram

只需要一个字典文件, 变量A和变量B同时使用一个字典里面的同一个数据,两个值同时使用同时替换相同的值。

60b6e482dfb6415a8dac8d5f6e16f81e.png

65c6642b94114b3bab9a8c714a1886e1.png

4.3)Pitchfork

需要指定两个字典

42f3154a95f44a4bad3e630e22d823d9.png
473539a2323a4ee9917a1fe4d6acc2c6.png

在第一个变量中添加username的变量,在第二个中添加password的变量。

6c79ce010bb04a8e84d063372089302d.png

96bb70d5fb1643c39bd77fa0d5ece8de.png

4.4)Cluster bomb

需要两个字典两个变量。

先用第一个字典的第一个数据尝试第二个里面所有的数据进行组合以此类推。

61ee37b9f1ba4a1099bce3e5c05f891a.png

7342a3498aa24a2e9fc13576841c3c35.png

👇如何才能在众多记录中找到正确的账号密码呢?我们可以通过点击length来查看,正确和错误的返回肯定是不一样的所以数据长度也不会一样,但是这个dvwa不管错误和正确都是一样的长度

fed870a4b0b140f0943abd7097fa6c9b.png

da821794d6da4dbe84315d411dea2102.png

👆可以看到正确的是返回的index.php 但是错误的返确是login.php 我们可以设置过滤出来正确的关键词。

fecc98fae1dc4ca28a3a6cf8a5c5726a.png

👆但是默认排除http头,所以需要把【exclude HTTP headers】给关闭。

023ebb4672b848918314e7283bfad9e4.png

5.Repeater模块

重发模块,该模块非常重要你可以在Target、proxy、intrudermo模块中发送到Repeater模块中。

bc6e660d17d3440e9d05ce18447dd686.png

👇下面两图修改一个参数对其进行访问。

2d5036129b1444f4be7740bb984e48fe.png
98a502040dc744e0b85c7c10d9ba3a32.png

接下来演示一下最简单的sql注入👇

我们拦截到之后直接右键发送到重发模块里面

cbe96be5c1c04b798c79e55553128c08.png

我们什么都不修改直接发送看看效果👇

cd51fc11a47f4cf29c6782c301315102.png

然后我们将id修改一下看看有什么变化👇

ce7c4ceb0ecc42d09b3b63ceed267a7e.png

👆可以看出两次查询的内容发生变化,此处有可能会有sql注入。

8652f10ed5a6477392de6137d8dafe4f.png

输入order by 2不报错,这里空格用+号来代表。

c9285ef31d354a43a23993681bbdc1bb.png
33135e597b694fad8f33a53e9b81a577.png

👆查看到数据库名

3025763e862e4e7e8310dda1fee92ed3.png

上你也可以点击此箭头,< >来浏览之前或者后面修改的内容。

5.1)copy as curl command

通过curl指令也可以请求该内容

f0c77f98336e4c0092cbc662382edfb0.png

878fa38a94a14e4889ba7012d0b0882e.png

5.2)Engagement tools

如果你觉得该页面有CSRF漏洞可以右键选择【Engagement tools】

aad112e4c3b4462db837a945f1f3218a.png
5fa4a3b4ca1e48e3bf896fdbb4020f6e.png

👆把里面的代码保存或者点击【test in browser】复制地址用浏览器打开。

36bb39738e454670ac4561f08df0ea82.png

👆除了右键还有一些重发的选项

6.Decoder

编码解码

6.1)解码

👇 将编码内容放进去之后点击右边的decoder,然后选择base64进行解码

8d886769d5d940af809900b21e0ff1f6.png

6.1)编码

👇将内容放进去之后点击右边的necoder,然后选择URL进行编码

82b62630ba7542efaa05b99141d33eb0.png

6.3)智能解码

👇 当你不知道是什么进行编码的时候,可以点击右边的智能解码

291b3eedd03a4b96982c1e87c6e759a1.png

7.Comparer

对两个数据进行比较

7.1)软件内比较

👇将id为1的时候的响应包和id为2的时候的相应包发送到comparer

44ff5077d22c4b7bb083c89576d6ed00.png

👇点击右下角的words即可0f973faff96f46b0ba6055e53111e8e5.png

e594f5c604414ead945faf9a69795c8d.png

👆返回的响应不一样的内容会通过高亮的显示出来。右下角的【sync views】勾选上会两边同步预览

7.2)文件比较

将id=1的数据保存下载再将其加载进来,也是实现了两个数据的比较。

484c6abd70af4000a8eeb47f11d3b65c.png

f1bfc130c64842a1ba44d631627de83d.png
3804556fc36d4339bca55e09793ce022.png

呜呜呜呜呜,如果对你有用的话请点一个赞....QAQ

标签: 安全

本文转载自: https://blog.csdn.net/qq_42378173/article/details/129110363
版权归原作者 温馨提示:小心二刺螈 所有, 如有侵权,请联系我们删除。

“Burp Suite 使用手册”的评论:

还没有评论