Hello World
Welcome to Hexo! This is your very first post. Check documentation for more info. If you get any problems when using Hexo, you can find the answer in troubleshooting or you can ask me on GitHub.
Quick StartCreate a new post$ hexo new "My New Post"
More info: Writing
Run server$ hexo server
More info: Server
Generate static files$ hexo generate
More info: Generating
Deploy to remote sites$ hexo deploy
More info: Deployment
漏洞类型
Web服务端漏洞类型SQL注入攻击SQL注入攻击(SQL Injection),简称注入攻击、SQL注入,被广泛用于非法获取网站控制权,是发生在应用程序的数据库层上的安全漏洞。由于在设计程序时,忽略了对输入字符串中夹带的SQL指令的检查,被数据库误认为是正常的SQL指令而运行,进而使数据库受到攻击,可能导致数据被窃取、更改、删除,甚至执行系统命令等,以及进一步导致网站被嵌入恶意代码、被植入后门程序等危害。
常见发生位置
URL参数提交,主要为GET请求参数。
表单提交,主要是POST请求、也包括GET请求。
Cookie参数提交。
HTTP请求头部的一些可修改的值,比如Referer、User_Agent等。
一些边缘的输入点,比如mp3文件、图片文件的一些文件信息等。
防御措施
使用预编译语句: 一般来说,防御SQL注入的最佳方式,就是使用预编译语句,绑定变量,对现有代码的改动量较大。
使用存储过程:使用安全的存储过程可在一定程度上对抗SQL注入,但要注意采用此种方法无法保证100%安全。
严格检查用户数据:对用户传入的数据类型及内容进行严格的检查。对数据类 ...
性能测试技术指南
本文从技术角度制定性能测试实施过程中关键的技术规范。这些规范可以帮助PTS的用户更好地从技术上来规避系统上线后的风险、评估线上系统的真实能力、根据业务模型摸底线上能力以提前应对。
适用范围适用于所有需要性能测试的项目。 对性能测试实施过程中非常重要、关键的相关技术进行分析,主要包括:系统环境、测试指标、业务模型、数据量、测试模型、测试类型、脚本(API)、场景、监控、瓶颈分析、调优和性能测试分布式云化压测工具。
系统环境
分析系统环境分为生产环境、测试环境等。两个环境的方案各有其优缺点,生产环境衡量的精准度较高,参考效果更好,但是需要清理相关的测试数据(同时要保证数据删除的完整性,基础数据的构造参考后续数据量部分)或者BI统计的时候过滤,或者更彻底的方案是参考阿里首创的全链路压测方式,生产环境的压测尽量挑选在低峰期进行,避免对生产业务造成影响;单独的测试环境风险可控,难点在环境的构建上,规模和生产一致的成本也是最高的,所以一般而言有通过等比构建(1/2,1/4,1/8等),甚至是生产环境中部分应用独立部署测试集群,数据库共用的方式,此外测试环境需要 ...
性能测试分析及调优
本文通过编写性能测试分析及调优的相关流程和方法,帮助研发人员、性能测试人员或者运维人员快速地进行性能测试、瓶颈定位及调优。 系统的性能是由很多因素决定的,本文很难面面俱到,但是可以作为分析系统性能的一个指导。
适用对象和范围适用于需要进行性能分析及调优的工作。 预期读者为测试管理人员、测试实施人员、技术支持人员、项目质量管理人员、项目管理人员等系统技术质量相关人员。
性能分析
前提性能分析的前提除了需要丰富的性能测试监控(如PTS自身的客户侧监控、基础类监控-阿里云监控、应用类监控-ARMS监控等),还需要具备相关的技术知识(包括但不限于:操作系统、中间件、数据库、开发等)。
流程
很多情况下压测流量并没有完全进入到后端(服务端),在网络接入层(云化的架构,例如:SLB/WAF/高防IP,甚至是CDN/全站加速等)可能就会出现由于各种规格(带宽、最大连接数、新建连接数等)限制或者因为压测的某些特征符合CC和DDoS的行为而触发了防护策略导致压测结果达不到预期,详情请见相关QA。
接着看关键指标是否满足要求,如果不满足,需要确定是哪个地方有问题 ...
性能测试指标
编写目的和适用对象本指标适用于使用性能测试进行性能测试项目技术质量评价依据,规范技术测试结果评价,统一性能测试技术测试质量度量。应用系统技术质量度量指标范围广泛,本文难以涵盖全部。 预期读者为测试管理人员、测试实施人员、技术支持人员、项目管理人员等系统技术质量相关人员。
系统性能指标1. 交易响应时间
定义及解释响应时间指用户从客户端发起一个请求开始,到客户端接收到从服务器端返回的响应结束,整个过程所耗费的时间。在性能检测中一般以压力发起端至被压测服务器返回处理结果的时间为计量,单位一般为秒或毫秒。平均响应时间指系统稳定运行时间段内,同一交易的平均响应时间。一般而言,交易响应时间均指平均响应时间。 平均响应时间指标值应根据不同的交易分别设定,一般情况下,分为复杂交易响应时间、简单交易响应时间、特殊交易响应时间。其中,特殊交易响应时间的设定必须明确该交易在响应时间方面的特殊性。
简称Response Time: RT
参考标准不同行业不同业务可接受的响应时间是不同的,一般情况,对于在线实时交易:
互联网企业:500毫秒以下,例如淘宝业务10毫秒左右。
金融企业:1秒以下为佳,部 ...
并发虚拟用户、RPS、TPS的解读
背景在做性能测试的时候,传统方式都是用并发虚拟用户数来衡量系统的性能(站在客户端视角),一般适用于一些网页站点例如首页、H5的压测;而RPS(Requests per second)模式主要是为了方便直接衡量系统的吞吐能力TPS(Transaction Per Second,每秒事务数)而设计的(站在服务端视角),按照被压测端需要达到TPS等量设置相应的RPS,应用场景主要是一些动态的接口API,例如登录、提交订单等等。VU(虚拟用户)和TPS之间也有其逻辑关系,具体请参见本文下方的说明。
术语定义
并发用户数:简称VU,指的是现实系统中操作业务的用户,在性能测试工具中,一般称为虚拟用户数(Virtual User),注意并发用户数跟注册用户数、在线用户数有很大差别的,并发用户数一定会对服务器产生压力的,而在线用户数只是 ”挂” 在系统上,对服务器不产生压力,注册用户数一般指的是数据库中存在的用户数。
处理能力:简称TPS,每秒事务数,是衡量系统性能的一个非常重要的指标。
响应时间:简称RT,指的是业务从客户端发起到客户端接受的时间。
VU和TPS换算
简单例子:在术语中解释了T ...
AppScan使用说明
AppScan使用说明前言
没有安全知识基础的少年,可以先阅读之前的安全入门的文章:安全测试入门
工具文章合集:安全测试工具简介
其实AppScan的使用是比较简单的,根据它的操作指引就能完成一次比较基础的扫描,也能发现很多Web服务的问题。
我们做安全扫描的目的是什么?
AppScan简介关于AppScanHCLAppScan Standard 是 HCL AppScan 应用程序安全测试套件的渗透测试组件,用于测试 Web 应用程序和服务。它具有识别安全漏洞的前沿方法和技术,可帮助保护应用程序免受网络攻击的威胁。
HCLAppScan Standard 是动态分析工具,通过使用类似于黑客使用的方法攻击应用程序,在运行时评估应用程序安全性。测试结果包括从应用程序清单到详细攻击流量的一系列丰富数据,系统可以重现这些数据以进行验证和修复。可以在 UI 中检查和处理这些数据,也可以采用各种格式导出这些数据,以便在其他工具中共享。
HCLAppScan Standard有自己的用例库,版本越新用例库越全(用例库越全面,对漏洞的检测较全面,被测试系统的安全性则越高)
App ...
EUI自动化测试框架
EUIEUI是一个基于pytest和playwright的Web UI自动化测试框架。
特点
执行UI脚本录制,并且将录制的脚本转成yaml用例
UI自动化脚本引用,编写用例时实现参数化编写
通过pytest+allure快速生成测试报告
准备工作
推荐python版本3.8以上,我用3.9.12版本,安装项目必需的模块:
pip install -r requirements.txt -i https://mirrors.aliyun.com/pypi/simple
安装并配置好allure,安装PlayWright驱动文件和浏览器文件,默认安装的是谷歌:
platwright install
自定义模块的导入处理:在 python安装目录\Python38\Lib\site-packages下创建pwauto.pth,文件内容为当前项目的绝对路径。这步操作是为了让自定义模块能在当前项目中正常调用(sys.path.append(“项目路径”)也可以做到,不过比较麻烦,就不采用了)
使用说明用例名以 test_ 开头,文件格式为yaml,测试用例存放在testcase ...