• Sql注入之limit注入的学习


    0x01 前言

    今天听学长们交流漏洞挖掘的经验,提到了Limit注入,借此来学习一下limit注入

    0x02 知识介绍

    limit

    LIMIT[位置偏移量,]行数

    其中,中括号里面的参数是可选参数,位置偏移量是指MySQL查询分析器要从哪一行开始显示,索引值从0开始,即第一条记录位置偏移量是0,第二条记录的位置偏移量是1,依此类推...,第二个参数为“行数”即指示返回的记录条数。

    效果如图 自行理解

    1.png

    benchmark

    benchmark函数有两个参数,第一个是执行次数,第二个是要测试的函数或者表达式 
    
    比如 benchmark(10000000,sha1(1))
    
    意思是执行sha1函数10000000次 使mysql运算量增大 导致延时 有点类似与多表联合查询(笛卡尔积)
    
    

    如图

    2.png

    大概执行10000000次会造成3秒以上的延时

    0x03 limit注入

    Example:select*from limittest limit 1,[可控点] or select ... limit [可控点]

    limit后面能够拼接的函数只有into和procedure,into可以用来写文件,本文我们不考虑。

    在Limit后面 可以用 procedure analyse()这个子查询

    而且只能用extractvalue 和 benchmark 函数进行延时

    procedure analyse(updatexml(rand(),concat(0x3a,benchmark(10000000,sha1(1)))),1)

    如图

    3.png

    0x04 脚本批量检测

    我的思路是将获取的url的每个id用poc来测试查看有没有延时。

  • 相关阅读:
    javascript-类型、值和变量
    词法结构
    前端js保存页面为图片下载到本地
    js生成带log的二维码(qrcodejs)
    工具函数
    css 水平垂直居中
    vue中的keep-alive
    vuex 的使用
    Spring源码解析
    Spring源码解析
  • 原文地址:https://www.cnblogs.com/Mrsm1th/p/9004212.html
Copyright © 2020-2023  润新知