文件上传file upload漏洞
产生原因
网站存在文件上传功能,但是开发者没有对用户上传的文件做严格的校验,导致用户可以传入木马文件,破坏或控制服务器。
如何挖掘
任何上传文件的地方都有可能存在文件上传漏洞,逐一去尝试。
一个网站文件上传功能都有哪些:
上传头像,上传附件,招聘网站简历,照片,发送邮件附件文件,文本编辑器的附件,实名认证上传实名信息,网盘上传,chatgpt文件上传
怎么尝试
①webshell网站木马(可以控制目标网站)
.php .jsp .asp asp.net webshell(不通用)
②脏文件(不能直接控制目标网站)
HTML(<h1>abc</h1>)
非常大的文件(1GB)
如何利用(绕过)
①掌握webshell
<?php @eval($_POST['a']);?>
php一句话木马
②绕过JS检测(修改JS前端限制)
hackbar
a=phpinfo();
a=system("")双引号中包裹命令 ipconfig、whomi等
③绕过MINE限制
④黑名单
不允许 .php .jsp .asp .aspx
如果是Windows系统,可以大写
.php后加空格
.htaccess文件只对apche网站才起作用
⑤白名单
只允许 .png .jpg .jpeg
没办法绕过,如果想绕过,必须借助其他工具
④00截断
条件:PHP版本5.2
php.ini文件中的magic_quotes_gpc必须为off状态
⑤中间件解析漏洞
apache ngnix iis6.0本身出现的漏洞
⑥php文件包含漏洞
如果没有其他漏洞,白名单无法绕过
如何防御
①后缀名黑名单
.php .php. .htaccess .user.ini .asp .jsp .asp
②后缀名白名单
只允许png
③隐藏上传路径
随机重命名,让黑客找不到上传的东西在哪
④服务器隔离,把用户上传的文件放到一个单独的静态服务器(云:OSS对象存储)
⑤上传目录禁止执行
⑥压缩(二次渲染)
⑦读取文件信息
图片(像素、长、宽、高、灰度)
⑧限制文件大小
怎么找到上传的webshell
①图片的路径
②响应体中找
③看别人传的文件在哪,根据特征猜测自己的
Webshell管理器
①蚁剑
最常用,明文,不加密
②哥斯拉
动态加密
③冰蝎
动态加密 冰蝎4.1版本比哥斯拉更强,PHP版本太低无法运行
活动发起人@小虚竹 想对你说:
这是一个以写作博客为目的的创作活动,旨在鼓励大学生博主们挖掘自己的创作潜能,展现自己的写作才华。如果你是一位热爱写作的、想要展现自己创作才华的小伙伴,那么,快来参加吧!我们一起发掘写作的魅力,书写出属于我们的故事。我们诚挚邀请你参加为期14天的创作挑战赛!