(一)

检查项:弱锁定机制

优先级:高

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

检查方法:

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[\0].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:\boot.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)利用浏览器打开漏洞链接,验证前面两种扫描结果,是否可以成功浏览目录

 

安全检测检查清单(Web)网站的更多相关文章

  1. C#不用union,而是有更好的方式实现 .net自定义错误页面实现 .net自定义错误页面实现升级篇 .net捕捉全局未处理异常的3种方式 一款很不错的FLASH时种插件 关于c#中委托使用小结 WEB网站常见受攻击方式及解决办法 判断URL是否存在 提升高并发量服务器性能解决思路

    C#不用union,而是有更好的方式实现   用过C/C++的人都知道有个union,特别好用,似乎char数组到short,int,float等的转换无所不能,也确实是能,并且用起来十分方便.那C# ...

  2. zabbix 监控web网站性能

    一直在纠结用什么实例来给大家演示呢?想来想去还是官方的好,那我们怎么用zabbix监控web性能和可用性呢?我们这边分为几个步骤:打开网站.登陆.登陆验证.退出,一共4个小step,看实例. 检测流程 ...

  3. 通过JS语句判断WEB网站的访问端是电脑还是手机

    通过JS语句判断WEB网站的访问端是电脑还是手机,以显示不同的页面! 目录腾讯网的适配代码如何判断访问网站的机器类型-如何判断ipadJS 判断浏览器客户端类型(ipad,iphone,android ...

  4. Web网站的性能测试工具

    随着Web 2.0技术的迅速发展,许多公司都开发了一些基于Web的网站服务,通常在设计开发Web应用系统的时候很难模拟出大量用户同时访问系统的实际情况,因此,当Web网站遇到访问高峰时,容易发生服务器 ...

  5. WEB网站常见受攻击方式及解决办法

    一个网站建立以后,如果不注意安全方面的问题,很容易被人攻击,下面就讨论一下几种漏洞情况和防止攻击的办法. 一.跨站脚本攻击(XSS) 跨站脚本攻击(XSS,Cross-site scripting)是 ...

  6. 【转】WEB网站常见受攻击方式及解决办法

    一个网站建立以后,如果不注意安全方面的问题,很容易被人攻击,下面就讨论一下几种漏洞情况和防止攻击的办法. 一.跨站脚本攻击(XSS) 跨站脚本攻击(XSS,Cross-site scripting)是 ...

  7. SElinux解决web网站无法访问

    SElinux解决web网站无法访问工具/原料centos 6.5系统httpd web服务器 SELinux 设置为enforcing:强制模式,代表 SELinux 运作中 方法/步骤1. 1se ...

  8. 自学Zabbix4.3 zabbix实战监控Web网站性能

    自学Zabbix4.3 zabbix实战监控Web网站性能 用zabbix如何监控web性能和可用性呢?一般分为四个步骤:打开网站.登陆.登陆验证.退出,看实例. 1. 检测流程 1. 打开网站:如果 ...

  9. ASP.NET Visual Studio2010 发布Web网站问题详解

    今天研究了一下如何发布web网站,之前总是没耐心,遇到点问题就没心情搞了,今天总算有点耐心搞明白了.其实遇到的问题还是挺多的,网上也没有太全的解释,所以结合自己还有别人的方法进行一下总结. 环境:Wi ...

随机推荐

  1. 如何解决vue项目中 scss 不支持 scoped 的 /deep/ 穿透写法

    如何解决vue项目中 scss 不支持 scoped 的 /deep/ 穿透写法 用过vue的人估计都用过scoped样式属性,但有时候需要穿透样式,啥办? 很多资料都说用>>> 或 ...

  2. H3C DHCP服务器可选配置

  3. P1012 鸡兔同笼问题

    题目描述 笼子里有鸡和兔若干,一直它们共有头 \(n\) 个,有脚 \(m\) 只,问笼中的鸡和兔共有多少只? 输入格式 输入包含两个整数 \(n,m(1 \le n \le 100, 2n \le ...

  4. 列表内容自动向上滚动(原生JS)

    效果展示 (鼠标移入,滚动停止:鼠标移出,滚动继续) 实现原理 1. html结构:核心是ul > li,ul外层包裹着div.因为想要内容循环滚动无缝衔接,所以在原有ul后面还要有一个一样内容 ...

  5. Educational Codeforces Round 61

    Educational Codeforces Round 61 今早刚刚说我适合打pikmike出的EDU 然后我就挂了 A 不管 B 不管 C 这道题到快结束了才调出来 大概就是\(n^2\)枚举不 ...

  6. Linux 内核usb_bulk_msg 接口

    usb_bulk_msg 创建一个 USB 块 urb 并且发送它到特定的设备, 接着在返回到调用者之 前等待完成. 它定义为: int usb_bulk_msg(struct usb_device ...

  7. HDU 6444 Neko's loop(单调队列)

    Neko has a loop of size nn. The loop has a happy value aiai on the i−th(0≤i≤n−1)i−th(0≤i≤n−1) grid.  ...

  8. 改变this指向

    fn.call(obj,参数,参数): call(函数执行过程中this指向,后面的参数就是原函数的参数列表) : 函数下的一个内置方法,当我们申明一个函数的时候,这个函数下就会有一个默认的方法,ca ...

  9. 如何使用IoTSharp对接ModBus?

    提到对接ModBus 那么或许大家最熟悉的可能是 HslCommunication 和SharpSCADA 了,是GitHub 上关注最多的此类开源项目,  因此IoTSharp将通过HSL组件进行数 ...

  10. navicat创建存储过程时报错1064

    1.这是创建的存储过程 2.一保存就会出错 3.后来上网查了一下是存储过程的参数没有设定长度导致的,我们在Navicat中创建存储过程时参数的长度需要自己动手去添加的否则就会包这种错误. 添加上参数的 ...