-
跨站脚本之完全总结
------------------------------------------------ --------------------------------
来源
:
黑客基地
编辑
p>
:
古典辣
M
°
p>
以前看过分析家写过一篇文章,介
绍跨站脚本的安全隐患,当时只是知道有这样的
问题,也没有
仔细阅读,目前此类问题经常在一些安全站点发布,偶刚好看到这样一篇文章
,
抱着知道总比不知道好的想法,<
/p>
翻译整理了一下,
原文在偶主页的
col
lection
目录里,
错误
之处请
多多指点。
OK
,
go............
什么是跨站脚本
(CSS/XSS)?
我们所说跨站脚本是指在远程
WEB
页面的
html
代码中插入的具有恶意
目的的数据,
用户认为
该
页面是可信赖的,但是当浏览器下载该页面,嵌入其中的脚本将被解释执行,
有时候跨站脚本被称为
,这是因为
一般被称为分层样式表,这很容易让人困惑,
< br>
如果
你听某人提到
CSS
或者
XSS
安全
漏洞,通常指得是跨站脚本。
XSS
和脚本注射的区别?
原文里作者是和他一个朋友
(b0i
ler)
讨论后,才明白并非任何可利用脚本插入实现攻击的
漏洞都被称为
XSS
,还有另一种攻击
方式:
他们的区别在以下两点:
1.(Script Injection)
脚本插入攻击会把
我们插入的脚本保存在被修改的远程
WEB
页面里
,
如
:sql
injection,XPath injection.
2.
跨站脚本是临时的,执行后就消失了
什么类型的脚本可以被插入远程页面?
主流脚本包括以下几种:
HTML
JavaScript
(
本文讨论
)
VBScript
ActiveX
Flash
是什么原因导致一个站点存在
XSS
的安全漏洞?
许多
cgi/php
脚本执行时,如果它发现客户提交的请
求页面并不存在或其他类型的错误时,
出错信息会被打印到一
个
html
文件,并将该错误页面发送给访问者。
例如:
404 - Not Found!
我们一般对这样的信息不会注意,但是现在要研究
CSS
漏洞的成因,我们还是仔细看一下。
例:
/cgi-bin/?page=
该
URL
指
向
的
连
接
是
有
效
的
,
但
p>
是
如
果
我
们
把
后
面
的
替
换
成
brainrawt_owns_
,一个包含
404 - brainrawt_owns_
Not Found!
信息的页面将反馈给访问者的浏览
器。
考虑一下它是如何把我们的输入
写到
html
文件里的?
OK
,现在是我们检查
XSS
漏洞的时候了!
注意:
下面仅仅是一个例子,
该页面存
在
XSS
漏洞,
我们可以插入一写
p>
javascript
代码到页
面
里。当然方法很多
[url]/cgi-bin/?page= Not
Found!