A、SQL注入判定标准:
1、追加单引号’或单引号的URL编码形式%27或双编码方式%2527
如果漏洞存在,则提交后服务器响应为出现类似单引号不闭合的数据库错误;
2、追加注释符—或注释符的URL编码形式%2d%2d或双编码方式%252d%252d
如果漏洞存在,则提交后服务器响应为出现类似单引号不闭合或SQL语句不完整的数据库错误。
3、追加条件判断(数字型):and 1=1和and 1=2
如果漏洞存在,则分别提交后页面内容出现逻辑真(一般和不加该测试用例字符串时返回的结果一样)和逻辑假(一般会返回结果为空的内容)两个不同页面。
4、追加条件判断(字符型):’ and ‘1’=‘1 和’ and ‘1’=‘2
如果漏洞存在,则分别提交后页面内容出现逻辑真(一般和不加该测试用例字符串时返回的结
果一样)和逻辑假(一般会返回结果为空的内容)两个不同页面。
B、跨站脚本漏洞的测试范围:
1、创建、修改页面(包括创建、保存、提交、编辑、修改等操作)
手工+Paros工具测试
2、文件上传(包括黑名单、白名单)
黑名单:html,exe,bat 三种格式的附件是不允许上传的
白名单:在word,excel,ppt 等可允许上传的文件中添加可执行脚本,如<script>alert(document.cookie)</script>
跨站脚本漏洞的测试方法:
1、在输入框中提交标签字符:< 和 > 及其URL编码:%3C%3E和双编码%253C%253E,可以一起输入。
2、在输入框中提交单引号和双引号:’ 和 ” 及其URL编码:%27%22和双编码%2527%2522。
3、在输入框中提交圆括号:( 和 )及其URL编码:%28%29和双编码%2528%2529。
备注:1.华为IT对WEB应用只要求对<>,单双引号等特殊字符做转义过滤;对()不做要求。
2.只对持久性跨站漏洞进行整改;对非持久性,URL跨站漏洞等不做整改要求,认为被攻击的风险很低。
3.上传附件跨站漏洞,应该注入获取cookie信息的脚本:<script>alert(document.cookie)</script>来验证。
4.常用的测试脚本如下:
<script>alert("aaa")</script>
<iframe src="http://www.c114.net"></iframe>
<script>alert(document.cookie)</script>
javascript:alert(document.cookie)
111" onmouseover="JavaScript:alert(‘XSS‘)
222222<>%3c%3e%253c%253e
1111‘"%27%22%2527%2522
3333()%28%29%2528%2529
备注:◆ 如果不跳转,直接在当前页检查源码;如果跳转,则到结果查询页面查询提交的结果是否转译。
◆ 联想和下拉框参与测试跨站点,需要用Paros工具,在输入正常值后用Paros修改追加跨站特征符。
◆多个条件的提交或者更改,跨站点测试可以一起输入条件,最好是要区分每个条件的标识,便于查找。
跨站脚本漏洞的判定标准:
1、在输入框中提交标签字符:< 和 > 及其URL编码: %3C%3E和双编码%253C%253E
-----观察输出页面的源文件,如果输出内容显示位置在HTML标签之间,且<和>没有被编码为字符实体形式,则存在跨站脚本漏洞。如果输出内容显示位置在页面脚本内容中,且没有用/进行转义,则存在跨站脚本漏洞
2、在输入框中提交单引号和双引号:’ 和 ” 及其URL编码:%27%22和双编码%2527%2522
-----观察输出页面的源文件,如果输出内容显示位置在HTML标签的属性值中,且’和”没有被编码为字符实体形式,则存在跨站脚本漏洞。如果输出内容显示位置在页面脚本内容中,且没有用/进行转义,则存在跨站脚本漏洞
3、文件上传下载
-----黑名单:html,exe,bat 三种格式的附件能上传,说明存在跨站漏洞。
------若上传的白名单,点击附件在打开界面,若以Html类型打开则一定存在跨站漏洞,若已 文档本身的类型打开则不存在跨站漏洞。
安全测试笔记