没有好坏之分,其实这是两个方向也可以说是两个阶段。
功能测试是软件测试必须做的事情,无论是性能测试还是自动化测试,都需要功能测试跑通情况下才可以去做。但是功能测试相对技术含量稍微低些,专业知识方面可以看看黑盒测试,包括测试用例书写,测试需求分析,常用的一些数据库操作,环境部署,如果是web测试的话,需要掌握些简单的页面的开发知识,比如html标签之类的,再往下可以看下安全测试方面的东西,比如sql注入,xss知识点等。功能测试也有很多路要走。
性能测试就比较高深了,刚入门的情况下能会使用常见的性能测试工具就已经不错了,这方面最好还是在有了一定测试积累之后再去碰触,涉及到的专业知识包括操作系统,
数据结构,系统架构,网络通讯,底层系统接口,中间件,db服务器,编程语言方面也需要掌握,方便定位。一个初级的性能测试工程师会使用性能测试工具,比如LR,能进行脚本录制并且能修改至符合要求,设计测试场景,运行脚本给出简单报告就可以了,再往后才是逐步进入性能调优阶段。
以上两点是个人观点。有问题请发消息提问。
是否有漏洞,取决于你输出的内容是否可信
比如echo $rows["Author"];
如$rows["Author"]里面是由用户输入且入库未过滤,那么直接输出时存在xss漏洞的。
如$rows["Author"]输入的值为〈script〉 alert( 1 )〈/script 〉
那么直接输出存在漏洞,
简单点修改 echo htmlentities($rows["Author"]),其他echo的类似
如果输出内容可信(过滤过,或来源可信安全)那么直接输出也不存在问题,程序检测的未必准确。
入库过滤了或者本身内容来源可靠不存在此漏洞。
XSS跨站漏洞分为大致三种:储存型XSS,反射型XSS,和DOM型XSS,一般都是由于网站对用户输入的参数过滤不严格而调用浏览器的JS而产生的。XSS几乎每个网站都存在,google,百度,360等都存在,存在和危害范围广,危害安全性大。
渗透测试网站和APP不太一样,以下我介绍一下APP的渗透测试过程吧!
工具
知道创宇安应用
Android(安卓)APP
方法/步骤
组件安全检测。
对Activity安全、Broadcast Receiver安全、Service安全、Content Provider安全、Intent安全和WebView的规范使用检测分析,发现因为程序中不规范使用导致的组件漏洞。
代码安全检测
对代码混淆、Dex保护、SO保护、资源文件保护以及第三方加载库的代码的安全处理进行检测分析,发现代码被反编译和破解的漏洞。
内存安全检测。
检测APP运行过程中的内存处理和保护机制进行检测分析,发现是否存在被修改和破坏的漏洞风险。
数据安全检测。
对数据输入、数据存储、存储数据类别、数据访问控制、敏感数据加密、内存数据安全、数据传输、证书验证、远程数据通信加密、数据传输完整性、本地数据通讯安全、会话安全、数据输出、调试信息、敏感信息显示等过程进行漏洞检测,发现数据存储和处理过程中被非法调用、传输和窃取漏洞。
业务安全检测。
对用户登录,密码管理,支付安全,身份认证,超时设置,异常处理等进行检测分析,发现业务处理过程中的潜在漏洞。
应用管理检测。
1)、下载安装:检测是否有安全的应用发布渠道供用户下载。检测各应用市场是否存在二次打包的恶意应用;
2)、应用卸载:检测应用卸载是否清除完全,是否残留数据;
3)、版本升级:检测是否具备在线版本检测、升级功能。检测升级过程是否会被第三方劫持、欺骗等漏洞;
渗透测试服务流程
1、确定意向。
1)、在线填写表单:企业填写测试需求;
2)、商务沟通:商务在收到表单后,会立即和意向客户取得沟通,确定测试意向,签订合作合同;
2、启动测试。
收集材料:一般包括系统帐号、稳定的测试环境、业务流程等。
3、执行测试。
1)、风险分析:熟悉系统、进行风险分析,设计测试风险点;
2)、漏洞挖掘:安全测试专家分组进行安全渗透测试,提交漏洞;
3)、报告汇总:汇总系统风险评估结果和漏洞,发送测试报告。
4、交付完成。
1)、漏洞修复:企业按照测试报告进行修复;
2)、回归测试:双方依据合同结算测试费用,企业支付费用。
一,给cookie的属性设置为httponly
这样能够避免js读取Cookie信息(设置后有助于缓解XSS,但是XSS除了劫持Cookie之外,还可以模拟用户的身份进行操作)
二,进行输入检查
如果仅仅在客户端通过JS来做输入校验,有可能会被攻击者绕过,WEB开发中的普遍做法是同时在客户端和服务端做校验。这种输入检查的方式也称之为XSS Filter。
三,输出检查
一般说来,除了富文本输出之外,在变量输出到HTML页面时,可以使用编码或者转义的方式来防御XSS攻击。
四,防御DOM BasedXSS
前面提到的集中方法,对于这种类型不太适用,需要特别对待,那如何才能防御呢?
首先是$var输出到script是,应该执行一次javasriptEncode,其次在doument.write输出到HTML页面时,如果是输出到事件或者脚本,可以再做一次javaScriptEncode,如果是输出到HTML内容或者属性,则可以做一次HtmlEncode。
上面提到的这些防御方法都属于安全生产的环节,也就是说实在开发同学写代码的时候要特别注意,这种是否做的规范,可以通过工具扫描代码的方式来实现,也就是白盒测试,如果代码没有做输入或者输出检查,则发报告提示开发来进行修改。但是有些场景白盒没法覆盖到,例如输出jsonp类型的接口,对于callback参数的原味输出,白盒有时候就扫不出来,这时候,可以通过黑盒测试工具,模拟入参的各种情况,也就是穷举,来构造,如果发生了XSS请求,则发出报告即可。
xssing 是一个基于 php+mysql的 网站 xss 利用与检测平台,可以对你的产品进行黑盒xss安全测试,可以兼容各种浏览器客户端的网站url,cookies已经user-agent下线,批量管理代码,采用MVC构架,易于阅读和二次开发. 基于Php+Mysql 采用轻量级快速框架UAUC, 框架代码下 uauc 下面,入口文件 为 uauc.php,框架核心采用缓存编译机制,修改uauc 目录和 config 目录下的文件都要删除缓存重新编译(/apps/running/uauc.php)项目开发主要于 apps 下面的文件 mvc 架构的 action 和 model 的编写,已经view 视图前台设计 回答: 在google或者官网下载最新版的xssing,导入 xssing.sql 到mysql 配置 config/mysql.php 删除 /apps/running/uauc.php 可以运行 sae部署新版本的xssing 完全兼容 sae 请修改配置总入口文件 /uauc/uauc.phpdefine('SAE',1); // 1 在sae部署邮件配置,apps\index\lib\common\common.php 修改 send_mail( send_sae_mail) 对应的信息 更新缓存 你懂的常见问题 q:安装之后一片空白
我来说两句