web测试安全性常见问题

web测试安全性常见问题

                

一、             登录账号明文传输

1、  问题一:登录账号密码或者修改密码明文传输

现象:目前物流对内的java系统基本上都是明文传输用户名和密码的

使用火狐自带工具-开发者-网络,或者httpwatch工具很容易获取到信息

打开工具后进行被测系统正常登录软件可自动获取信息

建议:

登录使用加密传输,一般的登录都采用https方式加密协议

2、  问题二:在后台日志中明文打印出了登录的账号和密码

现象:

建议:在日志中比较敏感的信息比如密码都采用*转换显示

二、             SQL注入

1、  问题一:部分查询输入存在SQL注入风险

所谓SQL注入式攻击,就是攻击者把SQL命令插入到Web表单的输入域或页面请求的查询字符串,欺骗服务器执行恶意的SQL命令。在某些表单中,用户输入的内容直接用来构造(或者影响)动态SQL命令,或作为存储过程的输入参数,这类表单特别容易受到SQL注入式攻击。

现象一:

原登录页面的sql:

SELECT COUNT(*) FROM Login WHERE UserName=‘admin‘ AND Password=‘123456‘

现在登录时输入:’admin’--

SELECT COUNT(*) FROM Login WHERE UserName=‘admin‘-- Password=‘123‘

因为UserName值中输入了“--”注释符,后面语句被省略而登录成功。(常常的手法:前面加上‘; ‘ (分号,用于结束前一条语句),后边加上‘--‘ (用于注释后边的语句))

现象二:在查询语句中输入:’ or ‘1=1  看是否会查询出所有的记录

建议:开发不要直接写静态sql语句进行查询,需要使用动态拼接SQL,对于web测试需要对查询部位进行SQL注入测试。

注:参数化查询原理:在使用参数化查询的情况下,数据库服务器不会将参数的内容视为SQL指令的一部份来处理,而是在数据库完成 SQL 指令的编译后,才套用参数运行,因此就算参数中含有具有损的指令,也不会被数据库所运行。

三、             XSS跨站点攻击

1、  问题一:部分系统存在提交表单时输入html代码和JS代码可在服务器执行的情况

跨站脚本攻击(Cross Site Scripting)恶意攻击者往Web页面里插入恶意Script代码,当用户浏览该页之时,嵌入其中Web里面的Script代码会被执行,从而达到恶意攻击用户的特殊目的,如:

<input>

<script>alert(‘xss‘)</script>

现象:文本框中输入<input>或<script>alert(‘xss‘)</script>

提交后<input>和<script>alert(‘xss‘)</script>作为代码执行了出现了输入框,而不是作为字符串存储

建议:

原则:不相信客户输入的数据
注意: 攻击代码不一定在<script></script>中,还有其他方式

1)只允许用户输入我们期望的数据。 例如: 年龄的textbox中,只允许用户输入数字。 而数字之外的字符都过滤掉。

2)对数据进行Html Encode 处理

3)过滤或移除或转义特殊的Html标签, 例如: <script>, <iframe> , &lt; for <, &gt; for >, &quot for

四、             跨站伪造

1、  问题一:构造POST请求进行请求可提交到数据库中

是一种挟制用户在当前已登录的Web应用程序上执行非本意的操作的攻击方法,也是可以从第三方网站提交的

现象:如下脚步用户获取到请求地址后,可以自己构造请求消息请求参数和值,通过浏览器执行后也可以提交到数据库那说明就是存在跨站伪造

建议:

Token验证

在每个HTTP请求里附加一部分信息是一个防御CSRF攻击的很好的方法,因为这样可以判断请求是否已经授权。这个“验证token”应该不能轻易的被未登录的用户猜测出来。如果请求里面没有这个验证token或者token不能匹配的话,服务器应该拒绝这个请求。

五、             目前普遍现象Java层未做校验或未做全部校验

一般来说JS的校验都是一种辅助,实际校验都要放在服务器,如果不做JAVA校验就可能会存在

1)  使用WebSarab等代理工具绕过页面校验,直接篡改数据后往数据库中插入数据;

2)  html层的校验不能防止用户伪造请求 ,如上面的token校验就是其中一个例子;

3)  按ctrl+f5强制刷新提交,出现重复提交

4)  js需要浏览器下载,如果浏览器下载JS失败,按钮未灰化用户可以反复点击,可出现重复提交,那还得靠服务器端的重复提交来保证

六、             借用WebSarab工具来绕过客户端的校验,验证是否进行了服务校验

七、             借用AppScan工具来自动扫描安全性问题

时间: 2024-10-11 00:57:58

web测试安全性常见问题的相关文章

web测试常用的用例及知识

  1.      Web测试中关于登录的测试... 1 2.      搜索功能测试用例设计... 2 3.      翻页功能测试用例... 3 4.      输入框的测试... 5 5.      Web测试的常用的检查点... 6 6.      用户及权限管理功能常规测试方法... 8 7.      Web测试之兼容性测试... 9 8.      Web测试-sql注入... 10 9.      Web测试中书写用例时要考虑的检查点... 11 10.        手机电子邮

