zoukankan      html  css  js  c++  java
  • web安全测试之三

    1:用户权限测试

    (1)用户权限的控制

    a:用户权限控制主要是对一些有权限控制的功能进行验证;

    b:用户A进行的操作,用户B能否操作;

    c:用户A有条件的用户才能查看的页面,用户B能否查看;(是否可以直接输入URL地址进入)

    (2:)页面权限控制

    a:必须有登录权限的页面,能否在未登录的情况下进行访问;

    b:必须经过A-->B--->C的页面,能够通过A-->C?

    2:URL安全测试

    (1)适用范围: URL中含有参数,也就是通过GET方式传递的HTTP请求。

    (2)什么叫GET方式?

    HTTP定义了与服务器不同的交互方式,基本的是POST和GET方式。

    GET方式在客户端通过URL提交数据,数据在URL中可以看到,例如在日常中订购服务:

    http://pay.daily.taobao.net/mysub/subdeal/order_sub_deal.htm?servId=2

    POST方式,数据放置在HTML HEADER内提交数据,数据在URL中看不到。GET只能传输少量数据,安全性较低;POST能传输大量数据,安全性较高。

    (3)测试关注点

    1)URL参数检查

    A:  对URL中参数信息检查是否正确

    如:URL中的订单号、金额允许显示出来的话,需要验证其是否正确

    B:  对于一些重要的参数信息,不应该在URL中显示出来

    如:用户登陆时登录名、密码是否被显示出来了 ,

    2)URL参数篡改

    修改URL中的数据,看程序是否能识别:

    如:对于以下URL,修改其中planId,看是程序是否可以识别:

      http://pay.daily.taobao.net/mysub/plan/subplan/confirmSubPlanInfo.htm?planId=878

    又如:对于URL中包含金额参数的,修改金额看是否能够提交成功(可能导致用户把2元金额改成1元金额能提交),还有修改订单号等重要信息看是否会报错

    3)URL参数修改进行XSS攻击‘

    什么是XSS?

      XSS的全称是Cross Site Script(跨站点脚本)

      XSS的原理很简单,即进行脚本注入,URL执行时即把此脚本进行了执行,一般都是JavaScript脚本

    “http://demo.aa.org/index_Article_Class.asp?fID_ArticleClass=2&ArticleClassName=abc”

    改成“http://demo.aa.org/index_Article_Class.asp?fID_ArticleClass=2&ArticleClassName=abc<script>alert("hello");</script>”看有没有弹出对话框显示hello,有的话就有跨站漏洞。

    在URL中进行XSS注入,也就是把URL中的参数改成JS脚本。

    4)URL参数中进行SQL注入

    什么是SQL注入?

      SQL注入全称是SQL Injection ,当应用程序使用输入内容来构造动态sql语句以访问数据库时,会发生sql注入攻击,如查询、插入数据时。

    测试方法: URL中写入SQL注入语句,看是否被执行,如:http://demo.testfire.net这个网站中,选择sign in设置用户名为 admin ' or '1'='1   密码为任意数字  ,点击登录就可以登陆。

    一般情况下要进行SQL注入攻击,需要对数据库类型、表名、判断逻辑、查询语句等比较清楚才能够写出有效的SQL注入语句。

    3.表单提交安全测试

    适用范围:有表单提交的地方、有HTTP请求的地方(包括GET、POST请求)

    测试关注点:

    1) 表单中注入XSS脚本

    2) 表单中注入SQL 脚本

      与URL中参数进行SQL注入类似,就是在表单中写入SQL注入脚本提交看是否会有问题

    4:session测试

    (1)session是客户端和服务器之间建立的会话,存放在服务器中,服务器会为每次对会话生成一个sessionID,每个客户对应一个sessionID。并不是浏览器关闭就结束了本次对话,通常是用户执行退出或者session超时才会结束对话。

    (2)测试关注点

    a:    session互窜

    Session互窜即是用户A的操作被用户B执行了。

    验证Session互窜,其原理还是基于权限控制,如某笔订单只能是A进行操作,或者只能是A才能看到的页面,但是B的session窜进来却能够获得A的订单详情等。

    Session互窜方法:

    多TAB浏览器,在两个TAB页中都保留的是用户A的session记录,然后在其中一个TAB页执行退出操作,登陆用户B,此时两个TAB页都是B的session,然后在另一个A的页面执行操作,查看是否能成功。预期结果:有权限控制的操作,B不能执行A页面的操作,应该报错,没有权限控制的操作,B执行了A页面操作后,数据记录是B的而不是A的。

    b:  session超时

    基于Session原理,需要验证系统session是否有超时机制,还需要验证session超时后功能是否还能继续走下去。

    测试方法:

      1、打开一个页面,等着10分钟session超时时间到了,然后对页面进行操作,查看效果。

      2、多TAB浏览器,在两个TAB页中都保留的是用户A的session记录,然后在其中一个TAB页执行退出操作,马上在另外一个页面进行要验证的操作,查看是能继续到下一步还是到登录页面。

  • 相关阅读:
    Android——继续深造——从安装Android Studio 2.0开始(详)
    PHP——安装wampserver丢失MSVCR110.dll
    Marza Gift for GDC 2016
    Retrieve OpenGL Context from Qt 5.5 on OSX
    Space Time Varying Color Palette
    Screen Space Depth Varying Glow based on Heat Diffusion
    Visualization of Detail Point Set by Local Algebraic Sphere Fitting
    Glass Dragon
    Jump Flood Algorithms for Centroidal Voronoi Tessellation
    京都之行
  • 原文地址:https://www.cnblogs.com/zhouzetian/p/7240219.html
Copyright © 2011-2022 走看看