Burpsuite简单版特征学习
2022-7-4 21:43:17 Author: mp.weixin.qq.com(查看原文) 阅读量:15 收藏

说明

本文主要是参考以下两篇文章:

https://mp.weixin.qq.com/s/V0WdN9CMrTqo6qInuwyR6g
https://blog.gm7.org/%E4%B8%AA%E4%BA%BA%E7%9F%A5%E8%AF%86%E5%BA%93/01.%E6%B8%97%E9%80%8F%E6%B5%8B%E8%AF%95/06.%E4%BF%9D%E6%8A%A4%E8%87%AA%E5%B7%B1/02.%E9%98%B2%E6%AD%A2Burp%E8%A2%AB%E8%AF%86%E5%88%AB.html

为什么叫简单版本,因为在这里只是通过极简单的js操作进行识别,实际上真正的大厂识别方法中还可以通过BurpSuite版本的JA3指纹、端口连接是否被复用等技术(当然还有很多我不知道的技术,阿巴阿巴阿巴!)

关于Burpsuite来说,基本上是Web选手的人手必备的工具,但是现在似乎发现某些站点在使用bp的时候,无法对其抓包,甚至无法访问,这里面就可能被目标站点识别到了bp的指纹信息,目标站点积极拒绝访问。本文使用Burpsuite版本为2.1.06 本文只从简单的js层面来讨论。

1.1 http://burp

其实关于Burpsuite的特征来说,第一个就是http://burp,当Burpsuite在本地起来之后,随之也会起来一个http的服务,当前的浏览器使用8080端口(Burpsuite的默认端口)的时候,就可以直接访问到这个页面:

显示网页源代码之后,可以发现更多的信息:

