'绕过DVWA的token'
使用宏绕过CSRF TOKEN验证
1,先将DVWA的security调为high
2,选取CSRF输入密码,然后抓包
3,发包到Repeater模块
4,点击Go查看响应,第一次token响应为200 OK,所以这时再点击一次Go,
5,发现token失效,302,重定向到index.php页面
录制宏
宏的管理界面位于Project Options → Sessions,点击Add,新建一个宏
从HTTP请求记录中选择获取CSTF TOKEN的请求,选择后确定
点击右边的Configure item进行下一步设置
宏设置页面,指定参数的位置。点击右下角Add进行参数添加
输入参数名称(需和密码修改请求中的参数名一致),使用指定开始和结束位置的方式,
在请求响应内容中找到token,鼠标选择保持高亮,点击确定。然后在
Configure Macro Item、Macro Editor全部点击确定,完成宏的录制。
完成后可以在宏列表框中看到刚才录制的宏
填写规则描述(使用便于区分的文字内容),添加一个动作,在请求之前运行一个宏。
动作编辑中,选择刚才录制的宏,选择只更新指定的参数,输入Token产生名称user_token,点击确定。
完成动作编辑后,回到会话操作规则编辑界面,选择Scope,设置这个宏的作用域。
完成新增规则的添加
验证规则是否生效
回到Repeater页面(确保会话登陆有效,如超时,请重新登陆),再次发送密码修改的请求包,可以看到在提交请求后,user_token值自动更新,密码修改成功。
第二种方法
1,准备工作,配置运行环境
Python
下载地址:http://www.jython.org/downloads.html
下载Standalone Jar版本,下载后将Jar文件放置在Burpsuite文件夹。
Ruby
下载地址:http://jruby.org/download
下载Complete Jar 版本,下载后将Jar文件放置在Burpsuite文件夹。
2,插件安装路径
Brup的默认缓存路径在C盘,为避免重装系统造成配置文件丢失和便于转移Burpsuite路径,先在User Options里更改临时文件路径。
安装插件CSRF Token Tracker
它是用于渗透测试过程中CSRF Token的自动更新
security还是选择high
输入新密码,抓包
在Repeater中重放包,第一次可以成功,第二次由于user_token失效,返回302,密码修改失败
下面开始使用CSRF Token Tracker自动更新Token:
设置CSRF Token Tracker:添加一条规则,并勾选生效。
由于DVWA密码修改请求包中的CSRF TOKEN的名称和服务器响应包中一致,只需要填写Name即可
再回到Repeater,重新发送密码修改包
可以看到密码修改成功,请求包中的CSRF TOKEN自动更新(可在Logger++中查看)。