CSRF漏洞的测试工具_CSRFTester

1、CSRF简介

CSRF(Cross-site request forgery)中文:跨站请求伪造,也被称为“One Click Attack”或者Session Riding,通常缩写为CSRF或者XSRF,是一种对网站的恶意利用。
尽管听起来像跨站脚本( XSS ),但它与XSS非常不同,XSS利用站点内的信任用户,而CSRF则通过伪装来自受信任用户的请求来利用受信任的网站。与 XSS 攻击相比,CSRF攻击往往不大流行(因此对其进行防范的资源也相当稀少)和难以防范,所以被认为比 XSS 更具危险性。

CSRF是一种依赖web浏览器的、被混淆过的代理人攻击(deputy attack)。在上面银行示例中的代理人是Bob的web浏览器,它被混淆后误将Bob的授权直接交给了Alice使用。
下面是CSRF的常见特性:
依靠用户标识危害网站
利用网站对用户标识的信任
欺骗用户的浏览器发送HTTP请求给目标站点
另外可以通过IMG标签会触发一个GET请求,可以利用它来实现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工具做测试时,最好只打开要测试的网站页面,也就是在工具中截获的页面尽可能少,否则可能测试结果不准确。

猜你喜欢

转载自blog.csdn.net/shimengran107/article/details/70238669
今日推荐