用户在使用本文信息时,应自行承担风险。本文不对用户因使用本文信息而导致的任何直接或间接损失承担责任。——鲁迅
知识补给库
学习内容:大小写绕过
对于文件后缀来说,大小写并不影响其使用。如:txt与TXT等价
对于php文件同样有效,恒等变形:pHp、PhP‘、PHp等,均与php等价
代码审计
打开第6节靶场的源代码

$deny_ext = array(".php",".php5",".php4",".php3",".php2",".html",".htm",".phtml",".pht",".pHp",".pHp5",".pHp4",".pHp3",".pHp2",".Html",".Htm",".pHtml",".jsp",".jspa",".jspx",".jsw",".jsv",".jspf",".jtml",".jSp",".jSpx",".jSpa",".jSw",".jSv",".jSpf",".jHtml",".asp",".aspx",".asa",".asax",".ascx",".ashx",".asmx",".cer",".aSp",".aSpx",".aSa",".aSax",".aScx",".aShx",".aSmx",".cEr",".sWf",".swf",".htaccess",".ini");
$file_name = trim($_FILES['upload_file']['name']);
$file_name = deldot($file_name);//删除文件名末尾的点
$file_ext = strrchr($file_name, '.');
$file_ext = str_ireplace('::$DATA', '', $file_ext);//去除字符串::$DATA
$file_ext = trim($file_ext); //首尾去空
$deny_ext变量是一个黑名单数组,基本过滤了所有的内容- 后面5行代码也进行了各类验证
这些代码中没有进行大小写的验证
- 如第五关中的:
$file_ext = strtolower($file_ext); //转换为小写,在本节并没有出现,说明存在大小写漏洞
靶场测试
将muma.php改为muma.png,且在BP中打开监听

在网页中上传muam.png文件

在数据包中,将muma.png改为muma.Php(只要php不是全部为小写即可)

回到网页,看到木马文件上传成功,右击获取木马文件的保存位置

使用蚁剑连接木马文件,进而获取服务器的控制权

远程登录,获取服务器的操作权限。

漏洞利用原理
大家可以新建一个文本文件,如:a.TXT(修改文件后缀为大写),当确认以后,你会发现系统自动改为小写,即自动变为a.txt
上传muma.Php后,在if条件判断处.Php不存在于黑名单中,因此被允许上传;当系统保存木马文件时,Php自动变为php。

无情的广告时间
哈哈哈哈,又到了大家喜欢的广告时间了,公众号:编码魔坊,喜欢的话给个关注呗,点击下方小卡片,扫码即可关注,谢谢您的关注!!!
1082

被折叠的 条评论
为什么被折叠?



