2025.8.26周二 在职老D渗透日记day26:pikachu文件上传漏洞 前端验证绕过
1.绕过文件上传限制
(1)限制后缀名
白名单:jpg、gif、png、jpeg,很少存在漏洞,他的路径可控的情况下也会造成漏洞,可以绕过他的限制。
黑名单:asp、php、jsp、aspx、cer、phtml。
(2)限制头文件
上传的头文件类型Content-Type: image/jpeg
检测是否是一个图片文件 getimagesize
2.常见的上传绕过方法
(1)js前端认证
修改js的逻辑进行上传
<script>function checkFileExt(filename){var flag = false; //状态var arr = ["jpg","png","gif"];//取出上传文件的扩展名var index = filename.lastIndexOf(".");var ext = filename.substr(index+1);//比较for(var i=0;i<arr.length;i++){if(ext == arr[i]){flag = true; //一旦找到合适的,立即退出循环break;}}//条件判断if(!flag){alert("上传的文件不符合要求,请重新选择!");location.reload(true);}}
</script>
http://192.168.132.128/pikachu/vul/unsafeupload/uploads/test.php
删除逻辑代码
(2)burpsuite抓包改包
test1.php内容,改后缀名为test1.jpg,上传pikachu靶场unsafe fileupload的client check,用burpsuite+firefox foxy proxy抓包,send to repeater,修改test1.jpg后缀名为test1.php,发送成功,显示文件保存路径为/uploads/test1.php。
<?php
echo md5('123456');
phpinfo();
?>