0x00测试环境

1、Firefox浏览器、firebug插件。

2、Apache服务器、PHP环境。

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

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

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

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

<?php

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

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

我在尝试改变一下后面的参数localhost/?param=<script>alert(/xss/)</script>

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

用户输入的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代码如下:

<script>

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

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

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

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

另外一种注入测试:

构造一个新的事件,选择闭合掉原来代码中<a>,插入一个新的HTML标签。'><img src=# onerror=alert(/xss2/) /><'

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

by:白帽子安全

以上实验在虚拟环境下测试,切莫用于真实环境。

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

1.《如何制作xs脚本》援引自互联网,旨在传递更多网络信息知识,仅代表作者本人观点,与本网站无关,侵删请联系页脚下方联系方式。

2.《如何制作xs脚本》仅供读者参考,本网站未对该内容进行证实,对其原创性、真实性、完整性、及时性不作任何保证。

3.文章转载时请保留本站内容来源地址,https://www.lu-xu.com/keji/3210225.html