CSRF tokens是服务器生成的一串随机值,其主要作用是防止表单重复提交以及恳求假造进犯。由于该生成值具有随机性,一次性,而且是根据服务器端的前一个恳求生成的,因而黑客简直不可能假造它。
Burp Suite
虽然无法假造,但并不代表咱们就不能绕过它。这儿,不得不提及一款web浸透神器Burp Suite。在Burp上有多种装备其运用宏来绕过HTML表单上CSRF tokens的办法,例如咱们能够运用Burp Active Scans,Burp Intruder,Burp Repeater,乃至Burp Proxy。还有专门用于Intruder模块的Grep-Extract和pitchfork进犯类型。假如你还觉得不行,Burp完美的扩展性支撑你开发自己的Burp插件。
除了Burp外,另一款神器Sqlmap也为咱们供给了相似的功用。Sqlmap中有一个–csrf-token和–csrf-url参数,可用于绕过CSRF tokens。或许你也能够像我刚说的那样,装备Burp运用–proxy经过Burp运转sqlmap。
但今日我要介绍另一种绕过办法,即运用Python CGIHTTPServer。
试验环境
我的测验环境是一个简略的PHP+mysql,我能够登录并拜访受限区域。我在这儿上传了PHP代码,你能够下载进行测验。代码可能写的并不完美,但用于测验意图应该问题不大。
CSRF tokens是随机生成的数字的SHA256哈希值,而且每个HTTP恳求的哈希值都不同。
因而,假如不对Burp进行针对性的装备,它将无法检测到该问题的存在。
sqlmap也相同。
我运用–technique,–dbms和-p选项来加快扫描。由于这仅仅一个简略的根据布尔的SQLi,因而–level 1(默许值)就足够了。可是,假如凭证不正确的话,则必须将–risk设置为3才行。由于只要危险等级为3的情况下,根据布尔的SQLi才干被检测到。根据布尔的SQLi是十分危险的,由于它们能够使任何条件为真。例如当UPDATE或DELETE句子的WHERE子句存在这种注入,进犯者就能够完成更改数据库中用户暗码,转储凭证等。
这儿,我运用sqlmap的SQLi –csrf-token =“mytoken”选项,检测到了一个根据OR的SQLi:
这是一个登录验证表单,明显这儿是一个SELECT句子,这意味着危险等级3没有损害。
当然,假如你有有用凭证,它还简单遭到根据AND的SQLi进犯。但即便我具有有用凭证,我也会先用另一个(有用)用户名来进行测验,先找到根据OR的SQLi。这样做能够防止账户被以外的确定。
此外,运用sqlmap的SQLi –csrf-token =“mytoken”选项,我还检测到了一个根据AND的SQLi:
CGIHTTPServer
首要,咱们来创立CGI脚本:
这个脚本需求创立在folder_whatever/cgi-bin/目录中。咱们将其称为mask.py,并保证其是可执行的。创立完成后,咱们从“folder_whatever”目录中运转“python -m CGIHTTPServer”。默许情况下,它将侦听8000/tcp端口。
你能够运用正确的暗码对其进行测验:
以及运用一个过错暗码:
现在,咱们无需对Burp和sqlmap进行特定装备,就能轻松的检测到安全漏洞。
为了更好去发掘php缝隙,关于盛行的结构,咱们也要了解一下,这样才干发掘到高位缝隙。关于结构学习,不同公司有不同结构,所以关于结构,也因人而应,别的看公司需求,假如你的公司大部分选用某一种结构,你来...
关于一个战士来说,最大的愿望便是能上战场真刀实枪的干上一战,相同关于一名安全人员来说,自己规划、建造的通过层层防护的系统,假如没有经历过一次进犯,难免有点索然寡味。在许多的甲方傍边,运营商互联网事务暴...
在探究Flask/Jinja2中的服务端模版注入Part1中,我开端的方针是找到文件的途径或许说是进行文件体系拜访。之前还无法达到这些方针,可是感谢朋友们在之前文章中的反应,现在我现已可以完成这些方针...
nginx lua模块淘宝开发的nginx第三方模块,它能将lua言语嵌入到nginx装备中,然后运用lua就极大增强了nginx的才能.nginx以高并发而闻名,lua脚本简便,两者的调配可谓完...
HTTP会话绑架 HTTP是无状况的协议,为了保持和盯梢用户的状况,引入了Cookie和Session,但都是根据客户端发送cookie来对用户身份进行辨认,所以说拿到了cookie,就能够取得vic...
Exploit Kit职业现在正在发作新的调整,原先许多具有进犯性的缝隙进犯套件或许消失,或许市场份额削减,比方Nuclear EK和AnglerEK这样的职业大鳄几乎在同一时刻消失了,咱们估测这可能...