欢迎来到 黑吧安全网 聚焦网络安全前沿资讯,精华内容,交流技术心得!

实例讲解二阶SQL注入

来源:本站整理 作者:佚名 时间:2019-08-02 TAG: 我要投稿

二阶SQL注入简述
所谓二阶注入是指已存储(数据库、文件)的用户输入被读取后再次进入到 SQL 查询语句中导致的注入。
二阶注入也是SQL注入的一种,与我们平时接触最多的一阶SQL注入相比利用门槛更高。普通的一阶SQL注入数据直接就进入到SQL查询中,而二阶SQL注入则是输入数据经处理后存储,然后取出数据,最后才进入到SQL查询。
事实上你在网上搜索到的SQL注入文章,大部分都可以归结为一阶SQL注入,因为这些例子涉及的事件均发生在单个HTTP请求和响应中,如下所示:
· 攻击者在HTTP请求中提交某种经过构思的输入。
· 应用处理输入,导致攻击者注入的SQL查询被执行。
· 如果可行的话,会直接向攻击者返回查询结果。
二阶注入的流程如下:
· 攻击者在HTTP请求中提交某种经过构思的输入。
· 应用存储该输入(通常保存在数据库中)以便后面使用并响应请求。
· 攻击者提交第二个(不同的)请求。
· 为处理第二个请求,应用会检索已经存储的输入并处理它,从而导致攻击者注入的SQL查询被执行。
· 如果可行的话,会在应用对第二个请求的响应中向攻击者返回查询结果。

通过对比可以看到,二阶注入相较一阶注入更为隐蔽,难以被黑盒测试检测到,这也是目前各大漏洞平台二阶注入案例少的一个因素吧!
这几天刚好看到一个案例,群马启介第一时间就想着与诸君分享。
寻找不需身份验证的XSS
ZoneMinder是一款用于管理监控摄像头的软件系统,它有一个Web界面,也就是我们今天文章的主jio了。
那么我们就先在把测试环境搭建起来吧。需要注意,默认情况下ZoneMinder是没有开启身份验证的,我们是不需要进行用户名、密码验证的。在信息配置栏中有一个设置HOME URL的字段,并且设置的HOME URL是可以通过网页左上角的LOGO进行访问的。这可是存储型XSS必备的条件之一啊,我们试试在这个地方插入http://zoneminder.com" Microsoft YaHei", 微软雅黑, "Helvetica Neue", Helvetica, Arial, sans-serif; WHITE-SPACE: normal; WORD-SPACING: 0px; TEXT-TRANSFORM: none; WORD-BREAK: break-all; FONT-WEIGHT: normal; COLOR: rgb(51,51,51); PADDING-BOTTOM: 0px; FONT-STYLE: normal; TEXT-ALIGN: center; PADDING-TOP: 0px; PADDING-LEFT: 0px; ORPHANS: 2; WIDOWS: 2; MARGIN: 0px 0px 15px; LETTER-SPACING: normal; LINE-HEIGHT: 26px; PADDING-RIGHT: 0px; TEXT-INDENT: 0px; font-variant-ligatures: normal; font-variant-caps: normal; -webkit-text-stroke-width: 0px; text-decoration-style: initial; text-decoration-color: initial; -webkit-tap-highlight-color: transparent'>

如果XSS能打到高权限用户就极妙了,然鹅在本例中不适用,咱们这个不需要登录鸭。因此,我们需要把默认配置修改为开启身份验证。通过应用登录日志发现,不论登录是否成功,都会记录相关信息。那么我们在用户名字段插入XSS,密码字段任意输入,得到的结果是,页面提示用户密码错误,但是用户名的值已经被记录下来,静待管理员查看日志吧!


寻找SQL注入
我们登录了两次,一次是HTML渲染,一次是HTML剥离。我们找到身份验证函数,看看其运作逻辑。于是找到web/includes/auth.php的userLogin函数:
function userLogin($username, $password='', $passwordHashed=false) {
  global $user;
  $sql = 'SELECT * FROM Users WHERE Enabled=1';
  …
  $_SESSION['username'] = $username;
  …
  if ( $dbUser = dbFetchOne($sql, NULL, $sql_values) ) {

[1] [2]  下一页

【声明】:黑吧安全网(http://www.myhack58.com)登载此文出于传递更多信息之目的,并不代表本站赞同其观点和对其真实性负责,仅适于网络安全技术爱好者学习研究使用,学习中请遵循国家相关法律法规。如有问题请联系我们,联系邮箱admin@myhack58.com,我们会在最短的时间内进行处理。
  • 最新更新
    • 相关阅读
      • 本类热门
        • 最近下载