安全测试
一、概览
1.常见的Web安全测试类型
2.安全测试工具概述
3.安全测试工具试用(Metasploit)
二、常见的Web安全测试类型
1.web安全测试时要考虑的情形:
(1)数据加密 某些数据要进行加密才能在客户端和服务器之间进行传输
(2)登录或身份验证 对用户名和密码进行校验,防止非法用户登录
(3)输入验证 对输入的内容做一定的限制
(4)SQL注入 注入某些参数,绕过程序保护,对数据库服务器进行攻击
(5)超时限制 超过一定时长,要重新登录才能打开其他页面
(6)目录 严格设定web服务器的目录访问权限
(7)操作留痕 测试相关信息是否写入日志文件
2.web安全测试的常用类型
1.跨站脚本(XSS)
XSS又叫CSS(CROSS SET SCRIPT),跨站脚本攻击。它指的是恶意攻击者往WEB页面里插入恶意的html代码,当用户浏览该页面时,嵌入其中的html代码会被执行,从而达到恶意用户,特殊目的:(钓鱼、盗取cookie、操纵受害者的浏览器、蠕虫攻击)
2.反射型跨站(Reflected XSS)
服务器端获取http请求中的参数,未经过滤直接输出到客户端。如果这些参数是脚本,它将在客户端执行(钓鱼常见)。3.存储型跨站(Stored XSS)
用户输入的数据存在服务器端(一般存在数据库中),其他用户访问某个页面时,这些数据未经过滤直接输出。这些数据可能是恶意的脚本,对其他用户造成危害。4.DOM跨站(DOM-Based XSS)
攻击者构造一个包含恶意Javascript的URL,然后引诱用户请求这个URL。服务器收到请求后没有返回恶意的Javascript。5.跨站请求伪造(CSRF)
强迫受害者的浏览器向一个易受攻击的Web应用程序发送请求,最后达到攻击者所需要的操作行为。6.SQL注入
用户输入的数据未经验证就用来构造SQL,查询语句,查询数据库中的敏感内容,绕过认证添加、删除、修改数据、拒绝服务。7.XML注入
和SQL注入原理一样,XML是存储数据的地方,如果在查询或修改时,如果没有做转义,直接输入或输出数据,都将导致XML注入漏洞。攻击者可以修改XML数据格式,增加新的XML节点,对数据处理流程产生影响
8.URL跳转
Web应用程序接收到用户提交的URL参数后,没有对参数做”可信任URL”的验证,就向用户浏览器返回跳转到该URL的指令。(钓鱼攻击)
三、安全测试工具概述
序号 | 安全测试工具 | 商用 OR 免费 | 检测对象(二进制代码/源代码) | 简介 |
1 | Metasploit | 免费 | 源代码 |
能够验证绝大多数的安全漏洞,还可以进行实际的入侵工作 |
2 | Nessus | 商用 | 源代码 |
对本机或者其他可访问的服务器进行漏洞扫描 |
3 | W3AF | 免费 | 源代码 | web应用安全的攻击、审计平台 |
4 | Paros proxy | 免费 | 源代码 | 基于Java的web代理程序,对web程序漏洞进行评估 |
5 | WebScarab | 免费 | 源代码 | 用简单的形式记录它观察到的会话,允许操作员观察会话 |
6 | Nikto | 免费 | 源代码 | 可以对web服务器多种项目进行全面测试 |
7 | Wapiti | 免费 | 源代码 | 直接对网页进行扫描 |
8 | Kismet | 免费 | 无线测试 |
无线测试 |
..... |
四、安全测试工具的试用
Metasploit安全测试工具的试用
1.安装Metasploit(关闭杀毒软件)
下载地址:http://downloads.metasploit.com/data/releases/metasploit-latest-windows-installer.exe
1.1选择安装路径
1.2 完成安装
2.启动Metasploit
安装完成后会有一个注册页面,完成注册,在cmd中启动Metasploit
这时候就启动好了,可以做一些安全测试
3.测试
我使用Windows的漏洞ms10-018做了内网的渗透测试
Metasploit中集成的很多的攻击模块通过show命令我们可以查看这些模块
show exploits命令
进入这个漏洞
使用use命令
使用run命令进行渗透
这时候生成了一个URL,复制下来在IE浏览器中打开
如果可以的话会生成一个渗透成功的提示,由于我这的IE浏览器版本比较高,所以没办法渗透进去,后面对靶机的操控也没做