除了正常的功能测试外,我们考虑更多的是异常测试,那异常测试时应该如何进行?
1、截取和修改Post请求
一旦截取到请求后,对于请求头的内容可以随意的增加,删除及修改
2、绕开输入限制
截取请求,输入超级长的内容,如果接收到错误,比如 error 500 :internal server error ,务必检查服务器和应用以查明更深层的原因。这表明做的输入验证太少了。
即使有合适的输入验证,也可能忽略输入的长度,重复的提交这样长的输入,服务器的内存可能会被填满,而应用的响应速度会变得越来越慢,最终会慢的好像被冻结住了
这是拒绝服务的一种形式.
3、篡改url
手动去修改url,比如http://example.com/web/这个url
可以修改http://root:[email protected]:8080/web/main.php?readonly=false§ion=1;
如果Url中带着 key=value的内容时,可以在之前或者之后添加多个随意的key=value的内容,去尝试发现劣质的代码
4、自动修改url
http://www.squarefree.com/pornzilla/
对于url含有数字的变量,可以使用以上工具在 Firefox进行批量生成连接,可以选择手动点击也可以复制保存,用curl 或者wget进行,如以下
5、测试对url长度的处理
6、编辑cookies,cookise存储着很多用户的信息,在可以编辑cookies时,可以考虑安全性方面的测试。
在编辑cookies时需要考虑前面一节说的编码方式,如果身份认证可以被轻易的预测到是非常有益的
7、上传恶意名字的文件或者大文件
许多xml解析器在解析xml时会将xml整个结构保留在内存中,billion laughs攻击就是基于这一点。这份文档的实体都引用了
两次前一项实体,所以当每项实体都正确解析出来,内存中将有几十亿的 ha,通常会耗尽程序的可用内存
windows xp中的xml处理器是这种攻击的受害者,不可将这份xml放在桌面或者任何系统目录中