Web测试到底是在测什么(资料合集)

http://www.cnblogs.com/idotest/p/6838583.html 图片略模糊 看得清就好 Web测试, 进行抽离拆分,基本上就如上一些内容. 不管是测什么系统,什么功能,基本都差不多. 唯一区别是,一些特性 & 细节 . 今天, 老徐摘录了一些通用的测试点,根据你的实际情况,删减,即可. 正式开始之前, 说下为什么要整理这个主题. 其实,很不想整理的. 1. 没价值,网上太多,一搜大把. 2. 资料会给大家一些思维定式,有了这份大纲后,很多人会不思进取,以为已经掌握了W

web测试笔记

工具总结: 网站兼容性测试工具:multibrowser Cookie工具:iecookiesview 超链接工具:xneu,http link validor http协议的请求相应抓包工具:httpdebugger pro 服务器:tomcat 安全测试工具:nmap(主机端口服务os等嗅探),scrawlr(sql注入工具) 性能测试工具:ab,jmeter,lr,qtp,百度统计和排名www.alexa.cn网站 Web:通过浏览器访问服务器, B/S 架构 Web技术学校网站:www.

Web测试介绍2一 安全测试

        安全测试是在IT软件产品的生命周期中,特别是产品开发基本完成到发布阶段,对产品进行检验以验证产品符合安全需求定义和产品质量标准的过程. 主要安全需求包括: (i) 认证 Authentication: Is the information sent from an authenticated user? (ii) 访问控制 Access Control: Is data protected from unauthorized users? (iii) 完整性 Integrity:

Web 测试经验总结

Web功能测试常用方法 1.页面链接检查每一个链接是否都有对应的页面,并且页面之间切换正确: 2.相关性检查删除/增加一项会不会对其他项产生影响,如果产生影响,这些影响是否都正确. 3.检查按钮的功能是否正确如update, cancel, delete, save等功能是否正确. 4.字符串长度检查输入超出需求所说明的字符串长度的内容, 看系统是否检查字符串长度,会不会出错. 5.字符类型检查在应该输入指定类型的内容的地方输入其他类型的内容(如在应该输入整型的地方输入其他字符类型),看系统是否

软件测试之Web测试

web测试 一.简介 基于Web的系统测试与传统的软件测试既有相同之处,也有不同的地方,对软件测试提出了新的挑战.基于Web的系统测试不但需要检查和验证是 否按照设计的要求运行,而且还要评价系统在不同用户的浏览器端的显示是否合适.重要的是,还要从最终用户的角度进行安全性和可用性测试.主要包括功能测试.性能测试.可用性测试.客户端兼容性测试以及安全性测试等. 二.功能测试 1.链接测试 链接是Web应用系统的一个主要特征,它是在页面之间切换和指导用户去一些不知道地址的页面的主要手段.链接测试可分为

Web测试的常用测试用例与知识

1. Web测试中关于登录的测试 2. 搜索功能测试用例设计 3. 翻页功能测试用例 4. 输入框的测试 5. Web测试的常用的检查点 6. 用户及权限管理功能常规测试方法 7. Web测试之兼容性测试 8. Web测试-sql注入 9. Web测试中书写用例时要考虑的检查点 10. 手机电子邮件测试用例 11. 记事本与日历的测试用例 12. Web测试总结 13. 让web站点崩溃最常见的七大原因 14. Web应用程序是否存在跨站点脚本漏洞 15. Web测试总结(全) 16. 理解we

Web测试要点 做移动端的测试,也做web端的测试,甚至后面桌面端的测试和后台的测试也做了,基本上把我们产品各个端都玩了一轮

Web测试要点 一.功能测试 1.链接测试 (1).测试所有链接是否按指示的那样确实链接到了该链接的页面:  (2).测试所链接的页面是否存在:  (3).保证Web应用系统上没有孤立的页面(所谓孤立页面是指没有链接指向该页面,只有知道正确的URL地址才能访问). 2.表单测试(1).注册.登陆.信息提交等,必须测试提交操作的完整性,以校验提交给服务器的信息的正确性:(2).用户填写的出生日期与职业是否恰当,填写的所属省份与所在城市是否匹配等:  (3).检验默认值的正确性:(4).如表单只能接

[转载]软件测试之Web测试经典总结

转载自:软件测试之Web测试经典总结   基于Web的系统测试在基于Web的系统开发中,如果缺乏严格的过程,我们在开发.发布.实施和维护Web的过程中,可能就会碰到一些严重的问题,失败的可能性很大.而且,随着基于Web的系统变得越来越复杂,一个项目的失败将可能导致很多问题.当这种情况发生时,我们对Web和Internet的信心可能会无法挽救地动摇,从而引起Web危机.并且,Web危机可能会比软件开发人员所面对的软件危机更加严重.更加广泛. 在Web工程过程中,基于Web系统的测试.确认和验收是一