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文件。网站前期上线之前一定要做渗透测试,全方位的检测网站存在哪些漏洞,提前修复,促使后期网站平台的发展有序进行,不会因为漏洞而导致业务终止。

相关文章
|
7月前
|
Java Android开发
Rockchip系列之CAN APP测试应用实现(4)
Rockchip系列之CAN APP测试应用实现(4)
122 1
|
7月前
|
测试技术 UED Python
App自动化测试:高级控件交互技巧
Appium 的 Actions 类支持在移动应用自动化测试中模拟用户手势,如滑动、长按等,增强交互性测试。ActionChains 是 Selenium 的概念,用于网页交互,而 Actions 专注于移动端。在Python中,通过ActionChains和W3C Actions可以定义手势路径,例如在手势解锁场景中,先点击设置,然后定义触点移动路径执行滑动解锁,最后验证解锁后的元素状态。此功能对于确保应用在复杂交互下的稳定性至关重要。
|
1月前
|
Java 测试技术 持续交付
【入门思路】基于Python+Unittest+Appium+Excel+BeautifulReport的App/移动端UI自动化测试框架搭建思路
本文重点讲解如何搭建App自动化测试框架的思路,而非完整源码。主要内容包括实现目的、框架设计、环境依赖和框架的主要组成部分。适用于初学者,旨在帮助其快速掌握App自动化测试的基本技能。文中详细介绍了从需求分析到技术栈选择,再到具体模块的封装与实现,包括登录、截图、日志、测试报告和邮件服务等。同时提供了运行效果的展示,便于理解和实践。
112 4
【入门思路】基于Python+Unittest+Appium+Excel+BeautifulReport的App/移动端UI自动化测试框架搭建思路
|
1月前
|
安全 Apache 开发工具
【Azure App Service】在App Service上关于OpenSSH的CVE2024-6387漏洞解答
CVE2024-6387 是远程访问漏洞,攻击者通过不安全的OpenSSh版本可以进行远程代码执行。CVE-2024-6387漏洞攻击仅应用于OpenSSH服务器,而App Service Runtime中并未使用OpenSSH,不会被远程方式攻击,所以OpenSSH并不会对应用造成安全风险。同时,如果App Service的系统为Windows,不会受远程漏洞影响!
|
3月前
|
测试技术
基于LangChain手工测试用例转App自动化测试生成工具
在传统App自动化测试中,测试工程师需手动将功能测试用例转化为自动化用例。市面上多数产品通过录制操作生成测试用例,但可维护性差。本文探讨了利用大模型直接生成自动化测试用例的可能性,介绍了如何使用LangChain将功能测试用例转换为App自动化测试用例,大幅节省人力与资源。通过封装App底层工具并与大模型结合,记录执行步骤并生成自动化测试代码,最终实现高效自动化的测试流程。
|
4月前
|
运维 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)
|
4月前
【Azure App Service】同一个App Service下创建多个测试站点的方式
【Azure App Service】同一个App Service下创建多个测试站点的方式
|
4月前
|
网络协议 安全 前端开发
【应用服务 App Service】Azure 应用服务测试网络访问其他域名及请求超时限制(4分钟 ≈ 230秒)
【应用服务 App Service】Azure 应用服务测试网络访问其他域名及请求超时限制(4分钟 ≈ 230秒)
|
4月前
|
测试技术
一款功能完善的智能匹配1V1视频聊天App应该通过的测试CASE
文章列举了一系列针对1V1视频聊天App的测试用例,包括UI样式、权限请求、登录流程、匹配逻辑、消息处理、充值功能等多个方面的测试点,并标注了每个测试用例的执行状态,如通过(PASS)、失败(FAIL)或需要进一步处理(延期修改、待定、方案再定等)。
73 0
|
4月前
|
负载均衡 网络协议 安全
【Azure 应用服务】Azure Web App的服务(基于Windows 操作系统部署)在被安全漏洞扫描时发现了TCP timestamps漏洞
【Azure 应用服务】Azure Web App的服务(基于Windows 操作系统部署)在被安全漏洞扫描时发现了TCP timestamps漏洞