sqli-labs less 5-6

匿名 (未验证) 提交于 2019-12-02 23:26:52

sqli-labs less 5-6

从源代码中可以看到,运行返回结果正确的时候只返回you are in....,不会返回数据库当中的信息了,以前的union联合查询就不能用了,开始尝试盲注。

简单介绍下 left函数的使用

Left()得到字符串左部指定个数的字符
Left ( string, n ) string为要截取的字符串,n为长度。

目前Mysql版本号为5.5.53

利用left(version(),1) 和二分查找 进行尝试判断

大于6时 不能正确显示 you are in...... 基本确定 第一位为5

正常返回 说明version() 第一位为5

根据上述方法以此类推进行判断,推荐使用单引号包含内容

利用Length可以判断数据库的长度

下面开始猜解数据库名 database() 为 security 利用二分查找

到这部基本确定s为数据库名的第一位

猜测数据库第二位 看前两位是否大于 sa

往下的请举一反三即可!

根据以上得知数据库名为security,那我们利用此方式获取security数据库下的表,开始利用substr() ascii() mid()函数进行尝试。

简单介绍下mysql中limit 语法

select * from table limit m,n
其中m是指记录开始的index,从0开始,表示第一条记录,n是指从第m+1条开始,取n条。

select * from tablename limit 2,4
即取出第3条至第6条,4条记录。

根据二分查找 判断出表名,此处为最终验证结果,LIMIT 3,1),1,5)意思是从数据中拿到第4条,取1条。从第一个字符开始取5位,包括本身。

Tips:上述利用mid函数也可以替换成substr函数或substring函数!

下面利用ascii码来进行判断,以此类推就能得出表名users

ascii对照表:http://tool.oschina.net/commons?type=4

获取users表的内容

Tips:还有很多方法没有写进来,实在太多了。观察大神的payload学习学习,再尝试自己构建注入payload,这样理解起来就比较好!这less 5-6也可以利用报错注入和延时注入,这里就先不说了,还没仔细看。less 6 把 less 5的单引号换成双引号即可...... 不过吧,现实中盲注基本利用sqlmap或者自己写的脚本来跑,手工盲注实在是太慢了!!!

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!