文件上传漏洞

您所在的位置:网站首页 为什么会存在文件上传漏洞 文件上传漏洞

文件上传漏洞

2023-08-11 15:55| 来源: 网络整理| 查看: 265

预备知识:在请求方法中,get方式会对url编码进行自动解码,但是post不会对url编码进行自动解码。所以,在数据包以post方式提交时,要先将url编码进行解码,然后再提交。  

        查看下本关的源码。不难发现,本关使用白名单,只允许上传jpg、png、gif格式的文件。

源码中move_upload_file将文件上传到img_path的路径中,而img_path路径是save_path加上随机数时间戳+ “.” + 后缀名。这里save_path可以在数据包中修改。

        所以考虑%00截断。

        点击浏览,选中ws.jpg(实际为ws.php修改后缀为jpg)文件,打开burp suite进行抓包,点击上传。

将数据包发送到Repeater模块。

        在save_path路径中加上ws.php%00.jpg。点击发送数据包,发现显示上传失败。这是因为%00未进行url解码。解码后%00会被解释为空字符或者说null,当一个字符串中存在空字符的时候,在被解析的时候会导致空字符后面的字符被丢弃。

        故将%00选中,在burp suite右侧,手动进行解码,如图:

        此时将数据包左侧的%00替换为解码后的空字符。这里虽然看不见替换掉的空字符,但是选中替换部位,可在burp suite右侧看到替换的空字符。

点击发送,文件上传成功。

 



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3