APP下载

XSS攻击方法和防御技术研究

2019-05-24涂风涛杨晨霞

电脑知识与技术 2019年11期

涂风涛 杨晨霞

摘要:XSS漏洞可以分为三种类型:反射型、持久型和基于DOM的XSS漏洞。该文主要研究这三种不同类型漏洞的产生原因、攻击方法和防御技术。

关键词:反射型XSS;持久型XSS;基于DOM的XSS

中图分类号:TP393 文献标识码:A

文章编号:1009-3044(2019)11-0061-03

Abstract: There are three types of XSS vulnerabilities: reflection vulnerabilities, persistent vulnerabilities, and DOM-based XSS vulnerabilities. This article focuses on the causes, attack methods, and defense techniques of these three different types of vulnerabilities.

Key words: reflection XSS;persistent XSS;DOM-based XSS

1 背景

一般的Web程序攻擊以服务器应用程序为目标,目的是执行非授权动作或者非法访问数据。而跨站脚本攻击(Cross Site Script,XSS),它属于另外一种类型,因为它的攻击目标是Web程序的其他用户。XSS是在Web程序中发现的最为普遍的漏洞,它常常与其他漏洞一起造成破坏性的后果,有时甚至可以演变为了某种自我繁殖的蠕虫。

2 反射型XSS

如果Web程序用动态页面向用户显示错误消息,就容易造成反射型XSS漏洞。以下给出了低安全性反射型漏洞的代码示例,该代码接收请求参数“_GET[‘name]”并且在返回页面中直接写入该参数的值。

if( array_key_exists( "name", $_GET ) && $_GET[ 'name' ] != NULL ) {

// 将用户的输入置入输出页面

$html .= '

Hello ' . $_GET[ 'name' ] . '
';

}

如果用户输入“yiwen”,Web程序返回“Hello yiwen”的页面。但是当攻击者尝试输入“yiwen