渗透测试 对文件上传安全检测与webshell分析

简介: 前段时间我们SINE安全收到客户的渗透测试服务委托,在这之前,客户网站受到攻击,数据被篡改,要求我们对网站进行全面的渗透测试,包括漏洞的检测与测试,逻辑漏洞.垂直水平越权漏洞,文件上传漏洞.等等服务项目,在进行安全测试之前,我们对客户的网站大体的了解了一下,整个平台网站,包括APP,安卓端,IOS端都采用的JSP+oracle数据库架构开发,前端使用VUE,服务器是linux centos系统.下面我们将渗透测试过程里,对文件上传漏洞的检测与webshell的分析进行记录,希望更多的人了解什么是渗透测试.

前段时间我们SINE安全收到客户的渗透测试服务委托,在这之前,客户网站受到攻击,数据被篡改,要求我们对网站进行全面的渗透测试,包括漏洞的检测与测试,逻辑漏洞.垂直水平越权漏洞,文件上传漏洞.等等服务项目,在进行安全测试之前,我们对客户的网站大体的了解了一下,整个平台网站,包括APP,安卓端,IOS端都采用的JSP+oracle数据库架构开发,前端使用VUE,服务器是linux centos系统.下面我们将渗透测试过程里,对文件上传漏洞的检测与webshell的分析进行记录,希望更多的人了解什么是渗透测试.

42a98226cffc1e17c05150a36f075f06718de9d7.jpeg

我们直击漏洞根源,查看代码在uplpod.php文件里,可以看到有个lang变量给了language.php,并附加条件,设置的指定文件都存在,才可以将参数值传递过去,代码截图如下:


f636afc379310a5511c142784ec6f5ac802610da.jpeg


仔细看,我们看到代码调用了save_file的调用方式,由此可以导致langup值可以伪造,追踪溯源看到该值是对应的WEB前端用户的文件上传功能,在用户文件上传这里,并没有做安全效验与安全白名单拦截机制,导致可以重命名,直接将.jsp的脚本文件上传到网站的根目录下,包括APP也存在该漏洞.


aa18972bd40735fab612986767d2b9b60d240893.jpeg


我们SINE安全技术来渗透测试复现一下该文件上传漏洞是如何利用的,首先登录会员,并打开个人资料页面,有个文件上传功能,里面只允许上传图片格式的文件,只允许上传JPG,PNG,GIF,等后缀名的文件,以普通的图片文件来上传,我们抓取POST的上传数据包,将cont1的路径地址改为/beifen/1.jsp,并提交过去,返回数据为成功上传.复制路径,浏览器里打开,发现我们上传的JSP脚本文件执行了,也再一次的证明该漏洞是足以导致网站数据被篡改的,在这之前客户的网站肯定被上传了webshell网站木马文件,随即我们对客户的网站源代码进行全面的人工安全检测与分析,对一句话木马特制eval,加密,包括文件上传的时间点,进行检查,发现在网站的JS目录下存在indax.jsp,浏览器里打开访问,是一个JSP的脚本木马,可以对网站进行篡改,下载代码,新建文件,等网站管理员的操作,同理APP端也是存在同样的漏洞.调用的文件上传功能接口是一样.具体的webshell截图如下:


dc54564e9258d1090dbaab062bdb7aba6d814db6.jpeg


到这里我们只是渗透测试的一方面,主要是检测的文件上传功能是否存在漏洞,是否可以重命名,自定义上传路径以及文件格式绕过,关于渗透测试中发现的文件上传漏洞如何修复,我们SINE安全给大家一些修复建议与办法,首先对文件的上传格式进行限制,只允许白名单里的jpg,png,gif等格式的文件上传,对自定义的路径地址进行变量覆盖,不允许更改路径地址.对上传的目录做脚本的安全限制,去除JSP的脚本执行权限.

