任意文件上传绕过

1、客户端:js检查

1、客户端检测绕过(javascript 检测) 首先观察到提示只允许上传图片文件,那么前端的查看代码,当页面发生改变时,会调用这个checkFileExt函数来检查上传的是不是图片,我们只需要在前端将checkFileExt函数删除,就能上传一个一个非图片文件。

再火狐中打开,删除函数,选择TXT文件。

会显示保存路径,可通过路径进入上传的木马。

2、先改成JPG图片格式,到抓包已经过检查,在数据包中在改成PHP

选择之后开始上传  绕过:抓包改类型  改上传类型

  2、服务器端:

1、如在前端没有验证,在后端验证MIME。(MIME不校验文件扩展名和内容)

服务端验证绕过(MIME 类型检测)

      MIME(Multipurpose Internet Mail Extensions)多用途互联网邮件扩展类型。是设定某种扩展名的文件用一种应用程序来打开的方式类型,当该扩展名文件被访问的时候,浏览器会自动使用指定应用程序来打开。多用于指定一些客户端自定义的文件名,以及一些媒体文件打开方式。

      每个MIME类型由两部分组成,前面是数据的大类别,例如声音audio、图象image等,后面定义具体的种类。

选择文件之后,开始上传。

用brup suite 抓包。将MIME改为 image/png  即可。


三、代码注入绕过--getimagesize()

2、文件包含漏洞之文件上传漏洞利用 (图片带木马)

方法一:直接伪造头部GIF89A(代表图片开头)  (需要问)

在木马前加图片头。

方法二:CMD方法,copy /b test.png+1.php muma.png (/d 相当于合并两个文件)(木马插入图片末尾)结合包含漏洞执行PHP。

方法三:直接使用工具增加备注写入一句话木马。(木马随机插)(工具在VS漏洞利用里面)

图片拖入工具,点击OK。结合包含漏洞执行PHP。

pass-17:

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。