文章 | 入侵攻击 | 安全防御 | 操作系统 | 网站建设 | 网络编程 | 路由交换 | 灾难恢复 | 新闻资讯 | 安全公告
下载 | 漏洞扫描 | 加密破解 | 入侵攻击 | 后门木马 | 溢出程序 | 综合工具 | 安全防护 | 原创发布 | 动画教程
论坛 | 黑客军火 | 配服务器 | 黑客情感 | 免费资源 | 美女贴图 | 灌水无罪 | 在线服务 | 会员照片 | 网站首页
 当前位置:主页 >> 技术文摘 >> 入侵攻击 >> 文章内容  
 

 
最新版讯时新闻发布系统惊爆cookie漏洞

www.hx99.org 阅读: 时间:2007-07-09 整理:华西黑盟
------------------------------------------------------------------
 来源:曾经感动'sBlog

一.接触起因

这几天事情较多,一直都没去老大的论坛转!今天好友joli突然Q我说论坛上有人发了个脚本的问题,叫我也一起看一下,于是我就跑过去看了下(你家离论坛很近?竟然可以跑着过去!),也就有了下面这篇文章(测试版本为讯时新闻发布系统v2.70版)。

二.漏洞初探

打算先看有没有经典的OR漏洞,虽然已经出来很久的漏洞了,但是很多程序仍然会存在这样的漏洞,admin_login.asp存在如下代码:
ifrequest("user")=""orrequest("pass")=""then
conn.close
setconn=nothing
Response.Redirect"login.asp?id=0"
’如果user或者pass等于空就掉转到login.asp?id=0这个页面上
else'注释下如果上面条件不成立就执行下面语句

user=LCase(chkhtm(request("user")))'注释下这里先用chkhtm函数过滤然后用lcase在过滤
pass=md5(chkhtm(trim(request("pass"))))
’然后带入sql语句查询
sql="select*fromadminwhere[user]='"&user&"'and[pass]='"&pass&"'"
Setrs=Server.CreateObject("ADODB.RecordSet")
rs.Opensql,conn,1,1

好!上面关键的地方我都进行了一下注释,最关键的地方就是chkhtm函数,他是做什么的?我在titleb.asp中找到了他的定义!
functionchkhtm(stra)
stra=replace(stra,"<","<")
stra=replace(stra,">",">")
stra=replace(stra,"'","")
stra=replace(stra,"(","(")
stra=replace(stra,")",")")
stra=replace(stra,";",";")
stra=replace(stra,",",",")
stra=replace(stra,"%","%")
stra=replace(stra,"+","+")
chkhtm=stra
endfunction

很明显的一个过滤函数,在函数的第四行,已经过滤掉了“'”号了,所以OR漏洞是没戏了,思路到这里就断了。

三.再探漏洞

在查看代码的时候曾经被某人误导,一直抓不到点子上去了,这时候花非花刚好来上网,我把程序传给他,他把思路告诉我,然后他让我看了admin_chk.asp文件,大概代码如下:

<%

1.session("admin__user")=Request.Cookies("adminuser")
2.session("admin__pass")=Request.Cookies("adminpass")
3.session("dJ")=Request.Cookies("admindj")

4.adminuser=Request.Cookies("adminuser")
5.adminpass=Request.Cookies("adminpass")
6.admindj=Request.Cookies("admindj")

7.ifadminuser=""oradminpass=""then
8.Response.Redirect"login.asp?id=8"
9.endif

...省略部分代码...

10.user=trim(session("admin__user"))
11.pass=session("admin__pass")

12.sql="select*fromadminwhere[user]='"&adminuser&"'and[pass]='"&adminpass&"'"
13.Setrs=Server.CreateObject("ADODB.RecordSet")
14.rs.Opensql,conn,1,1
15.ifrs.recordcount=0then
16.Response.Redirect"login.asp?id=8"
17.endif
...再省略...
%>

1,2,3是通过request.cookies方法从客户端获取cookie信息(KEY分别是adminuser,adminpass,admindj),并存入session中,分别对应:session("admin__user")、session("admin__pass")、session("dj")。然后在4,5,6分别把Request.Cookies("adminuser"),Request.Cookies("adminpass"),Request.Cookies("admindj")的值存入变量adminuser,adminpass,admindj中,如果变量adminuser,adminpass的值为空,就转到login.asp?id=8页面,10,11是将session("admin__user")和session("admin__pass"),存入变量user和pass中。12,13,14将变量adminuser和adminpass的值参与sql查询。将拿客户端的cookie信息进行sql查询,这样做的结果是造成欺骗漏洞,但是由于参与查询的cookie还包括密码,所以这种利用条件比较困难,必须在得到用户的密码(估计有人要骂我了,呵呵,能得到密码还COOKIE欺骗干嘛,不过这个密码是MD加密的,也就是可以省去破解这一步了(另外一个就是cookie注入了,貌似可以,但是我们进行测试之后都构造不出可行的攻击语句,有高手能搞定的话,请告知一下,先谢过了!)。思路再一次中断...

四.三顾讯时


正在一筹莫展的石斛,花花说找到了另外一个漏洞,漏洞文件在admin_news_view.asp,漏洞代码如下:

newsid=trim(request("newsid"))
sql="select*fromnewswhereid="&newsid
Setrs=Server.CreateObject("ADODB.RecordSet")
rs.Opensql,conn,1,1

这个文件以admin开头,但是没有进行权限的判断等,用户可直接查看,而这里通过request获取从客户端传来的数据newsid的值,并用trim函数过滤之后存入变量newsid中。然后将此变量参与SQL查询。此过程,只用trim函数过滤了空格并没有做其他的限制,所以从这里可以看出来一个注入漏洞就产生了。
   -------------------------------------------------------------------------------------------
  上一篇:XML木马研究
  下一篇:PHP后门隐藏技术再探--太强了
   -------------------------------------------------------------------------------------------
用户名:
Email:
评论内容:
 
  精品推荐
最新网吧免费上网方法
五招查出想要知道的IP地址
让星空极速彻底下岗,破解
QQ技术攻略-原来隐藏着这
网吧漏洞-自己加会员卡,丰
简单网站入侵(适合菜鸟)
恶搞!如何将你的QQ性别改
黑客最起码要懂的16个问题
如何利用QQ邮件发木马
我的黑客技术学习方法,仅
你会用Google?估计你会用
10秒钟让你和任意QQ号聊天
简单进网站后台(适合菜鸟)
只需一行代码就能让IE 6崩
菜鸟入门的八种安全工具
网上电影随意看 破解在线
推荐:挖掘鸡使用教程
Radmin密码破解新招
QQ聊天记录文件解密方式
一招就能搜尽所有QQ隐身好
菜鸟挖漏洞,黑站就是这么
电脑菜鸟必懂 常见木马连
找到肉鸡后如何做个好后门
推荐:3389的密码嗅探
2007.12 免费QQ秀
关于我们 | 发展历程 | 在线投稿 | 核心监督 | 友情链接 | 网站地图 | 网站留言 | 联系我们
Copyright © 2004-2007 Www.Hx99.Net
版本:华西黑盟网站系统V5.0 Email:root#hx99.org
中国·西安·宝鸡 请使用IE6.0版本, 分辩率1024×768进行浏览
版权所有 任意抄袭 注意完整
陕ICP备06000444号