参考答案:
【问题1】: 防御规则:
用例1:<script>alert('dddd')</script>
用例2:< IMG SRC="javascrip\r
\nt:alert('XSS');" > 或<b onmouseover=alert('dddd')>click me</b>
防御XSS攻击方法:验证所有输入数据,有效检测攻击;对所有输出数据进行适当的编码,以防止任何已成功注入的脚本在浏览器端运行。
1.不要在允许位置插入不可信数据
2.在向HTML元素内容插入不可信数据前对HTML解码
3.在向HTML常见属性插入不可信数据前进行属性解码
4.在向HTML JavaScript DATA Values插入不可信数据前,进行JavaScript解码
5.在像HTML样式属性插入不可信数据前,进行CSS解码
6.在向HTML URL属性插入不可信数据前,进行URL解码
【问题2】:
图形测试主要检查点:
•颜色饱和度和对比度是否合适
•需要突出的链接的颜色是否容易识别
•是否正确加载所有的图像
【问题3】:
•页面的一致性如何
•在每个页面上是否设计友好的用户界面和直观的导航系统
•是否考虑多种浏览器的需要
•是否建立了页面文件的命名体系
•是否充分考虑了合适的页面布局技术,如层叠样式表、表格和帧结构等
【 问题4】:
能防止SQL注入
Pstmt.setString('1' or '1' = '1'--,status)
Pstmt.setString('2' or '1' = '1',orderID)
详细解析:
【问题1】XSS攻击:跨站脚本攻击(Cross Site Scripting)是一种经常出现在web应用中的计算机安全漏洞,它允许恶意web用户将代码植入到提供给其它用户使用的页面中。比如这些代码包括HTML代码和客户端脚本。
用例1:<script>alert('dddd')</script>
用例2:< IMG SRC="javascrip\r
\nt:alert('XSS');" > 或<b onmouseover=alert('dddd')>click me</b>
防御XSS攻击方法:验证所有输入数据,有效检测攻击;对所有输出数据进行适当的编码,以防止任何已成功注入的脚本在浏览器端运行。
防御规则:
不要在允许位置插入不可信数据
在向HTML元素内容插入不可信数据前对HTML解码
在向HTML常见属性插入不可信数据前进行属性解码
在向HTML JavaScript DATA Values插入不可信数据前,进行JavaScript解码
在像HTML样式属性插入不可信数据前,进行CSS解码
在向HTML URL属性插入不可信数据前,进行URL解码
【问题2】
图形测试,主要检查点如下:
颜色饱和度和对比度是否合适
需要突出的链接颜色是否容易识别
是否正确加载所有的图形
【问题3】
页面是信息的载体,直接体现WEB沾点的设计水平,一个好的页面因信息层次清晰而让用户一目了然;因涉及巧妙、精致美观而让用户流连忘返;因恰当使用各种元素能完成许多功能而不显拥挤。对页面设计的测试可以从以下几个方面进行:
页面的一致性如何
在每个页面上是否设计友好的用户界面和直观的导航系统
是否考虑多种浏览器的需要
是否建立了页面文件的命名体系
是否充分考虑了合适的页面布局技术,如层叠样式表、表格和帧结构等
【问题4】
SQL注入是黑客攻击数据库的一种常用方法,其实就是通过把SQL命令插入到Web表单或页面请求的查询字符串中提交,最终达到欺骗服务器执行恶意的SQL命令,来达到攻击的目的。
对于本题由于将SQL语句中的输入值,使用参数方式传送,而且SQL语句进行预编译,这样由于防止注入式攻击,测试用例设计可参考:
Pstmt.setString('1' or '1' = '1'--,status)
Pstmt.setString('2' or '1' = '1',orderID)