Asp.net环境中的跨站脚本攻击环境搭建与试验

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Asp.net环境中的跨站脚本攻击环境搭建与试验相关的知识,希望对你有一定的参考价值。

省略一万字的XSS介绍.....................

 

存储型XSS

第一种,通过参数传递的攻击:

假如把一个页面把参数直接输出到div里,代码如下

 

protected void Page_Load(object sender, EventArgs e)
{
   string paramStr = Request.QueryString["p"]!=null ?                         Request.QueryString["p"].ToString() : "";
            div1.Innerhtml = paramStr;
}

 

前台代码如下:

<div runat="server" id="div1"></div>

如果用户在正常情况下输入

http://localhost:20885/WebForm1.aspx?p=银河最帅

会得到下面的结果

 技术分享

此时页面源代码为:

 技术分享

 如果提交一段HTML代码

http://localhost:20885/WebForm1.aspx?p=</div><script>alert(‘xss‘)</script><div>

会发现alert(xss)被执行

技术分享

再看源代码:

技术分享

 

第二种,通过用户输入框的攻击:

前台代码如下:

<div id="div3"></div>
    <input id="txt2" type="text" />
    <input id="btn2" type="button" onclick="setXSS()" />

        <script type="text/javascript">
         //使用id的方式获取
         $(document).ready(function(){
             
             $("#btn2").click(function(){
                 var result1 = $("#txt2").val();
                 $("#div3").html(result1);
             });
            
         });
        </script>

在输入框输入:</div><script>alert(/xss/)</script><div>

点击按钮后会出现

技术分享

 

以上是关于Asp.net环境中的跨站脚本攻击环境搭建与试验的主要内容,如果未能解决你的问题,请参考以下文章

保护ASP.NET 应用免受 CSRF 攻击

XSS跨站脚本攻击

防止 asp.net Web 表单中的跨站点请求伪造 (csrf) 攻击

XSS(跨站脚本攻击)原理详解(内含攻击实例)

WEB安全测试之XSS攻击

xss (Cross Site Scripting)跨站脚本攻击