利用16进制编码转换小数点突破上传

2017-11-01 12:00:45 45 5837


服务器:Linux
环境:nginx/1.4.7
脚本:PHP Version 7.0.0
上传情况简介:

上传  111.jpg111 确实可以成功的但是上传  1.php.jpg1111.1 失败了?,这个告诉我们,文件名必须包含 jpg 三个字母,且 后缀必须为 .jpg 当然你也可以不给他.jpg 但是不能为其他 .* 意思就是 你可以这样:1.phpjpg 或者 1.phpng 在或者 1.jpg1213456 但是就是不能 1.jpg .php



尝试 .php.jpg111.1 失败



上传  111.jpg111 确实可以成功的,

所以我们当前上传判断是这样的,  jpg是必须带入到文件名  且后缀 小数点后方必须为 jpg 或者其他图片格式(jpeg png gif bmp),我们利用 将小数点转换为 16进制编码。从而绕过、。

于是用了上传

111.php.jpg



Getshell



这个转换后的16进制小数点,是进行了类似于%00的00截断还是跟服务器关系?各位表哥不妨试试。

关于作者

GET丶Boy篇文章篇回复

评论45次

要评论?请先  登录  或  注册