zoukankan      html  css  js  c++  java
  • 安全检测检查清单(Web)网站

    (一)

    检查项:弱锁定机制

    优先级:高

    检查要点:检查系统帐号锁定机制健壮性

    检查方法:

    1、尝试使用错误的密码登录5次,查看账户是否被锁定
    2、等待10分钟再次测试,确认该用户是否还处于锁定状态

    (二)

    检查项:认证模式绕过

    优先级:高

    检查要点:检查是否可以跳过登录页面直接访问,需要认证通过后才能访问的内部网页

    检查方法:

    可以尝试通过篡改和假装通过验证的手法绕过验证措施,绕过Web应用验证架构的方法有:
    1、直接的页面请求
    2、参数修改
    3、会话ID预测
    4、SQL注入

    (三)

    检查项:密码规则检验/弱口令检查

    优先级:高

    检查要点:是否可以设置不符合密码规则的口令

    检查方法:

    1、在目标系统修改密码输入不符合下属密码规则的任意组合字符串,确认密码是否可以修改成功。
    密码规则如下:密码至少包含以下四种类别的字符中的三种:
    英语大写字母 A, B, C, … Z
    英语小写字母 a, b, c, … z
    西方阿拉伯数字 0, 1, 2, … 9
    非字母数字字符,如标点符号,@, #, $, %, &, *等
    另外,口令中不能含有与IP地址、账号名、公司名、人名、生日、记念日期、电话、E-mail等有关的字符
    2、依据设置的字典库进行暴力破解(字典库应包括以用户名加连续数字、键盘连续输入等弱口令)

    (四)

    检查项:目录遍历

    优先级:高
    检查要点:是否存在目录遍历
    检查方法:通过AWVS扫描,查看扫描结果中,是否存在Directory Listing漏洞

    (五)

    检查项:越权测试
    优先级:高
    检查要点:检查是否可以用低权限账户访问高权限账户资源或信息
    检查方法:

    1、使用低权限帐号登录系统
    2、使用burpsuite抓取低权限账户的数据访问数据包
    3、修改URL参数为高权限账户,重放数据包,查看返回数据是否为高权限帐号所能访问到的资源

    (六)

    检查项:加密传输

    优先级:高
    检查要点:检查认证过程中传输是否加密(用户名密码明文传输、敏感数据传输加密)
    检查方法:使用浏览器打开应用系统,,输入账号密码登陆系统,使用Fiddler2抓包查看传输数据中是否存在明文密码或简单加密(如:base64、DES等)的密码等信息

    (七)

    检查项:Web应用密码保存在页面的隐藏域中(会话变量泄露测试)
    优先级:高
    检查要点:检查登录、验证等页面的隐藏域中是否存在密码信息
    检查方法:1、使用Firebug等前端调试工具查看页面源码,检查页面中的<input type="hidden">字段是否存在密码等信息

    (八)

    检查项:跨站攻击脚本
    优先级:高
    检查要点:检查各web应用系统是否存在跨站脚本漏洞
    检查方法:1、寻找可疑点:通过Web应用扫描工具AWVS的跨站脚本策略检查各web应用系统是否存在跨站脚本漏洞;

    2、确认可疑点是否存在跨站:在可疑点的输入点输入双引号尖括号等进行手工验证,也可以输入script、iframe等HTML标签进行尝试确认,查看是否能够回显输入的<script>alert("xss")</script>

    (九)

    检查项:SQL注入攻击
    优先级:高
    检查要点:检查是否存在SQL注入
    检查方法:

    1、寻找可疑点:
    使用AWVS扫描器对目标网站进行扫描以找出所有的SQL注入可疑点,对可能存在的注入点进行以下操作;
    2、确认可疑点是否存在注入
    (1)手工确认:通过在可疑点末尾加上单引号 或者 and、or等逻辑语句,根据页面的输出结果进行判断;
    (2)工具确认:如SQLMAP(sqlmap -u url地址), pangolin,havij,阿D
    确认是否存在以下情况:
    1、是否存在使用 "or"="or" ,'or'='or' ,"or"="or,'or'='or等万能口令登陆情况
    2、 对于数字型参数,可使用单引号value’或value and 1=1和value and 1=2进行测试。当使用单引号进行测试时如果服务器端返回SQL错误,或使用value and 1=1和value and 1=2进行测试时,服务端两次返回的内容不一致,则说明存在SQL注入漏洞;
    3、 对于字符型参数,可使用单引号value’或value and ‘a’=’a和value and ‘a’=’b进行测试。当使用单引号进行测试时如果服务器端返回SQL错误,或使用value and ‘a’=’a和value and ‘a’=’b进行测试时,服务端两次返回的内容不一致,则说明存在SQL注入漏洞;

    (九)

    检查项:命令执行注入
    优先级:高
    检查要点:检查是否存在命令注入漏洞
    检查方法:

    1、寻找可疑点:
    使用AWVS扫描器对目标网站进行扫描,并生成扫描报告。
    2、手工确定可疑点是否存在命令注入漏洞。
    对Linux系统,在参数化URL末尾加上|%20cat%20/etc/passwd
    对Windows系统,在参数化URL末尾加上;echo test

    (十)

    检查项:任意文件上传
    优先级:高
    检查要点:是否存在任意文件上传
    检查方法:

    1、使用AWVS扫描器对目标网站进行扫描以找出所有的上传可疑点,对可能存在的上传点进行以下操作;
    2、尝试直接上传木马(webshell或者脚本文件)
    3、尝试绕过限制进行上传,例如进行拦截改包、解析漏洞等。(可使用BurpSuite等工具)
    4、判断服务器后台是否做了上传文件格式限制
    (例:
    文件名大小写绕过:例如AsP、pHp、JSp等;
    黑名单绕过:例如asa、cer等;
    FCKEditor上传php2、php4、inc、pwml、asa、cer等格式;
    截断绕过:1.php[].jpg,test.asp%00.jpg截断绕过
    解析漏洞
    II6:上传1.asp;1.jpg格式的文件;
    Nginx下的PHP CGI解析漏洞,上传1.jpg文件,然后访问http://website.com/1.jpg/1.php,1.jpg文件可能会以php文件执行;
    Apache上传绕过:phpshell.php.rar.rar.rar.rar)

    (十一)

    检查项:任意文件下载
    优先级:高
    检查要点:是否存在任意文件下载
    检查方法:

    1、通过扫描器AWVS扫描发现任意文件下载漏洞的URL
    2、 更改参数的值为其他路径和文件进行验证,在浏览器地址栏中尝试以下URL
    对于UNIX/Linux服务器可以尝试下载/etc/passwd;http://www.exmaple.com/viewfile.do?filename=../etc/passwd
    http://www.exmaple.com/viewfile.do?filename=../../etc/passwd
    http://www.exmaple.com/viewfile.do?filename=../../../etc/passwd
    http://www.exmaple.com/viewfile.do?filename=../../../../etc/passwd
    http://www.exmaple.com/viewfile.do?filename=../../../../../etc/passwd
    ……
    对于Windows服务器可以尝试下载
    http://www.exmaple.com/viewfile.do?filename=c:oot.ini文件
    观察页面返回信息,如果可以获取到passwd或boot.ini文件,则说明漏洞存在

    (十二)

    检查项:任意密码重置或任意账号注册
    优先级:高
    检查要点:是否存在任意账号密码重置或注册漏洞
    检查方法:

    情况一:
    1、在账号密码重置页面输入测试手机号,点击获取验证码
    2、使用burpsuite抓取验证码请求包,修改获取手机号为另一个测试手机号
    3、将获取的验证码填入验证码进入下一步重置密码页面
    情况二:
    1、在密码重置页面随意输入验证码
    2、使用burpsuite抓取验证码验证后的返回包,查看返回包是否存在校验值如“type=1”,将1修改为0
    3、放行返回包,看是否成功进入下一步重置密码页面

    (十三)

    检查项:越权
    优先级:高
    检查要点:是否存在任越权行为
    检查方法:

    1、管理员账号、普通账号分别用不同浏览器登录,将管理员账号有权限查看的URL复制黏贴到普通账号下访问
    2、分别用不同浏览器登录两个普通账号,将A账号权限下可查看操作的页面URL(比如A账号的个人信息)复制到B账号下访问

    (十四)

    检查项:Struts2漏洞
    优先级:高
    检查要点:是否存在Struts2远程代码执行漏洞
    检查方法:

    1、查看各检查系统是否使用Struts2框架
    2、使用K8_Struts2_EXP工具进行检查、验证,查看工具是否成功执行系统命令

    (十五)

    检查项:CSRF
    优先级:中
    检查要点:检查应用系统是否存在跨站请求伪造漏洞
    检查方法:检查业务系统是否采用了token验证机制

    (十六)

    检查项:应用程序报错页面中泄漏敏感信息
    优先级:中
    检查要点:检查报错页面是否含有系统后台信息、错误代码、版本号等信息
    检查方法:

    1、使用AWVS等扫描工具扫描网站
    2、查看扫描结果中Http请求返回码为500的页面

    (十七)

    检查项:错误处理测试
    优先级:中
    检查要点:应用程序报错中泄漏敏感信息
    检查方法:检查报错是否含有系统信息、错误代码、版本号等信息

    (十八)

    检查项:目录遍历
    优先级:中
    检查要点:是否存在目录遍历
    检查方法:

    1)通过AWVS扫描,查看扫描结果中,是否存在Directory Listing漏洞
    2)使用目录扫描工具扫描目标
    3)利用浏览器打开漏洞链接,验证前面两种扫描结果,是否可以成功浏览目录

     

  • 相关阅读:
    通过Relect反射方法创建对象,获得对象的方法,输出对象信息
    Spring框架中获取连接池常用的四种方式
    Spring框架的七大模块
    Java线程池的四种创建方式
    递归算法
    将字符串反转的 Java 方法
    [String]split()方法
    [String] intern()方法
    案例>>>用绝对值的方法打印出菱形
    数组的简单理解
  • 原文地址:https://www.cnblogs.com/mqh666/p/12218711.html
Copyright © 2011-2022 走看看