upload-labs关卡记录12

直接上传一句话木马,发现提示:

很明显这是一个白名单,而且不是前端的js检查,而是服务端的检查,因此我们使用bp抓包,改一下文件类型试试:

找到包之后,我们对content-type进行一个更改,改为png类型。然后放包试试:

发现依旧提示只允许上传这些类型的文件,可见我们这种绕过失败了。

于是就进行%00截断绕过,原理就是:%00是一个url编码,url发送到服务器后就被服务器解码,这时还没有传到验证函数,也就是说验证函数里接收到的不是%00字符,而是%00解码后的内容,即解码成了0x00。在url中%00表示ascll码中的0 ,而ascii中0作为特殊字符保留,表示字符串结束,所以当url中出现%00时就会认为读取已结束。

我们使用bp抓包,然后对url这里进行更改:

注意我们要先改shell.php为shell.png这样才能正确执行我们save_path里面的更改

然后放包:

我们看到,已经成功进行了绕过:

复制图像链接打开后就发现,会出现这样一堆东西,这个时候我们需要将%00也就是php后面的东西全部去掉即可:

复制代码
$img_path = $_GET['save_path']."/".rand(10, 99).date("YmdHis").".".$file_ext

这时源代码中关于上传图片保存路径的代码:

实际就是:../upload. /随机数 时间戳 .文件后缀

我们使用了截断后: upload/a.php%EF%BF%BD/xxxxxx.png

这里的%EF%BF%BD就是我们之前更改url传入的%00的编码

补充一下:这里使用这个%00截断的时候,php:php < 5.3.29且在php的配置中要设置:magic_quotes_gpc=off

相关推荐
qq_260241231 小时前
将盾CDN:网络安全态势感知的建设与实践
安全·web安全
一袋米扛几楼982 小时前
【网络安全】Splunk 是什么?
安全·web安全
一袋米扛几楼982 小时前
【网络安全】SIEM -Security Information and Event Management 工具是什么?
前端·安全·web安全
AI_Claude_code2 小时前
ZLibrary访问困境方案三:Web代理与轻量级转发服务的搭建与优化
爬虫·python·web安全·搜索引擎·网络安全·web3·httpx
智擎软件测评小祺3 小时前
渗透测试报告关键模块拆解
网络·web安全·渗透测试·测试·检测·cma·cnas
TE-茶叶蛋4 小时前
ThinkPHP入门
php
TE-茶叶蛋5 小时前
结合登录页-PHP基础知识点解析
android·开发语言·php
FreeBuf_5 小时前
Storm-1175黑客组织在漏洞披露24小时内部署Medusa勒索软件
安全·web安全·storm
流觞 无依6 小时前
DedeCMS plus/comment.php 评论 XSS/注入(XSS、SQL注入)修复教程
sql·php·xss