炫技 (Jan.17) ——轻松暴力破解:BurpSuite之Intruder详细教程

0
Want create site? Find Free WordPress Themes and plugins.

如果你喜欢玩渗透,那么burp这个名字想必是已经如雷贯耳了吧——你甚至可能经常使用到它。对于一般的淀粉来说,这款工具可能不太用得到,但它其中的一些功能却可能让你原本繁琐的工作变得更加便捷。其中的Intruder功能本意是用来暴力破解密码、口令等等的。你也许会说,天下哪有那么简单的密码能够给你暴力破解,但它在渗透实战中却大有用处。甚至在淀粉们的日常浏览中也可能有用,譬如,你想通过手机验证注册一个网站,需要接受一个4位数字的验证码,但苦于自己没有手机号(或你想注册一个小号),你就可以随便填一个手机号然后用burp从0000~9999给你刷,总会有一个号码是正确的验证码吧,那么你就可以成功注册了呀~当然用法还有很多,这里就不一一列举了。

由于burp的语言是英文,而且也没有太多或者比较详细的中文文档,特别是在intruder这个模块上。于是居正就写了这篇文章来给大家详细介绍一下intruder的使用。

扯了那么多,先来看一下burp的百科介绍吧~

BurpSuite是一款信息安全从业人员必备的集成型的渗透测试工具,它采用自动测试和半自动测试的方式,包含了Proxy,Spider,Scanner,Intruder,Repeater,Sequencer,Decoder,Comparer等工具模块。通过拦截HTTP/HTTPS的web数据包,充当浏览器和相关应用程序的中间人,进行拦截、修改、重放数据包进行测试,是web安全人员的一把必备的瑞士军刀。

注意:本篇文章默认读者了解burp的基本操作,也就是知道如何设置代理如何抓包等等。基本操作的教程已经烂大街了,这里就不再赘述。


最近我发现burp版本1.6往下的license都过期了,于是只好用1.7.11最新版了。这里给大家放一个下载地址:https://pan.baidu.com/s/1kU8bMuz 提取码0000


由于1.7版本与1.6以下的有一些区别,我就简单介绍一下如何打开

首先用java运行burploader.jar

点I Accept

 

再点一下I Accpet

 

然后就出现这个前所未见的界面。。你可以直接点temporary project来创建一个临时项目。临时项目的设置不会保存,当然你也可以像我一样New Project on disk在硬盘上建一个长期项目。接着点Next

 

这里不管是临时项目还是长期项目都保持默认即可,点击Start Burp,就可以进入熟悉的界面了。


为了更方便地演示,我在本地写了一个小程序,它的代码是这样的:

<?php
if(isset($_POST['password'])){
	if('123456'==$_POST['password']){
		echo 'succeeded';
		exit(0);
	}else{
		echo 'failed';
		exit(0);
	}
}
?>
<html>
	<head>
		<title>BurpSuite Intruder Test</title>
		<meta charset="UTF-8"/>
	</head>
	<body>
		<form action="" method="post">
			输入密码:<input type="text" name="password" />
			<input type="submit" value="确定"/>
		</form>
	</body>
</html>

可以看到,所谓的密码是通过post方式传递,正确密码为123456。输入正确显示succeeded,错误显示failed。

运行效果:

 

然后抓包,点按右键,选择Send to Intruder

 

在这里burp自动添加了一些payload替换字符,当然这不是我们想要的。先选中所有文本,然后点Clear来清楚。

 

之后我们在password=后面的字段里Add上爆破替换符

注意:这里爆破替换字符里面的内容就是等一会儿爆破中替换成payload的内容,也就是我们尝试不同密码破解的地方。

 

在payload里面,我们随便load入一个弱口令密码字典。这里我只是给大家做示范,在实际中你可能需要更强大的字典或个性化的字典(比如如果你要破解手机验证码就得生成一个0000~9999的字典)

 

设置完毕后在菜单栏中点intruder,选择start attack(开始攻击)

 

OK,过一会儿之后程序跑完了,我们随便点开一个看看response(返回的结果)。发现是failed。我肯定这些结果中一定有一个爆破成功,但我不知道是哪一个,总不能手动一个个去找吧?那么我们就需要用到过滤器(filter)了。点击上面的Fliter行

 

在这里需要详细说明一下。过滤器中“fliter by search term”中过滤的文本可以是response中的,也可以是request中的。这里我们输入“failed”,因为登录失败的标志就是response中有failed字样。我们的意图是“别显示有failed字段的内容”,于是就把“negative search”勾上。这个短语直译过来就是“消极的搜索”,即“文本不包含在内”。然后“regex”是正则匹配,“case sensitve”是区分大小写(默认不区分大小写)至于其他两列的设置我们基本用不上,有兴趣的可以对照着谷歌翻译自己研究= =

注意:如果你知道登录成功后网页会显示什么,那么你可以把negative search去掉,意思为“我只需要显示结果中有我提供的字符出现的那些包”。

 

我们设置好后点一下旁边的任意位置,这时登录成功的一个包就已经出现了。从response可以看到succeeded字样,从而我们发现正确密码是123456。

 

回去用密码123456登录,成功!


关于intruder的玩法还是有很多的,大家可以自己去摸索。居正就曾经用这个给朋友某个项目刷票(虽然还是没有别人家刷的多QAQ)。

抛砖引玉后,剩下的看你了!如果你有问题可直接在下面评论区提出~

Did you find apk for android? You can find new Free Android Games and apps.

关于作者

居正

大道至简

没有评论

发表评论