APP渗透测试 头像上传漏洞检测与修复

简介: 多客户网站以及APP在上线运营之前都会对网站进行渗透测试,提前检测网站是否存在漏洞,以及安全隐患,避免因为网站出现漏洞而导致重大的经济损失,客户找到我们SINE安全做渗透测试服务的时候,我们都会对文件上传功能进行全面的安全测试,包括文件上传是否可以绕过文件格式,上传一些脚本文件像php,jsp,war,aspx等等,绕过上传目录,直接上传到根目录下等等的一些漏洞检测。

多客户网站以及APP在上线运营之前都会对网站进行渗透测试,提前检测网站是否存在漏洞,以及安全隐患,避免因为网站出现漏洞而导致重大的经济损失,客户找到我们SINE安全做渗透测试服务的时候,我们都会对文件上传功能进行全面的安全测试,包括文件上传是否可以绕过文件格式,上传一些脚本文件像php,jsp,war,aspx等等,绕过上传目录,直接上传到根目录下等等的一些漏洞检测。

0eb30f2442a7d9338a860318cf61a21673f0015a.jpeg

那什么是文件上传漏洞?我们SINE安全来给大家讲解一下:简单来说,文件上传就是可以上传一些文件到网站以及APP里,大部分的网站都只允许上传图片格式文件,以及文档类的文件,之所以要做渗透测试就是要检测该上传功能是否存在漏洞,程序源代码里有没有对POST过来的上传数据进行安全校验,以及文件后缀名的检查,有些客户网站并没有做安全校验,导致可以直接上传webshell(也叫网站木马后门)到网站中。


当文件上传功能出现漏洞就可以直接执行网站木马文件,该webshell可以对网站代码进行操作,上传,下载,编辑,以及数据库操作,执行恶意的远程代码到服务器中,都是可以的,相当于网站的管理员权限了,该漏洞的危害性较大。可能会导致用户的数据泄露,以及数据库被篡改。


根据我们SINE安全多年的渗透测试经验来看,客户网站存在文件上传漏洞的地方总结如下:


1.会员上传头像功能


7af40ad162d9f2d3dd7a870727fef2166227cc83.jpeg


2.上传文档功能


3.提交意见反馈+截图上传


4.添加文章的图片上传


2cf5e0fe9925bc31cb5ccf97cecdf5b4cb137050.jpeg


5.留言功能上传图片


aa64034f78f0f7361fed38c68447cb1ceac413f9.jpeg


存在的上传漏洞类型:文件扩展名绕过漏洞,以及文件解析漏洞,content-type绕过漏洞,文件名大小写绕过上传漏洞,文件头绕过漏洞,JS前端绕过上传漏洞,我们SINE安全渗透测试这么多客户当中,出现JS前端绕过漏洞频率最多,很多程序员在设计代码过程中,只对JS前端的访问用户做了安全校验,并没有对网站后端做安全校验,导致可以直接修改后缀名进行上传脚本文件。我们来举例看下:


adaf2edda3cc7cd9223fc26eb613593ab80e910b.jpeg


首先该上传功能在前台网站当中是公开的,任何一个注册的会员都可以上传,在更换头像这里,可以自定义选择图片进行上传,我们通过抓包截图post的数据包,并修改数据库里的filename值,将扩展名修改为jsp,php就可以直接上传到网站中。


关于渗透测试中文件上传漏洞的修复办法是:对文件上传的格式做白名单设置,值允许上传jpg,png,gif,等的图片格式文件,如果后缀名不是以上三种,直接返回上传失败,再一个对文件代码做安全校验,不仅仅是在JS里做判断,还要在后端做安全校验,对上传的目录地址进行锁定,指定上传的目录地址,对图片的文件夹目录做无执行脚本权限,防止运行JSP,PHP,ASP等脚本的webshell文件。网站前期上线之前一定要做渗透测试,全方位的检测网站存在哪些漏洞,提前修复,促使后期网站平台的发展有序进行,不会因为漏洞而导致业务终止。

相关文章
|
6月前
|
SQL 安全 关系型数据库
接上篇文章,在测试宝塔 WAF 的未授权访问漏洞时无意间还发现了一个 SQL 注入漏洞
接上篇文章,在测试宝塔 WAF 的未授权访问漏洞时无意间还发现了一个 SQL 注入漏洞,品相还不错,可执行任意 SQL 语句。 总之,吃了一惊,一个防 SQL 注入的工具居然也有 SQL 注入漏洞。 请看这段代码
581 9
|
1月前
|
安全 程序员 网络安全
Kali渗透测试:对软件的溢出漏洞进行测试
Kali渗透测试:对软件的溢出漏洞进行测试
|
2月前
|
安全 Java 应用服务中间件
渗透测试-JBoss 5.x/6.x反序列化漏洞
渗透测试-JBoss 5.x/6.x反序列化漏洞
51 14
|
3月前
|
运维 Kubernetes 容器
【Azure K8S】演示修复因AKS密钥过期而导致创建服务不成功的问题(The provided client secret keys for app ****** are expired)
【Azure K8S】演示修复因AKS密钥过期而导致创建服务不成功的问题(The provided client secret keys for app ****** are expired)
【Azure K8S】演示修复因AKS密钥过期而导致创建服务不成功的问题(The provided client secret keys for app ****** are expired)
|
1月前
|
安全 网络协议 Linux
Kali渗透测试:使用Armitage针对漏洞进行攻击
Kali渗透测试:使用Armitage针对漏洞进行攻击
|
2月前
|
安全 网络安全 数据安全/隐私保护
渗透测试-Openssl心脏出血漏洞复现
渗透测试-Openssl心脏出血漏洞复现
108 7
|
2月前
|
安全 测试技术 Linux
CentOS7 安装vulhub漏洞测试环境
CentOS7 安装vulhub漏洞测试环境
|
3月前
|
安全 应用服务中间件 网络安全
Python 渗透测试:漏洞的批量搜索与利用.(GlassFish 任意文件读取)
Python 渗透测试:漏洞的批量搜索与利用.(GlassFish 任意文件读取)
54 11
|
3月前
|
安全 测试技术 网络安全
|
4月前
|
安全 测试技术 网络安全
探索自动化测试:从理论到实践网络防御的盾牌与剑:漏洞解析与加密技术实战
【7月更文挑战第31天】在软件工程领域,自动化测试是确保产品质量和提升开发效率的关键工具。本文将深入探讨自动化测试的核心概念、优势以及面临的挑战,并通过一个具体的代码示例来展示如何在实际项目中实施自动化测试。我们将看到,通过采用恰当的策略和技术,自动化测试不仅能够提高测试覆盖率,还可以缩短反馈周期,从而加速迭代速度。 【7月更文挑战第31天】在数字世界的无垠战场上,网络安全和信息安全是守护数据宝藏的盾牌与剑。本文将深入探讨网络安全的脆弱点,揭示加密技术的奥秘,并唤醒每一位数字时代居民的安全意识。通过代码示例和案例分析,我们将一起穿梭在信息的海洋中,学习如何铸造坚不可摧的防御,以及如何运用高超
75 0

热门文章

最新文章