相关文章
|
3月前
|
缓存 监控 算法
软件测试中的性能瓶颈分析与优化策略
【10月更文挑战第6天】 性能测试是确保软件系统在高负载条件下稳定运行的重要手段。本文将深入探讨性能测试的常见瓶颈,包括硬件资源、网络延迟和代码效率等问题。通过具体案例分析,我们将展示如何识别并解决这些问题,从而提升软件的整体性能。最后,文章还将分享一些实用的性能优化技巧,帮助读者在日常开发和测试中更好地应对性能挑战。
144 3
|
4月前
|
监控 测试技术 持续交付
软件测试中的性能瓶颈分析与优化策略
性能瓶颈,如同潜伏于软件深处的隐形障碍,悄然阻碍着系统的流畅运行。本文旨在揭示这些瓶颈的形成机理,剖析其背后的复杂成因,并汇聚一系列针对性的优化策略,为软件开发者提供一套系统性的解决方案。
71 5
|
11天前
|
机器学习/深度学习 人工智能 自然语言处理
MarS:微软开源金融市场模拟预测引擎,支持策略测试、风险管理和市场分析
MarS 是微软亚洲研究院推出的金融市场模拟预测引擎,基于生成型基础模型 LMM,支持无风险环境下的交易策略测试、风险管理和市场分析。
38 8
MarS:微软开源金融市场模拟预测引擎,支持策略测试、风险管理和市场分析
|
17天前
|
开发框架 .NET Java
C#集合数据去重的5种方式及其性能对比测试分析
C#集合数据去重的5种方式及其性能对比测试分析
33 11
|
18天前
|
开发框架 .NET Java
C#集合数据去重的5种方式及其性能对比测试分析
C#集合数据去重的5种方式及其性能对比测试分析
43 10
|
20天前
|
传感器 安全 物联网
阿里云先知安全沙龙(北京站) ——车联网安全渗透测试思路分享
本文介绍了智能汽车的整车架构、协议栈结构、攻击点分析、渗透思路及案例分享。整车架构涵盖应用层、协议层和物理层,详细解析各层次功能模块和通信机制。攻击点包括Wi-Fi、USB、NFC等,展示车辆通信接口和系统组件的安全风险。渗透思路从信息收集到系统内部探索,利用固件漏洞控制车辆功能。案例展示了网段隔离不足导致的SSH访问和OTA日志审计漏洞,揭示了潜在的安全威胁。
|
2月前
|
并行计算 算法 测试技术
C语言因高效灵活被广泛应用于软件开发。本文探讨了优化C语言程序性能的策略,涵盖算法优化、代码结构优化、内存管理优化、编译器优化、数据结构优化、并行计算优化及性能测试与分析七个方面
C语言因高效灵活被广泛应用于软件开发。本文探讨了优化C语言程序性能的策略,涵盖算法优化、代码结构优化、内存管理优化、编译器优化、数据结构优化、并行计算优化及性能测试与分析七个方面,旨在通过综合策略提升程序性能,满足实际需求。
77 1
|
2月前
|
编解码 安全 Linux
网络空间安全之一个WH的超前沿全栈技术深入学习之路(10-2):保姆级别教会你如何搭建白帽黑客渗透测试系统环境Kali——Liinux-Debian:就怕你学成黑客啦!)作者——LJS
保姆级别教会你如何搭建白帽黑客渗透测试系统环境Kali以及常见的报错及对应解决方案、常用Kali功能简便化以及详解如何具体实现
|
3月前
|
缓存 监控 测试技术
软件测试中的性能瓶颈分析与优化策略
本文深入探讨了在软件测试过程中,如何有效地识别和解决性能瓶颈问题。通过对性能瓶颈的定义、分类以及常见原因的分析,结合实际案例,提出了一系列针对性的优化策略和方法。这些策略旨在帮助测试人员和开发人员提高软件的性能表现,确保软件在高负载条件下依然能够稳定运行。
|
2月前
|
人工智能 安全 Linux
网络空间安全之一个WH的超前沿全栈技术深入学习之路(4-2):渗透测试行业术语扫盲完结:就怕你学成黑客啦!)作者——LJS
网络空间安全之一个WH的超前沿全栈技术深入学习之路(4-2):渗透测试行业术语扫盲完结:就怕你学成黑客啦!)作者——LJS