2024年软件测试最新Web安全测试(文末送电子书)_电子书下载 安全测试,腾讯软件测试开发面试经验

img
img

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化的资料的朋友,可以戳这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

测试方法:

打开登陆页面(或者待测试页面),点击浏览器邮件,查看源代码,检查源代码注释部分是否有敏感信息泄露,敏感信息包括以下内容:字段文字描述、内网 IP 地址、SQL 语句以及物理路径等等。

修改建议:

请勿在HTML  注释中遗留任何重要信息(如文件名或文件路径)。

从生产站点注释中除去以前(或未来)站点链接的跟踪信息。

避免在HTML  注释中放置敏感信息。

确保HTML  注释不包括源代码片段。

4.3 用户名破解

为了进行暴力破解,攻击者需要知道已存在的用户名,再对该用户名进行攻击。

测试方法:

在登录界面输入不存在的用户名和任意的口令,如果提示用户名不存在,则说明存在漏洞;使用正确的用户名和错误的口令进行登录,如果提示口令或密码错误,则说明存在漏洞。

修改建议:

服务器对所有的登陆错误原因进行统一的应答,不会提示准确的错误提示信息。

4.4

在缺少锁定策略和验证码设计有问题的情况下,攻击者可以通过枚举的方式来进行暴力猜解。

测试方法:

在登录页面,输入正确的用户名、错误的口令以及正确的验证码,提交表单,重复10

次,如果系统没有返回类似账号锁定的信息,则说明存在漏洞。

修改建议:

在用户进行错误登录次数达到系统配置后,需要对该账号或者该IP进行临时锁定,到达解锁条件后再进行解锁。

4.5

查看是否有验证码机制,以及验证码机制是否完善,避免使用自动化工具重复登录和进行业务操作。

测试方法:

打开登陆页面查看是否存在验证码,如果不存在说明存在漏洞。

输入正确的用户名和口令以及错误的验证码,如果只是提示验证码错误,则说明存在漏洞。

选择验证码,点击右键,验证码是图片形式且在一张图片中,如果不是,则说明存在漏洞。

观察验证码图片中背景是否存在无规律的点或线条,如果背景为纯色(例如只有白色)说明存在漏洞。

修改建议:

将验证码生成放在在一张进行了混淆处理的图片上。

4.6

测试方法:

进入系统的口令修改界面,查看是否必须输入旧口令,如果不需要则存在漏洞。

修改建议:

用户修改密码时必须提供旧密码,且新密码不能与旧密码相同,密码要有一定复杂度,参见口令规则建议。

4.7 默认账户名称设置

一般系统均设有默认登录用户,以及超级管理员账号,如登录账号过于简单将易被破解,造成超级权限泄露。

修改建议:

上线系统清除超级管理员权限用户,或增加超级管理员登录名复杂度,不要设置成易猜测的admin、superadmin等名称。

4.8 错误的页面信息

404、500等错误或警告消息,可能会泄露敏感信息。

修改建议:

捕获异常跳转至统一错误页面,避免对外泄漏详细错误信息。

5.会话管理测试未更新

5.1会话标识测试

查看登录成功后会话标识是否变更。如果未变更,那么攻击者就可以通过一些手段(如构造URL)为受害着确定一个会话标识,当受害者登录成功后,攻击者也可以利用这个

会话标识冒充受害者访问系统。

测试方法:

启动抓包工具或浏览器自带开发者模式打开登录页面,输入正确的用户名、口令以及验证码,进行登录,登录后,进行任意一项业务操作。如果登录的SessionId和进行业务的SessionId没有变化,则说明存在漏洞。

修改建议:

对每次请求都从上次请求获得令牌,服务端对每次交互都进行验证

查看是否存在浏览器窗口闲置超时后需重新登录的机制

5.2会话超时测试

测试方法:

打开登录界面,输入正确的用户名和口令,进行登录,进行一项业务操作,将浏览器空闲超过30分钟,在进行其他业务操作,如果能够进行其他业务操作,则说明存在漏洞。

修改建议:

需要在后台进行配置Session的超时时间。

5.3会话清除测试

用户注销后会话信息需要清除,否则会导致用户在点击注销按钮之后还能继续访问注销之前才能访问的页面。

测试方法:

