当前位置:  开发笔记 > 编程语言 > 正文

关于XSS漏洞的一个小问题

如何解决《关于XSS漏洞的一个小问题》经验,为你挑选了2个好方法。

我想在实时服务器上使用css样式切换器.我一直在询问irc,一个人说有一个很大的XSS漏洞.我不太了解XSS漏洞.我希望有人可以帮助我保护它!

我将本教程用于css切换器:http: //net.tutsplus.com/tutorials/javascript-ajax/jquery-style-switcher/

那家伙说这个漏洞就在脚本的PHP端!

任何提示将非常感谢!

此外,如果有人可以更安全的方式重新制作整个脚本,因为 - 请从net.tutsplus.com做很多人使用它会感谢你!



1> HoLyVieR..:

我在这个脚本上看到的问题是,有一个来自客户端的值,$_COOKIE['style']并且直接在页面中输出.


在某些特定条件下,外部网站可以使用cookie值进行劫持.此外,cookie值也在style-switcher.php没有基于GET参数的任何过滤的情况下设置.

我建议你的是限制你想要的样式的可能性.

示例:

 



2> bobince..:
href="css/.css"

每次将文本字符串输出到HTML时,都必须使用htmlspecialchars()该值,否则带外字符<,&或者在这种情况下"将突破上下文(属性值)并允许攻击者将任意HTML插入到页面,包括JavaScript内容.

这在HTML注入漏洞中,您应该修复它.但它还不是直接的XSS漏洞,因为它的来源$style$_COOKIE.该cookie必须由您的脚本或用户自己设置; 与值$_GET$_POST值不同,它不能由第三方在用户的浏览器上设置.如果您允许第三方将用户的cookie设置为任意值,则它只会成为漏洞.

但是,style-switcher.php确切地说:

$style = $_GET['style'];  
setcookie("style", $style, time()+604800);

没有检查$style是否是批准的值,并且没有检查用户自己切换样式的请求,而不是第三方站点上的任意链接:也就是说,它容易受到XSRF的攻击.假设攻击者包含链接或img src用户访问的页面,指向:

http://www.example.com/style-switcher.php?style=">

每次用户从您的站点加载页面时,都会运行该脚本.(技术上,",;</ >在这个例子中的字符必须是URL编码与%,但我把它生在这里的可读性.)

(此外,您应该使用POST表单,因为它有副作用.)

更糟糕的是,同一个脚本包含一个直接回声注入,其中绝对是XSS易受攻击的:

if(isset($_GET['js'])) {  
    echo $style;  
}

该孔允许任意内容注入.虽然通常你会期望这个脚本jsXMLHttpRequest(通过jQuery get())调用,但没有什么能阻止攻击者通过将用户链接到以下URL来调用它:

http://www.example.com/style-switcher.php?style=&js=on

作为回应,他们会

手机用户2502851955
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有