怂批一个 2022-11-28 11:07 采纳率: 66.7%
浏览 43
已结题

用ASP代码实现跨站脚本攻击

急,求解答!为什么我配置了IIS,代码也和书本上一致,还是不能正确显示如书本的结果呢?

脚本代码如下:
(1)index.asp如下:

<%@Language=VBScript%>
<%If Request.Cookies("userName")<>""Then
Dim strRedirectUrl
strRedirectUrl = "page2.asp?userName="
strRedirectUrl = strRedirectUrl&Response.Cookies("userName")
Response. Redirect(strRedirectUrl)
Else %>
<HTML>
<HEAD>
<TITLE> MyNiceSite. com Home Page </TITLE>
</HEAD>
< BODY >    
< H2> MyNiceSite. com     
< FORM method= "post" action= "page2. asp">    
Enter your MyNiceSite. com username:    
< INPUT type ="text" name= "userName">    
< INPUT type= "submit" name= "submit" value =" submit' ></span>    
<span class="hljs-variable"></FORM>
</BODY >
</HTML>
<%End If%>

(2)page2.asp如下:


<%@ Language =VBScript%>
<%Dim strUserName
If Request. QueryString("userName")<> "" Then
strUserName=Request. QueryString("userName" ')
Else
Response. Cookies("userName")=Request. Form("userName")
strUserName=Request. Form( "userName" )
End If %>
< HTML>
< HEAD> </HEAD>
< BODY>
< H3 align= "center"> Hello: <%= strUserName %> 
</BODY>
</HTML>


书上内容及结果如下:

img

img

我的运行结果如下:

img

希望有心人教教我!教我做成功或者截图教我做成感谢感谢!

  • 写回答

3条回答 默认 最新

  • _东_ 2022-11-29 10:37
    关注
    获得7.50元问题酬金

    你的主要问题是把代码打对,不该空格的地方不要空格,比如 Request. QueryString("userName" ') ,这样子是没法获取到请求数据中的查询字符串的。 应该是Request.QueryString("userName"),并且在传参中,尾巴多了一个单引号...诸如此类的问题有多处。

    我把代码试了一下,主流浏览器都能正常运行。使用的Visual studio 2022,运行在IIS express上。

    index.asp :

    <%@ Language=VBScript %>
    <% If Request.Cookies("userName")<>"" Then
      Dim strRedirectUrl
      strRedirectUrl = "page2.asp?userName="
        strRedirectUrl = strRedirectUrl & Response.Cookies("userName")
      Response.Redirect(strRedirectUrl)
    Else%>
    <html>
    <head>
        <title>MyNiceSite.com Home Page </title>
    </head>
    <body>
        <h2>MyNiceSite.com </h2>
        <form method="post" action="page2.asp">
            Enter your MyNiceSite.com username:    
            <input type="text" name="userName">
            <input type="submit" name="submit" value="submit">
        </form>
    </body>
    </html>
    <% End If %>
    

    Page2.asp:

    <%@ language="VBScript" %>
    <% Dim strUserName
    If Request.QueryString("userName")<> "" Then
        strUserName = Request.QueryString("userName")
    Else
    Response.Cookies("userName") = Request.Form("userName")
    strUserName = Request.Form("userName")
    End If %>
    <html>
    <head>
        <title>Page2</title>
    </head>
    <body>
        <h3 align="center">Hello: <%= strUserName %> </h3>
    </body>
    </html>
    

    这是Chrome浏览器里的测试结果,Edge, IE什么的都可以:

    img

    部署到IIS里,结果是一样的,这是Edge的测试结果:

    img

    评论 编辑记录

报告相同问题?

问题事件

  • 系统已结题 12月6日
  • 创建了问题 11月28日

悬赏问题

  • ¥15 计组这些题应该咋做呀
  • ¥60 更换迈创SOL6M4AE卡的时候,驱动要重新装才能使用,怎么解决?
  • ¥15 让node服务器有自动加载文件的功能
  • ¥15 jmeter脚本回放有的是对的有的是错的
  • ¥15 r语言蛋白组学相关问题
  • ¥15 Python时间序列如何拟合疏系数模型
  • ¥15 求学软件的前人们指明方向🥺
  • ¥50 如何增强飞上天的树莓派的热点信号强度,以使得笔记本可以在地面实现远程桌面连接
  • ¥20 双层网络上信息-疾病传播
  • ¥50 paddlepaddle pinn