进入登录页面,输入正确的用户名和密码,登录成功后,进行一些业务操作,点击注销按钮,在浏览器输入地址,输入上面进行业务操作的地址,如果能够正常返回业务页面,则说明存在漏洞。

修改建议:

在用户注销后,必须将用户的Session信息以及缓存信息全部清空。

6其他

6.1文件目录测试

目录列表能够造成信息泄漏,而且对于攻击者而言是非常容易进行的。所以在测试过程中,要注意目录列表漏洞。

测试方法:

通过浏览器访问web 服务器上的所有目录,检查是否返回目录结构,如果显示的是目录结构,则可能存在安全问题;

或使用DirBuster软件进行测试;

修改建议:

1.针对每个Directory 域都使用Allow 、Deny 等指令设置,严格设定WEB服务器的目录访问权限;

2.删除Options 指令下的Indexes 设置项;

6.2文件上传漏洞

文件上传漏洞通常由于网页代码中的文件上传路径变量过滤不严造成的,如果文件上传功能实现代码没有严格限制用户上传的文件后缀以及文件类型,攻击者可通过 Web 访问的目录上传任意文件,包括网站后门文件(webshell),进而远程控制网站服务器。

修改建议:

严格限制和校验上传的文件类型、大小等,禁止上传恶意代码的文件。同时限制相关目录的执行权限,防范webshell攻击。

6.3http请求方法测试

有些Web服务器默认情况下开放了一些不必要的HTTP方法(如DELETE、PUT、TRACE、MOVE、COPY),这样就增加了受攻击面。

测试方法:

使用SoapUI等工具,发送除get、post以外的方法请求,如接收应答为200ok,代表启用了不必要的方法。

修改建议:

在tomcat  web.xml中增加如下内容:

