1. Intruder(暴力破解模块)
intruder英[ɪnˈtru:də®]n.闯入者,侵入者; 干扰者,妨碍者; 爱管闲事的人; [航]轰炸机
Interder是一个强大的模块,可以用于自动对web应用程序进行无差别、自定义攻击,它可以用来自动执行您的测试过程中可能出现的所有类型的任务。例如目录爆破,注入,密码爆破等。
2. 实验环境准备
本次实验,靶场的IP是192.168.22.129,如下图示,要看清楚自己靶场的IP是多少。
另外,在“整个本课程中”,老师靶场的“网络适配器”是设置为NAT模式,如下图示:
打开Kali linux中的Burp Suite Community并配置Burp Suite的Chromium
browser英[ˈkrəʊmiəm]n.铬
默认情况下在kali linux中是无法打开Chromium browser,会出现如下提示:
WackoPicko.com已经打开
WackoPicko.com已经打开,BurpSuite Community也已经打开,如下图示:
3. 实验对象
本次实验对象是OWASP BWA靶场中的WackoPicko
wacko英[ˈwækəʊ]adj.古怪的,发疯的n.疯子
4. 实验手段
使用kali linux中的Burp Suite Community进行实验,因为需要使用到kali linux中的字典
5. 开始实验
在2.3视频的最后,我们使用BP自带的Chromium浏览器打开了网站WackoPicko.com,此时Burp Suite中记录了相关的HTTP历史记录,如下图示:
在Proxy模块中,找到对WackoPicko.com根路径的请求包,右键选中它,再选择Send to intruder,如下图示:
在Positions模块中,点击clear§
操作,在Positions模块中,会看到很多前后有§的字段,这些字段与其它字段不一样,呈现高亮(绿色底),单击右侧的“Clear§”以清空所有被§包裹的字段。
解释,§,属于特殊符号,义项名:分节符Section Sign,也可称双S号或分段符号,是字体排印学的一个字符。
解释,前后有§(被§包裹)的字段的含义:是Intruder在每次请求中都会更改的字段。
Clear§前
Clear§后
在URL的最后一个/后面随便添加一个字段,例如字母a,然后选中它,再单击Add§按钮,字母a的前后就会自动加上§,那么这样就会让这个选中的字符成为一个修改点,如下图示:
切换到Payloads选项卡,载入攻击载荷
从Intruder模块的Positions换到Payloads。
由于上图中我们只增加了1个修改点§a§,上图中最下面箭头处“1 payload position”,因此下图中payload set选择1,payload type选择simple list,如下图示:
在Payloas选项卡中载入small.txt
在payload setttings中点击load,载入/usr/share/wordlists/dirb/small.txt
这个small.txt是kali linux自带的!!!
Start attack
点击Start attack按钮,开始向服务器发送请求,因为此处使用的是Burp Suite Community,因此,会看到intruder的一些告警信息,选择accept然后,攻击就会开始。
点击Start attack按钮
Burp Intruder告警信息
根据status排序
Intruder attack还在继续,单击status,状态码就会按照从小到大的顺序展示,200是存在且可访问的文件或目录的响应代码,重向性为300,错误范围是400和500。
6. 相关知识与技能
Intruder使用加载的攻击载荷去替换请求中被特殊符号标记的字段然后发送请求。有效的攻击载荷类型如下:
Simple List:可以直接从文件中加载内容,也可以从剪贴板粘贴进去或者是直接写入文本框然后添加到列表中。
Runtime File:intruder会在运行时获取指定文件中的有效攻击载荷,当被加载的文件很大,它将不会被完全载入到内存中。
Numbers:生成一个以十六进制或者十进制编码的纯数字列表,该列表可以是有序的也可以是随机的。
Username Generator:载入一个以电子邮件构成的列表并在其中提取出可能会用到的用户名。
Bruteforcer:获取一个字符集,然后按照指定长度对它进行所有可能的排列组合。
攻击载荷的类型由Positions中的攻击类型Payload type来指定,其他类型如下:
Sniper:将一组攻击载荷分别替换每一个修改点上,每个替换后的值都是不同的。
Battering ram:和Sniper一样,它也使用一组攻击载荷,但是不同的是它在每一次修改中会把所有修改点都替换成一样的值。
Pitchfork:将多个攻击载荷集中的每一项依次替换不同的修改点,当对已知的某些数据进行测试时会发现它很有用,比如对一组用户名和密码进行测试。
- Cluster bomb:测试多个攻击载荷的所有排列组合。
在攻击结果中可以发现一些已知文件的名称与列表中的名称相匹配,还发现一个名为admin的目录,它可能是负责管理功能的页面,比如添加用户名或者某些内容。