渗透测试--文件上传漏洞详解

文件上传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天的创作挑战赛!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值