|
发表于 2009-4-24 15:50:05
|
显示全部楼层
|阅读模式
来自 内蒙古兴安盟乌兰浩特市
by:poruin
上一篇文章《我发现的最短后台万能登陆密码。》中提及到利用'xor来绕过登陆是没有过滤数据的系统(要绕过不但是需要没过滤数据,还需要验证的SQL语句不能分开检查),而在后台页面中都会采用身份验证文件来检查用户是否已经登陆,并在cookie中留下相应的验证数据,如果不符合的就会返回登陆页面,避免恶意用户未登陆就访问后台页面,但是如果该文件对接受的变量没有过滤,那仍然有可能会被绕过。
这里给出一段网上常见的身份验证文件的核心代码:
<!--#include file=conn.asp-->
<%
dim name,pass
name=Request.cookies("user")
pass=Request.cookies("pass")
sql="select * from admin where adminpass='"&Pass&"' and adminUser='"&name&"'"
rs.open sql,conn,1,1
if rs.bof and rs.eof then
Response.Redirect("index.asp")
end if
%>
该系统在登陆后会在用户的cookie中留下加密过的用户名和密码,然后每次访问都会用该文件确认一次,大家可以看到user接受后到SQL查询都没过滤,那绕过的方法很是简单
见下图:
这种漏洞很久就已经出现,但是有漏洞的系统目前还有不少,不缺乏一些著名的整站系统,修补的方法最好就是采用session验证
摘自红色黑客联盟(www.7747.net) 原文:http://www.7747.net/Article/200904/37541.html |
|