/*        PUT        DELETE        HEAD        OPTIONS        TRACE                          BASIC

6.4 服务器安全策略

1.服务器用户权限

运行Web服务器的操作系统账号权限越高,那么Web遭到攻击产生的危害就越大。部署到生产环境运行时是不能用root等最高权限的,一切都给予以最小权限。

2.关闭无关端口

网络上被攻陷的大多数主机,是黑客用扫描工具大范围进行扫描而被瞄准上的。所以,为了避免被扫描到,除了必要的端口,例如 Web、FTP、SSH 等,其他的都应关闭。

如:关闭 icmp 端口,并设置规则,丢弃 icmp 包。这样他人无法 Ping到服务器,服务器安全得到提升。

修改方法:丢弃 icmp 包可在 iptables 中, 加入一条语句:-A INPUT -p icmp -j DROP

3.更改默认端口

如:默认的 SSH 端口是 22。建议改成 10000 以上。这样别人扫描到端口的机率也大大下降。

举例修改方法:

# 编辑 /etc/ssh/ssh_configvi /etc/ssh/ssh_config# 在 Host * 下 ,加入新的 Port 值。以 18439 为例(下同):Port 22 Port 18439

# 编辑 /etc/ssh/sshd_configvi /etc/ssh/sshd_config#加入新的 Port 值Port 22Port 18439# 保存后,重启 SSH 服务:service sshd restart

测试新端口连接正常后,删除 Port 22 的配置。同时从 iptables 中, 删除22端口,添加新配置的 18439,并重启 iptables。

4.限制IP登录

如能以固定 IP 方式连接服务器,那么,可以设置只允许某个特定的 IP 登录服务器。 设置如下:

# 编辑 /etc/hosts.allowvi /etc/hosts.allow# 例如只允许 123.45.67.89 登录sshd:123.45.67.89

5.使用证书登录 SSH

相对于使用密码登录来说,使用证书更为安全,具体方法可参见网络资料。

6.5 口令规则建议

规则1:口令长度的取值范围为:0‐  个字符;口令的最短长度和最长长度可配置;口令的最短长度建议默认为6个字符。

规则2:口令中至少需要包括一个大写字母(A‐Z)、一个小写字母(a‐z)、一个数字字符(0‐9);口令是否包含特殊字符要求可以配置。

规则3:口令中允许同一字符连续出现的最大次数可配置,取值范围:0‐9,当取值为  0  时,表示无限制,建议默认为  3。

规则4:口令须设置有效期,最短有效期的取值范围:0‐9999  分钟,当取值为0时,表示不做限制,建议默认:5  分钟;最长有效期的取值范围:0‐999 天,当取值为  0  时,表示口令永久有效,建议默认:90  天。

img
img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上软件测试知识点,真正体系化!

由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新

需要这份系统化的资料的朋友,可以戳这里获取

)、一个小写字母(a‐z)、一个数字字符(0‐9);口令是否包含特殊字符要求可以配置。

规则3:口令中允许同一字符连续出现的最大次数可配置,取值范围:0‐9,当取值为  0  时,表示无限制,建议默认为  3。

规则4:口令须设置有效期,最短有效期的取值范围:0‐9999  分钟,当取值为0时,表示不做限制,建议默认:5  分钟;最长有效期的取值范围:0‐999 天,当取值为  0  时,表示口令永久有效,建议默认:90  天。

[外链图片转存中…(img-NGwddKBA-1715222790885)]
[外链图片转存中…(img-cu7jEg1b-1715222790886)]
[外链图片转存中…(img-ra7YmDyD-1715222790886)]

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上软件测试知识点,真正体系化!

由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新

需要这份系统化的资料的朋友,可以戳这里获取

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/606945.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Spring AI实战之一:快速体验(OpenAI)

欢迎访问我的GitHub 这里分类和汇总了欣宸的全部原创(含配套源码):https://github.com/zq2599/blog_demos 关于Spring AI Spring Boot、Spring Cloud、Spring Data,作为一名Java程序员,相信您对这些概览早已耳熟能详,或者天天在用…

本地搭建springboot服务并实现公网远程调试本地接口

💝💝💝欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学…

重发被恶意举报的主食冻干测评,速看可能再被删!PR、希喂和SC真实对比PK!

要给猫咪提供高品质主食,主食冻干是不二之选。主食冻干不仅含肉量高、吸收消化率高,还有着丰富的、普通猫粮无法提供的各类营养素,满足猫咪微量元素的需求。可以说是营养与生骨肉喂养媲美,又能完美避开生骨肉细菌超标带来的一系列…

KaiwuDB 解析器之语义解析

KaiwuDB 解析器介绍 解析器是数据库系统的重要组成部分之一,主要的功能是将客户端输入的 SQL 语句分解为语法单元,然后将这些语法单元转化成数据库内部可识别的数据结构,最终生成数据库可以执行的计划。 KaiwuDB 的一条 SQL 执行的整个生命…

go导入包时提示no required module provides package解决方法

原因,这个包在你的本机没有安装 如redis包的提示为 could not import github.com/gomodule/redigo/redis (no required module provides package "github.com/gomodule/redigo/redis")解决方法: go get github.com/gomodule/redigo/redis

PHP+MySQL组合开发 自定义商城系统源码 带完整的安装代码包以及安装部署教程

随着电子商务的蓬勃发展,越来越多的企业和个人希望拥有自己的在线商城系统。小编给大家分享一款基于PHP和MySQL技术栈,开发的一套自定义商城系统源码。该系统旨在帮助用户快速搭建稳定、高效的电子商务平台,并提供灵活的自定义功能&#xff0…

日本站群服务器的优点以及适合该服务器的业务类型?

日本站群服务器的优点以及适合该服务器的业务类型? 日本站群服务器是指位于日本地区的多个网站共享同一台服务器的架构。这种服务器架构有着诸多优点,使其成为许多企业和网站管理员的首选。以下是日本站群服务器的优点以及适合该服务器的业务类型的分析&#xff1…

链表经典面试题02--链表的带环问题

目录 引言 环形链表 题目描述: 思路分析: 代码展示: 面试中遇到的问题: 环形链表Ⅱ 题目描述: 思路分析: 代码展示: 面试中遇到的问题: 方法二: 随机链表的复制 题目描述: 思路分析: 代码展示: 小结 引言 这个专题专门讲解链表的带环问题,并且对面试有关链表带环…

开源文档管理系统Paperless-ngx如何在Linux系统运行并发布至公网

文章目录 1. 部署Paperless-ngx2. 本地访问Paperless-ngx3. Linux安装Cpolar4. 配置公网地址5. 远程访问6. 固定Cpolar公网地址7. 固定地址访问 Paperless-ngx是一个开源的文档管理系统,可以将物理文档转换成可搜索的在线档案,从而减少纸张的使用。它内置…

使用HashMap实现,对一个字符集进行哈夫曼编码

最终达到的效果: 调用一个类 class HuffmanCodin{.....} 使用类中的静态方法&#xff0c;获取哈夫曼编码&#xff1a; 事前准备——哈夫曼树的节点定义 class Node implements Comparable<Node> {int weight;//权重Node left;Node right;char ch;//关键字&#xff0c…

asp.net论坛指南系统

说明文档 运行前附加数据库.mdf&#xff08;或sql生成数据库&#xff09; 主要技术&#xff1a; 基于asp.net架构和sql server数据库 登陆可查看 浏览记录 TA的发布 TA的回复 TA的收藏 TA的点赞 管理员登陆可以查看举报管理 编辑管理 认证审核 帖子置顶申请审核 运行环境…

如何利用IPIDEA代理IP优化数据采集效率?

一、 前言二、 IPIDEA介绍三、体验步骤四、实战训练五、结语 一、 前言 在全球化与信息化交织的当代社会&#xff0c;数据已成为驱动商业智慧与技术革新的核心引擎。网络&#xff0c;作为信息汇聚与交流的枢纽&#xff0c;不仅是人们获取知识的窗口&#xff0c;更是商业活动与技…

FX110书籍推荐:如何快速成为一名专业股票投资人?

股票投资领域有一本神作《股票交易入门》&#xff0c;它是股票从业人员的入门必备书籍。 关于股票入门的书籍很多&#xff0c;但这本书涉及的知识面最全、实用性最强。从这本书里&#xff0c;我们可以领略到股票交易世界的跌宕起伏而又波澜壮阔的魅力。本书作者 本书的作者是美…

Navicat导入sql报错[Err] 1046 - No database selected

Navicat导入sql报错[Err] 1046 - No database selected ​ 今天系统重装了&#xff0c;就很完蛋。所有东西都重新下载安装。向Navicat导入sql的时候导入失败&#xff1a; 报错[Err] 1046 - No database selected。我很疑惑地又导了几次。当然又全都失败. 错误造成原因&#x…

项目风采展示【车酷-雷克萨斯2】

1&#xff1a;支持桌面展示 2&#xff1a;支持桌面时钟 3&#xff1a;支持桌面陀螺仪

怎么将文字做成二维码?文本活码在线的生成技巧

文本类型的活码该如何来制作呢&#xff1f;通过二维码来展示文字信息是现在很常用的一种方式&#xff0c;包括物品、建筑、人员等方面的信息&#xff0c;都可以用生成二维码后让其他人通过扫码了解自己需要的信息。那么文本活码的制作需要几步操作呢&#xff1f;下面就教大家使…

mysql等保测评2.0命令-三级

版本 Win默认安装位置 C:\Program Files\MySQL\MySQL Server 8.0\bin 版本&#xff1a;select version() from dual; 身份鉴别 a应对登录的用户进行身份标识和鉴别&#xff0c;身份标识具有唯一性&#xff0c;身份鉴别信息具有复杂度要求并定期更换&#xff1b; 1、SELEC…

OpenGL入门第二步:颜色、纹理设置(解析)

OpenGL入门第一步:创建窗口、重写虚函数-CSDN博客 1、设置颜色 添加QColor变量,如果需要颜色随时间变化,那就再添加一个定时器QElapsedTimer以及重写虚函数timerEvent。 initializeGL()函数设置片段着色器中颜色变量 如果需要设置时间别忘了开启计时器 timerEvent函数里写…

UE和three.js的区别

UE&#xff08;Unreal Engine&#xff09;和three.js都是用于创建3D图形的软件平台&#xff0c;但它们在功能、目标和应用场景方面存在一些差异。北京木奇移动技术有限公司&#xff0c;专业的软件外包开发公司&#xff0c;欢迎交流合作。 功能 UE 是一款功能全面的3D游戏引擎&…

03-单片机商业项目编程,从零搭建低功耗系统设计

一、本文内容 上一节《02-单片机商业项目编程&#xff0c;从零搭建低功耗系统设计-CSDN博客》引出了伪时间片的概念&#xff0c;这也是再低功耗系统设计中必须使用的程序设计逻辑&#xff0c;本文着重来讲解如何利用伪时间片来设计伪多任务&#xff0c;以及伪时间片多任务内核设…