软件测试2019:第五次作业
一、回答下述问题:
阐述常见的Web安全测试有几种类型?
1.跨站脚本(XSS)
XSS又叫CSS(CROSS SET SCRIPT),跨站脚本攻击。它指的是恶意攻击者往WEB页面里插入恶意的html代码,当用户浏览该页面时,嵌入其中的html代码会被执行,从而达到恶意用户的特殊目的;(钓鱼、盗取cookie、操纵受害者的浏览器、蠕虫攻击)
2.反射型跨站(Reflected XSS)
服务器端获取http请求中的参数,未经过滤直接输出到客户端。如果这些参数是脚本,它将在客户端执行(钓鱼常见)。
3.存储型跨站(Stored XSS)
用户输入的数据存在服务器端(一般存在数据库中),其他用户访问某个页面时,这些数据未经过滤直接输出。这些数据可能是恶意的脚本,对其他用户造成危害。(挂马
常见)
在允许上传文件的应用中,攻击者上传一个包含恶意代码的html或者txt文件,用户浏览这些文件执行恶意代码;
一般的应用中上传图片最普遍,如果图片中包含恶意代码的html或者txt文件,,低版的IE直接请求这个图片时,将忽略Content-Type执行图片中的代码。
在允许上传文件的应用中,攻击者上传一个包含恶意代码的html或者txt文件,用户浏览这些文件执行恶意代码;
一般的应用中上传图片最普遍,如果图片中包含恶意代码的html或者txt文件,,低版的IE直接请求这个图片时,将忽略Content-Type执行图片中的代码。
4.DOM跨站(DOM-Based XSS)
攻击者构造一个包含恶意Javascript的URL,然后引诱用户请求这个URL。服务器收到请求后没有返回恶意的Javascript。
浏览器在处理URL中的数据时,执行恶意代码。
浏览器在处理URL中的数据时,执行恶意代码。
5.跨站请求伪造(CSRF)
强迫受害者的浏览器向一个易受攻击的Web应用程序发送请求,最后达到攻击者所需要的操作行为。
恶意请求会带上浏览器的Cookie。受攻击的Web应用信任浏览器的Cookie。
恶意请求会带上浏览器的Cookie。受攻击的Web应用信任浏览器的Cookie。
6.SQL注入
用户输入的数据未经验证就用来构造SQL
查询语句,查询数据库中的敏感内容,绕过认证添加、删除、修改数据、拒绝服务。
查询语句,查询数据库中的敏感内容,绕过认证添加、删除、修改数据、拒绝服务。
7.XML注入
和SQL注入原理一样,XML是存储数据的地方,如果在查询或修改时,如果没有做转义,直接输入或输出数据,都将导致XML注入漏洞。攻击者可以修改XML数据格式,增加新的XML节点,对数据处理流程产生影响。
二、安全测试工具调研
1. 概述
列出常见的安全测试工具,画一张表,加以说明。格式如下:
序号 |
安全测试工具 |
商用OR免费 |
检测对象(二进制代码/源代码) |
简介 |
1 |
Metasploit |
免费 |
二进制代码 |
|
2 |
Nessus |
商用 |
源代码 |
|
3 |
W3AF |
免费 |
源代码 |
|
4 |
Paros proxy |
免费 |
源代码 |
|
5 |
WebScarab |
免费 |
二进制代码 |
|
6 |
Nikto |
免费 |
二进制代码 |
|
7 |
Wapiti |
免费 |
源代码 |
|
2. 安全测试工具试用
我选择的是Metasploit安全测试工具
(一)安装Metasploit
(二)进行环境变量配置
三、在命令行打开软件
四.
步骤一:启动
步骤二:通过show命令查看模块
步骤三:用option命令查看具体的参数设置
步骤四:运行set命令
步骤五:生成一个URL
总结观点:
首先,对于安全测试技术工具的开发是极其重要的,我也在网上一些软件开发技术的网站上尝试着下载一些
安全技术工具,但下载完了之后跟系统的硬件显示不兼容或者无法运行等问题,下载插件包也无法解决,可
能还是由于运行环境的问题吧。