运用Python CGIHTTPServer绕过注入时的CSRF Token防护

访客5年前黑客资讯919

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进行特定装备,就能轻松的检测到安全漏洞。

相关文章

OWASP TOP 10之怎么防护CSRF进犯

0x00 什么是CSRF CSRF(Cross-site request forgery跨站恳求假造,也被称为“One Click Attack”或许Session Riding,一般缩写为CSR...

根据时延的盲道研讨:受限环境下的内容回传信道

在一次缝隙赏金活动中,挖到个指令注入的洞,我先以时延作为证明向厂商提交该缝隙,厂商以国内网络环境差为由(确实得翻墙)拒收,几回交流,奉告若我能取回指定文件 secret.txt 才认可。方针是个受限环...

在Go中运用反向署理进行网络垂钓测验

关于一个进犯者来说,要想施行一次网络垂钓进犯,往往需求做很多的准备作业。例如建立垂钓站点,诱惑受害者上钩,捕获受害者的登录凭据等。为了防止这些冗杂的进程,本文我将教咱们运用Go自动化这些进程。 完好的...

利用PHP解析字符串函数parse_str的特性来绕过IDS、IPS和WAF-黑客接单平台

众所周知,PHP将查询字符串(在URL或正文中)转换为$_GET或$_POST中的相关数组。例如:/ ?foo=bar被转换为Array([foo] => "bar")。查询字符串解析进程运用下...

秒爆十万字典:奇葩技巧快速枚举“一句话后门”暗码

关于一句话咱们都不生疏,有时会需求爆炸。爆炸的速度和方针的响应速度就有很大的关系了。那假如咱们爆炸的速度能够提高至少1000倍呢? 首要如下图↓ 变量=echo “ok”; 假如这个变量等于暗码的时分...

Web缓存操控战略详解

Cache-Control 办理Web缓存的最常用和最有用的办法之一是经过Cache-Control HTTP标头,由于此标头适用于Web页面的缓存,这意味着咱们页面上的一切内容都能够具有十分精细化的...