提问人:omerix 提问时间:7/6/2021 最后编辑:Zoe is on strikeomerix 更新时间:7/25/2021 访问量:157
是否可以注入 Cookie、表单、会话数据?
Is it possible to inject with Cookie, Form, Session data?
问:
我有一个屏幕,我将所有变量打印到屏幕上,并使用经典 asp 将它们显示给用户。
在此屏幕上,我向用户显示“Session”、“Querystring”、“Form”、“Cookie”、“Server.Variables”的值。
我正在做替换,以便一些数据是可以理解的。除此之外,我什么都不做。
显示的值中没有任何内容可以打扰我。
但是,用户可以通过篡改 Cookie 或使用请求表单提交恶意代码来做任何有害的事情吗?
在向用户显示值之前的正则表达式等。我需要申请什么吗?
在同一页面上显示这些值之前,我根据从 SQL Server 分配给 Session 的值检查用户名和密码,并向用户显示以下所有数据。
你可以把它看作是一种phpinfo。
我的经典 asp 代码
<%
variables=variables & "<style>h3 {margin:3px;text-decoration: underline;}</style>"
variables=variables & "<h3>Session</h3>"
ix=0
For Each ix in Session.Contents
variables=variables &"<span style='color:red;font-weight:bold;'>"&ix&"</span>="
variables=variables & Session.Contents(ix)
variables=variables & "<br>"
Next
variables=variables & "<h3>Querystring</h3>"
for each variable_name in request.QueryString
variable_value=request.QueryString(variable_name)
variables=variables &"<span style='color:red;font-weight:bold;'>"&variable_name&"</span>="
variables=variables & variable_value
variables=variables & "<br>"
next
variables=variables & "<h3>Form</h3>"
for each variable_name in request.Form
variable_value=request.Form(variable_name)
variables=variables &"<span style='color:red;font-weight:bold;'>"&variable_name&"</span>="
variables=variables & variable_value
variables=variables & "<br>"
next
variables=variables & "<h3>Cookie</h3>"
for each x in Request.Cookies
if Request.Cookies(x).HasKeys then
for each y in Request.Cookies(x)
variables=variables&("<span style='color:red;font-weight:bold;'>"&x&"</span>"&"<span style='color:blue;font-weight:bold;'>('"&y&"')</span>=" & Request.Cookies(x)(y))
variables=variables&("<br>")
next
else
variables=variables&("<span style='color:red;font-weight:bold;'>"&x & "</span>=" & Request.Cookies(x) & "<br>")
end if
next
variables=variables & "<h3>Server.Variables</h3>"
for each x in Request.ServerVariables
variables=variables&("<span style='color:red;font-weight:bold;'>"&x&"</span>="&Request.ServerVariables(""&x&"")&"<br>")
next
Response.Write variables
%>
答:
0赞
Simon Sawyer
7/14/2021
#1
是 - 在将值输出到页面之前,您没有对值进行编码。至少在值周围使用 Server.HTMLEncode。
评论
Server.HTMLEncode