<html><head><title>Burp Suite Professional</title>
<style type="text/css">
body { background: #dedede; font-family: Arial, sans-serif; color: #404042; -webkit-font-smoothing: antialiased; }
#container { padding: 0 15px; margin: 10px auto; background-color: #ffffff; }
a { word-wrap: break-word; }
a:link, a:visited { color: #e06228; text-decoration: none; }
a:hover, a:active { color: #404042; text-decoration: underline; }
h1 { font-size: 1.6em; line-height: 1.2em; font-weight: normal; color: #404042; }
h2 { font-size: 1.3em; line-height: 1.2em; padding: 0; margin: 0.8em 0 0.3em 0; font-weight: normal; color: #404042;}
.title, .navbar { color: #ffffff; background: #e06228; padding: 10px 15px; margin: 0 -15px 10px -15px; overflow: hidden; }
.title h1 { color: #ffffff; padding: 0; margin: 0; font-size: 1.8em; }
div.navbar {position: absolute; top: 18px; right: 25px;}div.navbar ul {list-style-type: none; margin: 0; padding: 0;}
div.navbar li {display: inline; margi-left: 20px;}
div.navbar a {color: white; padding: 10px}
div.navbar a:hover, div.navbar a:active {text-decoration: none; background: #404042;}
</style>
</head>
<body>
<div id="container">
<div class="title"><h1>Burp Suite Professional</h1></div>
<div class="navbar"><ul>
<li><a href="/cert">CA Certificate</a></li>
</ul></div>
<p>Welcome to Burp Suite Professional.</p><p>&nbsp;</p>
</div>
</body>
</html>

1.2 http://burp/cert

http://burp/cert界面能够直接将证书下载下来:

1.3 http://burp/favicon.ico

在当前界面能够直接访问到Burpsuiteico图标:

在第一节中提到了Burpsuite的三个明显特征之后,如何去识别呢?在这里当然要通过js识别。在这里有两种比较好的方法,但是实际上还存在其他的跨域执行方法。首先在靶机上准备一个http的服务,在这里简单的准备一下:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Burpsuite feature detection</title>
</head>
<body>
    <h1>hello crow !</h1>
</body>
</html>
http://192.168.135.12/index.html

2.1 img标签

当从目标站点去访问访问者的站点的时候,需要跨域,一般的事件是不行的,所以在这里使用img标签,img标签中的img其实是英文image的缩写。所以img标签的作用,就是告诉浏览器我们需要显示一张图片。在这里使用onload来判断事件是否成功:

  • • onload 事件会在页面或图像加载完成后立即发生。

  • • onload 通常用于 <body> 元素,在页面完全载入后(包括图片、css文件等等。)执行脚本代码。

在刚刚的html中加入下面的img标签:

<img src="http://burp/favicon.ico" onload="alert('Burpsuite feature detection')" >

刷新之后,发现当前加载ico文件成功,并且弹出警告信息。在这里可以使用一个简单的跳转防止起对网站的访问:

<img src="http://burp/favicon.ico" onload="parent.location='http://www.baidu.com'" >

当请求之后,会自动跳转到百度:

2.2 iframe标签的误区

iframehtml元素,用于在网页中内嵌另一个网页。

<iframe src="http://burp/" onload="alert('Burpsuite feature detection')"></iframe>

将其添加之后,同样能够检测到当前的Burpsuite,但是这里是存在误区的:如果出现下面的这种图,并不一定代表确定是检测到了burp

比如将上面的代码稍微修改为baidu.com试试:

<iframe src="http://www.baidu.com/" onload="alert('Burpsuite feature detection')"></iframe>

同样会弹出一模一样的界面,但是这并不代表此种方式有错误,这里主要要看报错内容:一个是百度的页面:

还有一个是burp的页面:

可以通过相关的关键字来进行判断。在下面的文章中,师傅对其进行了优化:

https://blog.gm7.org/%E4%B8%AA%E4%BA%BA%E7%9F%A5%E8%AF%86%E5%BA%93/01.%E6%B8%97%E9%80%8F%E6%B5%8B%E8%AF%95/06.%E4%BF%9D%E6%8A%A4%E8%87%AA%E5%B7%B1/02.%E9%98%B2%E6%AD%A2Burp%E8%A2%AB%E8%AF%86%E5%88%AB.html

将报错隐藏:

<iframe src="http://burp/" onload="alert('Burpsuite feature detection')" style="display: none;"></iframe>

但是这里和刚刚说的一样,貌似是错误的,因为当将错误隐藏的话,我们就没法使用报错字段来判断是否存在burp了,比如将师傅的句子中的burp修改为baidu.com

<iframe src="http://www.baidu.com/" onload="alert('Burpsuite feature detection')" style="display: none;"></iframe>

在这里看到当前请求了百度,但是依旧进行了弹窗,所以在这里这种方法貌似不严谨。

在这里主要为原因就是使用了onload标签的问题,onload标签的定义是:onload事件会在页面或图像加载完成后立即发生。也就意味着是否加载了burp,下面的弹窗情况都会发生。

3.1 禁止访问burp代理

在这里禁止访问burp可以防止对方使用img标签来访问ico图标。

当设置之后,使用前面的img标签试试:

<img src="http://burp/favicon.ico" onload="alert('Burpsuite feature detection')" >

此时无法请求burp,获取不到ico图标:

同理也可以防止iframe标签,因为禁止访问了burp,得不到报错之后的数据:

<iframe src="http://burp/" onload="alert('Burpsuite feature detection')"></iframe>

虽然依旧会弹窗,但是由于没有报错信息,因此无法判断当前是否加载了burp

3.2 配置Burpsuite权限

BurpsuiteOptions界面,关闭如下两个选项:

当没有在代理端配置禁止burp访问的时候:

此时去访问http://burp/favicon.ico

此时已无法访问,在这里是Burpsuite本身配置了防止Burp的访问。再去访问img标签下的值,此时发现burp的状态码直接不再显示了:

以上两种方法均可在一定程度上防止Burpsuite被识别到,可以二选一,也可以全选。

但是注意第二种方法在你重启bp之后,还会失效,一定要注意下。

当然,通过流量层等其他方法还是会识别到Burpsuite,后续有机会再学习下。


文章来源: http://mp.weixin.qq.com/s?__biz=MzI0Nzc0NTcwOQ==&mid=2247485449&idx=1&sn=9e96e44b13a012cbea59e934741142c5&chksm=e9aa15cbdedd9cdd6bff1e8c54e369c014e389de7f291712d0da4532644ef40a04f8ce883083#rd
如有侵权请联系:admin#unsafe.sh