1、CSRF简介
2、CSRFTester介绍
CSRFTester是一款CSRF漏洞的测试工具.
工具的测试原理:
使用代理抓取我们在浏览器中访问过的所有的连接以及所有的表单等信息,通过在CSRFTester中修改相应的表单等信息,重新提交,相当于一次伪造客户端请求,如果修测试的请求成功被网站服务器接受,则说明存在CSRF漏洞,当然此款工具也可以被用来进行CSRF攻击。
CSRFTester在 BackTrack4 R2下已经内置(BackTrack4 R2下载链接),具体调用方法如下图-1所示:通过依次选择菜单中"Backtrack"-" Web Application Analysis"-"Web(fronted)"-"CSRFTester"即可打开一个列举出CSRFTester使用参数的Shell。当然,也可以在BT4下打开任意一个Shell,进入到/pentest/cisco/oscanner目录下,输入./ oscanner.sh命令即可使用该工具。
图-1
CSRFTester使用方法
我们通过一个示例来了解CSRFTester工具吧!具体步骤如下:
步骤1:设置浏览器代理
CSRFTester使用前需要设置代理,设置成功之后,我们在浏览器中的所有访问页面都将被CSRFTester抓取。
配置火狐浏览器的代理,在edit中选择perferences,进行代理设置,如下图所示:
图-2
选择选择advanced配置中的network选项卡,点击setting,如下图-3所示:
图-3
然后进行代理设置,如下图-4所示:
此处我们设置CSRFTester代理地址为127.0.0.1 ,端口为8008。代理设置完成,就可以使用CSRFTester工具了。
步骤2: 使用合法账户访问网站
首先打开CSRFTester工具,点击Start Recording,如下图-5所示,CSRFTester会将我们之后使用浏览器访问的所有页面,表单之类进行抓取记录。
然后打开火狐浏览器,访问我们要测试的网站,CSRFTester工具会将所有访问的链接抓取,如下图-6所示,我们访问wordpress的新增账户页面。
图-6
我们新增一个账户test,如下图-7所示,为网站目前的存在的账户。
图-7
步骤3:通过CSRF修改并伪造请求
CSRTTest将所有的页面表单都抓取下来了,等到抓取到了我们要做测试的页面时,就可以点击Stop Recording ,停止抓取URL,并开始修改相应的表单进行测试,如下图-8所示:
图-8
Stop Recording之后,我们点击要测试的URL,然后修改相应的表单信息,如下图-9所示:
图-9
如上图-9所示为我们抓取的增加用户的页面,红色区域为增加用户的表单信息,现在我们修改表单信息并提交,如果能够增加用户成功,则说明网站存在CSRF漏洞。
修改表单完成之后,我们点击右下角的Generate HTML按钮,会保存一个页面,并同时进行提交,默认勾选了Display in Browser,表示我们在提交并保存页面的时,同时打开此页面。如下图-10、11所示:
图-11
提交成功之后,我们查看网站,可以看到增加了fly用户,说明此网站存在CSRF漏洞,如下图-12所示。
图-12
注意:使用CSRFTester工具做测试时,最好只打开要测试的网站页面,也就是在工具中截获的页面尽可能少,否则可能测试结果不准确。
图-2
选择选择advanced配置中的network选项卡,点击setting,如下图-3所示:
图-3
然后进行代理设置,如下图-4所示:
然后打开火狐浏览器,访问我们要测试的网站,CSRFTester工具会将所有访问的链接抓取,如下图-6所示,我们访问wordpress的新增账户页面。
图-6
我们新增一个账户test,如下图-7所示,为网站目前的存在的账户。
图-7
步骤3:通过CSRF修改并伪造请求
CSRTTest将所有的页面表单都抓取下来了,等到抓取到了我们要做测试的页面时,就可以点击Stop Recording ,停止抓取URL,并开始修改相应的表单进行测试,如下图-8所示:
图-8
Stop Recording之后,我们点击要测试的URL,然后修改相应的表单信息,如下图-9所示:
图-9
如上图-9所示为我们抓取的增加用户的页面,红色区域为增加用户的表单信息,现在我们修改表单信息并提交,如果能够增加用户成功,则说明网站存在CSRF漏洞。
修改表单完成之后,我们点击右下角的Generate HTML按钮,会保存一个页面,并同时进行提交,默认勾选了Display in Browser,表示我们在提交并保存页面的时,同时打开此页面。如下图-10、11所示:
图-11
提交成功之后,我们查看网站,可以看到增加了fly用户,说明此网站存在CSRF漏洞,如下图-12所示。
图-12
注意:使用CSRFTester工具做测试时,最好只打开要测试的网站页面,也就是在工具中截获的页面尽可能少,否则可能测试结果不准确。