SQL注入与服务器端请求伪造漏洞深度剖析
SQL注入相关案例与要点
在安全测试中,Orange通过概念验证确认了数据库用户名、主机名和数据库名分别为sendcloud_w@10.9.79.210和sendcloud。Uber在收到报告后确认,该SQL注入并非发生在其自身服务器上,而是出现在其使用的第三方服务器,但仍支付了奖励。这或许是因为该漏洞可能使攻击者从sendcloud数据库中获取Uber所有客户的电子邮件地址。
在进行数据库信息获取时,你既可以像Orange那样编写自己的脚本,也可以使用自动化工具,如sqlmap。
以下是一些关键要点:
-参数编码处理:留意接受编码参数的HTTP请求。解码并注入查询后,要重新编码有效负载,确保与服务器期望的编码一致。
-操作合规性:提取数据库名、用户名和主机名通常无害,但要确保在你参与的漏洞赏金计划允许的操作范围内。在某些情况下,sleep命令足以作为概念验证。
Drupal SQL注入漏洞分析
Drupal是一个流行的开源网站内容管理系统,类似于Joomla!和WordPress,用PHP编写且具有模块化特点。2014年,由于所有Drupal网站都存在SQL注入漏洞,Drupal发布了紧急安全更新,该漏洞可被匿名用户轻易利用,攻击者可借此接管未打补丁的Drupal网站。
此漏洞源于Drupal核心的预编译语句功能中的一个错误,具体发生在Drupal的数据库应用编程接口(API)中。该API使用PHP数据对象(PDO)扩展,它隐藏了不同数据库之间的差异,支持预编译语句。 <