文章目录
- 任意文件操作
- 服务器解析漏洞(做个了解)
- 文件包含
- 总结
任意文件操作
一、任意文件上传
常见文件上传点
大部分的网站和应用系统都有上传功能,如用户头像上传,图片上传,文档上传等
概念
任意文件上传漏洞:
由于对上传文件未作过滤和过滤机制不严(文件后缀或类型),导致恶意用户可以上传脚本文件,通过上传文件可以到达控制网站权限的目的
危害:
- 攻击者可以获得网站控制权限
- 查看、修改、删除网站数据
- 通过提权漏洞可获得主机权限
webshell:
一种网页后门,以asp、php、jsp等网页文件形式存在的以后再命令执行环境
tips–weshell
什么是webshell?
Webshell就是以asp、php、jsp或者cgi等网页文件形式存在的一种命令执行环境,也可以将其称为一种网页后门。hacker子啊入侵一个网站后,通常会将asp或pho后门文件与网站服务器WEB目录下正常的网页文件混在一起,然后就可以使用浏览器来访问asp或者php后门,得到一个命令执行环境,以达到控制网站服务器的目的。
概念
- 利用文件上传漏洞,通过服务端提交一句简单代码,配合本地客户端实现webshell功能
示例
- <%eval request(“cmd”)%>
- eval函数用于执行客户端命令
- request()接收客户提交的数据
- cmd 为客户端提交命令的参数值
特性
- 变形多,易隐藏、难发现
所需条件
满足这三个条件,攻击者就能够成功入侵
- 木马上传成功,未被杀;
- 知道木马的路径在哪;
- 上传的木马能正常运行(解析);
上传流程
一般一个文件上传过程中的检测如下图所示
简单说明:
- 用户选择要上传的文件;
- 客户端将文件分片并发送到服务器;
- 服务器接收文件片段后,将其存储在临时文件中;
- 所有文件片段传输完毕后,服务器将临时文件合并一个完整的文件;
- 服务器将文件保存到指定位置。
任意文件上传–GETSHELL
直接上传
部分网站带有文件上传功能,如果这个功能不做过滤,则能够上传任意文件至服务器。利用这个功能上传木马至服务器,则能够控制对应的服务器
木马上传成功或返回包一般返回上传木马的路径和文件名。若上传的是一句话木马,用蚁剑或者菜刀就可以控制服务器。
二、上传绕过–这里以upload靶场为例子
1.绕过JS验证
upload 第一关
方法1:Burpsuite剔除响应JS
对于JS前端验证,直接删除掉JS代码之后,就可以绕过JS验证。
方法2:浏览器审计攻击剔除JS
利用浏览器的审查工具剔除JS之后,保存为新文件然后进行文件上传。
方法3:使用浏览器的禁用JavaScript功能
最后上传Webshell,菜刀连接
2.绕过MIME-Type验证
介绍
MIME(Multipurpose Internet Mail Extensions)多用途互联网邮件扩展类型。是设定某种扩展名的文件用一种应用程序来打开的方式类,当该扩展名文件被访问的时候,浏览器会自动使用知道应用程序来打开。多用于知道一些客户端自定义的文件名,以及一些媒体文件打开方式。
验证MIME-Type代码分析
upload第二关
查看源码分析 使用$_FILE[‘upload_file’][‘type’]获取上传文件的MIME-Type类型。其中upload_file是在表单中定义的。
检测原理
服务端MIME类型检测时通过检测http包的Context-Type字段中的值来判断上传文件是否合法的。部分网站上传功能只对文件类型做了判断,抓包修改文件类型可绕过限制。若只允许上传图片,则文件类型可为image/jpeg,image/png等。
绕过技巧:可以先成功上传一个案例,观察服务器允许的mime的类型,然后再抓包修改测试
Burpsuite绕过MIME-Type验证
利用Bu
标签:WEB,验证,JS,漏洞,文件,服务器,绕过,上传 From: https://blog.csdn.net/qq_63594215/article/details/136863065