【技术分享】SQL注入:如何通过Python CGIHTTPServer绕过CSRF tokens

责声明">
一、前言 在Burp上,我们可以使用各种方法配置宏(macro)以绕过HTML表单上的CSRF tokens,这样我们就可以使用Burp Active Scans,Burp Intruder,Burp Repeater,甚至是Burp。代理执行渗透测...
t01330d9edd1cf0a7c3.png 一、前言 在Burp上,我们可以使用各种方法配置宏(macro)以绕过HTML表单上的CSRF tokens,这样我们就可以使用Burp Active Scans,Burp Intruder,Burp Repeater,甚至是Burp。代理执行渗透测试。我们还可以找到专为Intruder模块设计的Grep-Extract和干草叉攻击类型。当然,如果我们想要,我们也可以开发自己的Burp Extension。 Sqlmap上还有-csrf-token-csrf-url参数来处理类似的情况。如果不使用这些命令,我们可以根据前面描述的方法配置Burp,然后在sqlmap中使用-proxy参数和burp。 在本文中,我们将介绍另一种方法,即在python中使用CGIHTTPServer来完成此任务。 二、实验环境 我们构建了一个非常简单的PHP/mysql环境,登录后,您可以访问受限区域。您可以访问此链接以获取实验中使用的PHP代码,以便在其他方案中进行一些修改或调整。不要注意代码细节。毕竟,我不是PHP专家,只是热衷于构建满足需求的测试环境。实验环境有助于我们了解测试过程并在实际场景中找到真正的目标。 实验中使用的CSRF令牌是一串随机生成的SHA256哈希字符串,每个哈希字符串对应一个不同的令牌。 http://p5.qhimg.com/t01c6b3fdf969e80b0e.png 三、面临的问题 没有特殊配置,Burp将无法检测到此问题。 http://p6.qhimg.com/t0182f74e653c1efdd7.png 同样,如果没有-csrf-token参数,sqlmap也无法执行任何操作: http://p5.qhimg.com/t01ccc88fcb61eead88.png 我使用-technique,-dbms和-p参数来加速扫描。由于这是一个简单的基于布尔的SQL注入,我们只需要使用默认的-level 1参数。但是我们需要将-risk设置为3,因为我们只能测试具有更高风险值的基于OR布尔的SQLi场景。类型OR的SQL注入非常危险,因为此语句可以使任何条件的结果为true。例如,在使用WHERE子句的UPDATE或DELETE语句中,使用此注入方法,您很可能会意外更新数据库中所有用户的密码,或导出用户的凭据表,这正是您在[0x9A9A应尽可能避免测试结果。 在sqlmap中,我们可以使用-csrf-token=“mytoken”参数检测OR类型SQL注入: http://p6.qhimg.com/t0109f10cc438e25012.png 由于这是一个登录验证表单,它显然对应于SELECT语句,这意味着使用最高风险等级3不会带来任何风险。 当然,如果你有有效的凭证(你在实际的渗透测试中几乎没有这个条件),场景也会受到基于AND boolean的SQLi的影响。但是,即使我有有效的凭据,我将首先使用另一个(有效的)用户名来查找可用的OR类型SQLi,以避免意外锁定帐户(如果有帐户锁定机制)。 在sqlmap中,我们可以使用渗透来检测AND类型SQL注入: http://p8.qhimg.com/t01627b4d2dd3056994.png –csrf-token=”mytoken” 创建以下CGI脚本: http://p1.qhimg.com/t01cf0b9cfe76e10ad3.png 我们将脚本命名为mask.py并将其存储在xxx/cgi-bin /目录中,并确保.py文件是可执行的。创建此文件后,我们需要在xxx目录中运行python -m CGIHTTPServer命令。默认情况下,服务器侦听8000/tcp端口。 http://p4.qhimg.com/t01457b86e98d4422fa.png 首先,使用正确的密码测试此服务器: http://p3.qhimg.com/t0176bf4739483b07b1.png 然后,测试错误的密码: http://p0.qhimg.com/t017f3abc3e2d7dd613.png 现在,没有特殊配置,我们可以使用Burp和sqlmap来检测SQL注入漏洞。 http://p5.qhimg.com/t0145f0c6fa917d7f20.png 就好像我们添加了一个中间层,可以简化我们测试过程中CSRF令牌的复杂性。现在我们不需要刻意提交此令牌信息。 四、使用CGIHTTPServer [1] Sqlmap [2]此外,我们可以使用Mechanic执行类似的功能,以便扫描仪可以检测响应数据的差异。 [3] Burp Macro [4] Python代码对渗透测试人员更实用 本文由乘客安全翻译,作者:兴趣指示小胃 原文链接:https://blog.cobalt.io/bypassing-csrf-tokens-with-pythons-cgihttpserver-to-exploit-sql-injections-18f95e6152ff 黑客业务列表介绍和一般分类: 类别:攻击入侵破解开发 1:攻击业务订单:暂时取消所有此类业务订单[仅销售常规IDC流量] 2:入侵业务清单:包括网站源代码,办公系统,黑色系统,教育系统等。 3:破解业务类:软件,加密文件,二次打包,脱壳等。 4:二次开发业务清单:软件二次开发,源代码二次开发等 5:其他业务订单:特洛伊木马[通过所有防病毒],远程控制,特殊软件等 备注:未提及的业务订单可根据主要类别查询或直接联系客户服务。为避免浪费双方时间,请在咨询前阅读:业务交易流程及相关说明 注意:仅接受正式业务,个人无权接受。收集此内容。
  • 发表于 2017-10-18 08:00
  • 阅读 ( 1478 )
  • 分类:黑客技术

你可能感兴趣的文章

相关问题

0 条评论

请先 登录 后评论
不写代码的码农
黑客

2107 篇文章

作家榜 »

  1. 黑客 2107 文章