CSRFTester:一款CSRF漏洞的安全测试工具
CSRFTester是一款CSRF漏洞的测试工具,讲工具之前,先大概介绍一下CSRF漏洞,CSRF英文全称是Cross
Site Request Forgery,常被叫做跨站点伪造请求,是伪造客户端请求的一种攻击形式,CSRF主要指通过伪装成来自受信任用户的请求来达到攻击目标网站的目的,CSRF在2000年就在国外被提出了,但是在国内被广泛使用应该算是从08年才开始,所以对很多人来说,可能还是比较陌生的。一个简单的CSRF漏洞利用示例就是网站管理员在点击了某个外部连接的时候,在不知情的情况下在自己的网站中增加了一个不法者设置的账户。
CSRFTester工具的测试原理大概是这样的,使用代理抓取我们在浏览器中访问过的所有的连接以及所有的表单等信息,通过在CSRFTester中修改相应的表单等信息,重新提交,相当于一次伪造客户端请求,如果修测试的请求成功被网站服务器接受,则说明存在CSRF漏洞,当然此款工具也可以被用来进行CSRF攻击。
CSRFTester在 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所示:
图-2
选择选择advanced配置中的network选项卡,点击setting,如下图-3所示:
图-3
然后进行代理设置,如下图-4所示:
图-4
此处我们设置CSRFTester代理地址为127.0.0.1 ,端口为8008。代理设置完成,就可以使用CSRFTester工具了。
步骤2: 使用合法账户访问网站
首先打开CSRFTester工具,点击Start Recording,如下图-5所示,CSRFTester会将我们之后使用浏览器访问的所有页面,表单之类进行抓取记录。
图-5
然后打开火狐浏览器,访问我们要测试的网站,CSRFTester工具会将所有访问的链接抓取,如下图-6所示,我们访问wordpress的新增账户页面。
图-6
我们新增一个账户test,如下图-7所示,为网站目前的存在的账户。
图-7
步骤3:通过CSRF修改并伪造请求
CSRTTest将所有的页面表单都抓取下来了,等到抓取到了我们要做测试的页面时,就可以点击Stop Recording
,停止抓取URL,并开始修改相应的表单进行测试,如下图-8所示:
图-8
Stop Recording之后,我们点击要测试的URL,然后修改相应的表单信息,如下图-9所示:
图-9
如上图-9所示为我们抓取的增加用户的页面,红色区域为增加用户的表单信息,现在我们修改表单信息并提交,如果能够增加用户成功,则说明网站存在CSRF漏洞。
图-10
图-11
提交成功之后,我们查看网站,可以看到增加了fly用户,说明此网站存在CSRF漏洞,如下图-12所示。
图-12
注意:使用CSRFTester工具做测试时,最好只打开要测试的网站页面,也就是在工具中截获的页面尽可能少,否则可能测试结果不准确。
|