XSS跨站脚本攻击读书笔记

0x00测试环境

1、firefox浏览器、firebug插件。

2、Apache服务器,php环境。

3、背景知识:跨站脚本攻击XSS,(cross site script)缩写是CSS,但是为了和层叠样式表(cascading style sheet ,css)区别,在安全领域叫做“XSS”。

XSS攻击,通过HTML注入修改网页,插入恶意脚本,从而在用户浏览时候,控制用户浏览器的一种攻击。由于刚开始攻击演示的案例是跨域的,所以叫做“跨站脚本”

(1)第一种类型,反射型XSS(非持久型XSS)

将下列php编辑好命名为test.php,放在Apache目录下,在浏览器运行该文件。

".$input."
"; //注入输入数据显示 echo "这是一个测试XSS代码!!"; ?>

XSS跨站脚本攻击读书笔记_第1张图片

XSS跨站脚本攻击读书笔记_第2张图片

XSS跨站脚本攻击读书笔记_第3张图片

我提交一个参数在地址后面localhost/test.php?param=这是一个XSS测试

XSS跨站脚本攻击读书笔记_第4张图片

可以用firebug插件看到网页代码发生了改变。(图中红色框框)

我在尝试改变一下后面的参数localhost/test.php?param=

XSS跨站脚本攻击读书笔记_第5张图片

出现注入提示。点击确定后,网页代码放生了变化。

XSS跨站脚本攻击读书笔记_第6张图片

用户输入的script脚本已经写入了网页中,这就是反射型XSS攻击,把用户输入的数据放射给浏览器,也叫非持久型XSS。攻击者将恶意代码填入请求的参数中,页面输出执行了攻击者输入的恶意代码(反射型 XSS,非持久化,需要欺骗用户自己去点击链接才能触发 XSS 代码)

(2)存储型XSS(持久型XSS)

存储型 XSS,持久化,代码是存储在服务器中的,如在个人信息或发表文章等地方,加入代码,如果没有过滤或过滤不严,那么这些代码将储存到服务器中,用户访问该页面的时候触发代码执行。

(3)DOM Base XSS

反射型XSS的一个分支,通过修改页面DOM节点形成的XSS。该漏洞是基于文档对象模型(Document Objeet Model,DOM)的一种漏洞。DOM 是一个与平台、编程语言无关的接口,它允许程序或脚本动态地访问和更新文档内容、结构和样式,处理后的结果能够成为显示页面的一部分。DOM 中有很多对象,其中一些是用户可以操纵的,如 URI ,location,refelTer 等。客户端的脚本程序可以通过 DOM 动态地检查和修改页面内容,它不依赖于提交数据到服务器端,而从客户端获得 DOM中的数据在本地执行,如果 DOM 中的数据没有经过严格确认,就会产生 DOM-based XSS 漏洞。

测试DOM代码如下:


 
//取文本框里面的值 //调用test()函数
网页中会出现一个文本框和一个按钮,当点击按钮就会出现一个连接(test()函数)。运行该javascript代码。

XSS跨站脚本攻击读书笔记_第7张图片

点击按钮后会调用test()函数,在文本框上出现一个链接。

我构造一个数据' οnclick=alert(/xss/) // ,写入的数据中前一个单引号闭合了href 语句中第一个单引号,最后//注释掉最后一个单引号。

XSS跨站脚本攻击读书笔记_第8张图片

输入完数据后,点击按钮,再点击链接地址teskLink,就会出现如下图:

XSS跨站脚本攻击读书笔记_第9张图片

另外一种注入测试:

构造一个新的事件,选择闭合掉原来代码中,插入一个新的HTML标签。'><'

XSS跨站脚本攻击读书笔记_第10张图片


**********************************************************************

by:答案

time:2017-2-28

**********************************************************************

你可能感兴趣的:(XSS跨站脚本攻击)