渗透测试对网站安全扫描与检测流程

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

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

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

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

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

1.会员上传头像功能
3

2.上传文档功能
1

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

4.添加文章的图片上传
2

5.留言功能上传图片

存在的上传漏洞类型:文件扩展名绕过漏洞,以及文件解析漏洞,content-type绕过漏洞,文件名大小写绕过上传漏洞,文件头绕过漏洞,JS前端绕过上传漏洞,我们SINE安全渗透测试这么多客户当中,出现JS前端绕过漏洞频率最多,很多程序员在设计代码过程中,只对JS前端的访问用户做了安全效验,并没有对网站后端做安全效验,导致可以直接修改后缀名进行上传脚本文件。我们来举例看下:
5
首先该上传功能在前台网站当中是公开的,任何一个注册的会员都可以上传,在更换头像这里,可以自定义选择图片进行上传,我们通过抓包截图post的数据包,并修改数据库里的filename值,将扩展名修改为jsp,php就可以直接上传到网站中。
6
关于渗透测试中文件上传漏洞的修复办法是:对文件上传的格式做白名单设置,值允许上传jpg,png,gif,等的图片格式文件,如果后缀名不是以上三种,直接返回上传失败,再一个对文件代码做安全效验,不仅仅是在JS里做判断,还要在后端做安全效验,对上传的目录地址进行锁定,指定上传的目录地址,对图片的文件夹目录做无执行脚本权限,防止运行JSP,PHP,ASP等脚本的webshell文件。如果您对网站目前是否存在上传漏洞,可以找专业的渗透测试公司,国内SINE安全,启明星辰,绿盟都是比较不错的安全公司,网站前期上线之前一定要做渗透测试,全方位的检测网站存在哪些漏洞,提前修复,促使后期网站平台的发展有序进行,不会因为漏洞而导致业务终止。

相关文章
|
2月前
|
jenkins 测试技术 应用服务中间件
【专业测试技能】全流程掌握:部署测试环境的策略与实践
本文分享了关于部署测试环境的策略与实践。文章讨论了部署测试环境的全过程,包括服务如MySQL、Redis、Zookeeper等的部署,以及解决服务间的依赖和兼容问题。文中还介绍了使用Jenkins、Docker等工具进行部署的方法,并通过实战案例讲解了如何创建和管理Jenkins Job、配置代理服务器Nginx、进行前后端服务的访问和优化。最后,作者强调了提问的重要性,并鼓励大家通过互联网解决遇到的问题。
66 2
【专业测试技能】全流程掌握:部署测试环境的策略与实践
|
2月前
|
测试技术 Python
Python接口自动化测试框架(基础篇)-- 流程控制之循环语句for&while
本文介绍了Python中的循环语句,包括while和for循环的使用,range()函数的运用,以及continue、break和pass关键字的说明,同时提出了关于while循环是否能与成员运算符结合使用的思考。
36 1
Python接口自动化测试框架(基础篇)-- 流程控制之循环语句for&while
|
2月前
|
测试技术 索引 Python
Python接口自动化测试框架(练习篇)-- 数据类型及控制流程(一)
本文提供了Python接口自动化测试中的编程练习,包括计算器、猜数字、猜拳和九九乘法表等经典问题,涵盖了数据类型、运算、循环、条件控制等基础知识的综合应用。
31 1
|
23天前
|
运维 测试技术
拆分软件测试流程,一张图秒杀所有面试
本文主要介绍了软件测试流程的核心内容,包括需求分析、测试用例编写、测试执行、缺陷提交及回归测试等关键步骤。以迭代测试为例,详细说明了每个环节的具体操作和注意事项,并提供了一张测试流程图以便理解。测试流程确保了软件质量,是面试中常见的考察点。
36 7
拆分软件测试流程,一张图秒杀所有面试
|
2月前
|
测试技术 Python
Python接口自动化测试框架(基础篇)-- 流程控制之if条件控制
Python中的流程控制语句if条件控制,涵盖了比较运算符、成员运算符、身份运算符、逻辑运算符的使用,if语句的嵌套,以及如何使用input和print函数进行交互式编程练习。
20 1
Python接口自动化测试框架(基础篇)-- 流程控制之if条件控制
|
2月前
|
敏捷开发 jenkins 测试技术
自动化测试之美:打造高效软件测试流程
【8月更文挑战第31天】在软件开发的海洋中,自动化测试犹如一艘航船,引导着项目向着质量的灯塔航行。本文将揭开自动化测试的神秘面纱,从基础理论到实践操作,一步步构建起你的测试框架。你将学会如何编写实用的测试脚本,并将其融入日常开发,最终让测试成为敏捷开发不可或缺的力量。让我们启航,探索自动化测试的世界,确保代码之船稳健前行。
|
2月前
|
存储 测试技术 数据格式
Python接口自动化测试框架(练习篇)-- 数据类型及控制流程(二)
本文通过数据类型转换和文件读取的练习,复习了Python中的数据类型、循环、条件判断、内置函数等基础知识,并演示了如何将字符串数据转换为字典列表,以及如何从文本文件中读取和转换数据。
33 1
|
2月前
|
算法 测试技术 API
测试使用 SenseVoice 的流程
8月更文挑战第10天
195 8
|
2月前
|
敏捷开发 测试技术 持续交付
自动化测试的魔法:打造高效软件测试流程
【8月更文挑战第31天】在软件开发的海洋中,自动化测试犹如一艘能够自动导航的船,引领着项目团队向着高效率和高质量的彼岸前进。本文将揭开自动化测试的神秘面纱,分享如何构建一个高效的自动化测试流程,并通过实际代码示例,展示自动化测试的强大魔力。让我们一起启航,探索自动化测试的世界!
|
2月前
|
测试技术
软件测试中的心理学:如何优化测试流程
【8月更文挑战第6天】本文深入探讨了软件测试过程中的心理学因素,揭示了测试人员的心理动态对测试效率和质量的影响。通过分析测试人员的压力源、动机以及团队间的沟通问题,提出了一系列改善策略,如建立积极的反馈机制、提供持续的职业培训和优化工作环境等,旨在提升软件测试的整体效能。文章最后提出一个开放性问题,邀请读者思考如何在不断变化的技术环境中维持测试团队的心理健康和动力。
下一篇
无影云桌面