漏洞证据:
<input type="hidden" id="fromurl" value="http://www.10000xc.com/index.aspx" οnmοusemοve=alert(42873) wb="" />
漏洞地址:
点击360 检测出来的结果列表中的 漏洞页面链接 进去 之后可以看到以上提示,然后再点击最底下的漏洞演示按钮
从上面的提示可知 是漏洞地址:login.aspx 这个页面出现了问题 再根据漏洞证据可知是这个页面 有个隐藏域 id="fromurl" 它的值会根据网页传入的URL参数直接显示出来
解决方法
原来以为 跨站 是说跨到其它域名的网站就叫跨站,一直想是不是引入了微博QQ登录引起的问题 其实不是
只要找到login.aspx 把值 UrlEncode 一下就可以了
改前代码
<input type="hidden" id="fromurl" value="<%=fromurl %>" />
改后代码
<input type="hidden" id="fromurl" value="<%=HttpContext.Current.Server.UrlEncode(fromurl) %>" />
如果是sql 注入问题 要把对应的页面 ValidateRequest="true"
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="login.aspx.cs" Inherits="Home.member.login" ValidateRequest="true" %>
ValidateRequest="true"
漏洞地址:
http://www.10000xc.com/member/login.aspx
点击360 检测出来的结果列表中的 漏洞页面链接 进去 之后可以看到以上提示,然后再点击最底下的漏洞演示按钮
从上面的提示可知 是漏洞地址:login.aspx 这个页面出现了问题 再根据漏洞证据可知是这个页面 有个隐藏域 id="fromurl" 它的值会根据网页传入的URL参数直接显示出来
解决方法
原来以为 跨站 是说跨到其它域名的网站就叫跨站,一直想是不是引入了微博QQ登录引起的问题 其实不是
只要找到login.aspx 把值 UrlEncode 一下就可以了
改前代码
<input type="hidden" id="fromurl" value="<%=fromurl %>" />
改后代码
<input type="hidden" id="fromurl" value="<%=HttpContext.Current.Server.UrlEncode(fromurl) %>" />
如果是sql 注入问题 要把对应的页面 ValidateRequest="true"
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="login.aspx.cs" Inherits="Home.member.login" ValidateRequest="true" %>
ValidateRequest="true"