前段时间接手了对网站进行安全测试的任务。

  刚接到的时候心里非常紧张,因为什么都不懂的,以前也没有接触过这个方面的。虽然小组有人共享过一点东西,那毕竟是理论,大家对于实际操作都是是懂非懂的。

  后来找了很多有关这方面的东西,于是概括一下,主要是测试下面那些内容了(一些文绉绉的理论不讲啦,我只是总结测试动作):

  一、没有进行xss过滤的情况:

  a、url中的所有参数值用  ‘"></script><script>alert("hello,my girl!")</script> 代替测试:

  现象:跳出"hello,my girl!"提示框;

  b、text框输入 ‘"></script><script>alert("hello,my girl!")</script>,点击提交:

  现象:没有正常写入数据库;或查看阅览页面或者从数据库显示时,没有被转义;

  c、副文本编辑器输入<img nerror = "alert(123)" src=http://xxx.com>;

  现象:没有正常写入数据库;查看阅览页面或从数据库显示时,出现js错误或者排版出现问题;

  d、在数据库字段中写入‘"></script><script>alert("hello,my girl!")</script>,查看页面显示:

  现象:跳出alert;或者页面出现js问题等;查看源代码时,没有进行转义;

  注意点:

  1、很多时候,html代码的<title >和<meta  >中的参数会显示数据库的产品名呀,或者其他有可能显示乱码的参数,所以这种地方也需要注意,以‘"/></script><script>alert("hello,my girl!")</script>为例,会跳出alert值,或者显示</script><script>alert("hello,my girl!")</script>不应该显示的值,因为被",或者/>拦截了。

  2、有些html链接,如果url是×××.产品名.html的时候,如果产品名或者其他参数有可能会是乱码的时候,它会把前面的一些单引号或者双引号先优先使用了,以‘"/></script><script>alert("hello,my girl!")</script>为例,url = "×××.‘"/></script><script>alert("hello,my girl!")</script>",这样的情况的话,页面会显示/></script><script>alert("hello,my girl!")</script>"这样的不应该显示的值。

  3、如果你的网站有搜索框,那用包含这样的值的产品名进行搜索,有可能搜索不出来,有可能是页面跳出alert值,或者页面出现了不该出现的代码行等。

  4、主要点是输入框,显示,链接,url输入,搜索等。

  二、关于crsf:

  1、搜索在所有我数据提交的地方,是否都加了token值;

  2、修改数据提交出的crsf,再提交,是否能正常提交,是否提示数据超时;

  3、每个不同的用户登录后,token值是否都是新值。

  注意点:

  a、虽然加token貌似看起来不难,看到有什么提交按钮加上token好了,所以很多时候开发会忘记软更新的时候加上token。比如说,删除这个动作是每条数据产生的时候,跟在数据后面的url链接。我在测试这个的时候,对应的开发忘记了所有软更新的token添加。所以这个地方需要特别注意;

  b、还有一点是,每个用户登录后的token是不一致的。比如说a用户这一次登录后token值是1111,b用户这一次登录后2222.但登录后,不管什么操作,token值是一致了。意思是比如a用户产生的token值是1111,那这个值将伴随他直到他下一次重新登录。

  这次我测试的部分只有这两个部分,关于sql注入等,还没有涉及,下次有机会整理。

注:本文出自zfy19821221的51Testing软件测试博客:http://www.51testing.com/?159499