教你如何暴库(网站入侵)

整理一些暴库知识

原理:

一、方式

暴库的方式有多种多样,我知道的就有3种以上,常见的暴的方法有:%5c类暴,conn.asp暴,ddos暴等等

二、原理

"%5c"暴库法,它不是网页本身的漏洞,而是利用了IIS解码方式中的一个特性,如果IIS安全设置不周全,而网页设计者未考虑IIS错误,就会被人利用。

为何要用"%5c"?它实际上是"\"的十六进制代码,也就是"\"的另一种表示法。在电脑中,它们是一个东东。

但提交"\"和"%5c"却会产生不同的结果,在ie中,我们把下面第一个地址中的"/"换成"\"提交:

_blank> http://hxhack.com/soft\view.asp?id=58

_blank> http://hxhack.com/soft%5cview.asp?id=58

二者的访问结果是一样的。ie会自动把"\"转变成"/",从而访问到同一地址。

但是,当我们把"/"换成十六进制写法"%5c"时,ie不会对此进行转换。地址中的"%5c"被原样提交了。

当IIS收到后解析时,又会将%5c还原成"\"。这样,iis中网址的相对路径就变成/Soft/html\13/。这一点很重要。问题正是从这里开始的。

在ASP网页中,凡调用数据库时,都会用到一个连接数据库的网页conn.asp,它会创建一个数据库连接对象,定义要调用的数据库路径

一个典型的conn.asp如下:

dim conn

dim dbpath

set conn=server.createobject("adodb.connection")

DBPath = Server.MapPath("admin/hack58.mdb")

conn.Open "driver={Microsoft Access Driver (*.mdb)};dbq=" & DBPath

%>

大家注意第4句:DBPath = Server.MapPath("admin/hack58.mdb"),Server.MapPath方法的作用是将网站中的相对路径转变成物理上的绝对路径。为何要这样?因为连接数据库时,须指明它的绝对路径。

(这里可能有人不明白,什么相对路径、绝对路径?IIS为了不让访问者知道真实的实际路径,并且确保网站不因变换地址而影响使用,它采用了一种相对路径来表示目录与文件之间的关系。也就是网址目录只表示从根目录起的相对位置。)

比如:上面的网站中,网站: http://hxhack.com/的根目录为:"E:\web\",下载目录则在根目录(E:\web\)内的"soft"下,我们网站访问该站时,就是在访问E:\web\soft\目录,而 http://hxhack.com/soft/admin/,它只表明了admin与soft这个目录的相对关系,把这个网站放在D:盘,也一样不改变admin位于soft目录下的关系。

当Server.MapPath方法将相对路径转为真实路径时,它实际是三部分路径加在一起得到真实路径的:网页目前执行时所在的相对路径,也就是从网站物理根目录起的相对路径,比如上面例子中conn.asp处在从根目录起的"/soft/"下;然后调用的数据库的相对路径是admin/hack58.mdb,这样就得到从根目录起的完整相对路径:"/soft/admin/hack58.mdb"。

这些都只是相对的路径,如何变为真实路径呢?

设置过iis的人都会知道,每一个网站,都必须指定它在硬盘上的物理目录,比如上例中,网站根目录所在的物理目录为:"E:\web",Server.MapPath方法正是通过把"网站根目录的物理地址+完整的相对路径",从而得到真实的物理路径。这样,数据库在硬盘上的物理路径是:E:\web\soft\admin\hack58.mdb。

在这里,IIS以"\"表示真实路径的目录关系,而以"/"表示虚拟路径,这可能就是IE会自动把我们地址中的"\"转为"/"的原因吧。

明白这些,我们再来理解暴库就不难了,当我们提交_blank> http://hxhack.com/soft%5cview.asp?id=58时,view.asp调用conn.asp后,得到的网页相对路径是这样的:/soft\ (见上),再加上"admin/hack58.mdb",就得到"/soft\"+admin/hack58.mdb。在iis中,"/"和"\"代表着不同的意义,遇到了"\"时,认为它已到了根目录所在的物理路径,不再往上解析(为何不再往上解析?后面还会分析的),于是网站的完整相对路径变成了

:"admin/hack58.mdb",再加上根目录的物理路径,得到的真实路径变成:"e:\web\admin\hack58.mdb",而这个路径是不存在的,数据库连接当然会失败,于是IIS会报错,并给出错误原因:

Microsoft JET Database Engine 错误 '80004005'

'e:\web\admin\hack58.mdb'不是一个有效的路径。 确定路径名称拼写是否正确,以及是否连接到文件存放的服务器。

/soft/conn.asp,行12

这就是暴库语句的原因

三、条件

个人认为暴库的条件:

1、一般的错误返回页面是本地IE提供的,所以我们先得关了本地的错误页面,具体在菜单项的'工具->internet选项->高级->显示友好信息'

2、对方数据库要是Access型。

3、是数据库连接中没有加入容错代码 所以导致错误不能跳过而活生生的把数据文件连接暴出来

4、 对方的IIS没有关闭错误提示 只要关了错误提示就算你怎么暴也没有用

5、不一定要2级目录 但是肯定的是一级目录是绝对不成功的

6、要成功一定要调用到数据库 不一定是view.asp?id=58 这种类别的 只要是提交或者检测数据的基本都可以

四、注意

1、遇到到ASP或ASA等用迅雷下载后改成MDB后缀照用

2、遇到#改成23%后下载

3、遇到加密的解密后查看相关信息

4、遇到MD5密码去网站解密

5、直接浏览Conn.asp文件遇到空间时查看源文件

方法实践:

一,关于"%5c"暴库大法:

这种方法被认为是暴库绝招,很是流行了一阵(随着知道的人多了,防备也加强了,没以前那么有效了)。这种方法,简单点说就是,打开网页时,把网址址中的"/"换成"%5c",然后提交,就可以暴出数据库的路径。

实际上,并不是所有网址都有效,需要"asp?id="这样的网页地址(表示有调用数据库的行为),如果你确认这个网页有调用数据库的,后面不是这样的也可以,比如chklogin.asp等也可以。(当然,也还有其它条件,后面再谈。)

先举个例子,

http://localhost/2222/regs.asp?post=log 把第二个"/"换成"%5c"

http://localhost/2222%5cregs.asp?post=log

提交后会得到如下结果:Microsoft JET Database Engine 错误 '80004005'

'c:\inetpub\wwwroot\db\daidalos.mdb'不是一个有效的路径。 确定路径名称拼写是否正确,以及是否连接到文件存放的服务器。

/2222/db/user.asp,行 6

"%5c"暴库法,它不是网页本身的漏洞,而是利用了IIS解码方式中的一个特性,如果IIS安全设置不周全,而网页设计者未考虑IIS错误,就会被人利用。

为何要用"%5c"?它实际上是"\"的十六进制代码,也就是"\"的另一种表示法。在电脑中,它们是一个东东。

、、、\\\\\\\\\

但提交"\"和"%5c"却会产生不同的结果,在ie中,我们把下面第一个地址中的"/"换成"\"提交:

http://localhost/2222/regs.asp?post=log

http://localhost/2222\regs.asp?post=log

二者的访问结果是一样的。ie会自动把"\"转变成"/",从而访问到同一地址。

但是,当我们把"/"换成十六进制写法"%5c"时,ie不会对此进行转换。地址中的"%5c"被原样提交了

当IIS收到后解析时,又会将%5c还原成"\"。这样,iis中网址的相对路径就变成

/2222\ regs.asp。这一点很重要。问题正是从这里开始的

在ASP网页中,凡调用数据库时,都会用到一个连接数据库的网页conn.asp(程序员们都喜欢起这个名字。不过今天我们讲课用的整站系统的连接数据库文件的名字是user.asp),它会创建一个数据库连接对象,定义要调用的数据库路径

我们来看一下这个系统的数据库连接文件。User.asp(和conn.asp一个作用只不过名字不一样)的写法

dim udb

udb="db/daidalos.mdb"

Set Conn = Server.CreateObject("ADODB.Connection")

myconn="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath(""&udb&"")

Conn.Open MyConn

%>

Server.MapPath方法的作用是将网站中的相对路径转变成物理上的绝对路径。为何要这样?因为连接数据库时,须指明它的绝对路径。

(这里可能有人不明白,什么相对路径、绝对路径?IIS为了不让访问者知道真实的实际路径,并且确保网站不因变换地址而影响使用,它采用了一种相对路径来表示目录与文件之间的关系。也就是网址目录只表示从根目录起的相对位置。

Server.MapPath实际是通过 网页目前执行时所在的相对路径,比如上面例子中user.asp调用的数据库的相对路径是db/daidalos.md,这样就IIS就确定了数据库的相对路径:"/db/daidalos.mdb"。到这里。还没有出现错误。

数据库的调用需要绝对路径。。这些都只是相对的路径,如何变为真实路径呢?

Server.MapPath方法正是通过把"网站根目录的物理地址+完整的相对路径",从而得到真实的物理路径。

我们今天的跟目录地址就是。I:\盗帅下载程序 V2.0 正式版

IIS会把这两个地址相加。得到数据库地址 I:\盗帅下载程序 V2.0 正式版 +\db\daidalos.md 来正常调用。 。到这里。还是没有出错。

明白这些,我们再来理解暴库就不难了,当我们提交http:// http://localhost/2222%5cregs.asp?post=log时,regs.asp调用user.asp后,得到的网页相对路径是这样的:/db/user.asp "/db/daidalos.mdb。为数据库相对路径 在iis中,"/"和"\"代表着不同的意义,遇到了"\"时,认为它已到了根目录所在的物理路径,不考虑是否前面还有任何硬盘目录。。所以本该数据库的绝对路径是 I:\盗帅下载程序 V2.0 正式版\db\daidalos.mdb。却因为IIS在调用reg.asp 的时候。前面有个\ 于是呼。。。。。。。呼呼呼呼湖。。。就认为前面已经是跟目录的物理路径了。只需要+上目录就可以完成任务了。于是+继续向更原始的地方去找绝对路径。于是呼。找到了他的爷爷。爷爷???爷爷就是网站目录属性里对应的东西。我们看下属性。(本来是该找爸爸的)C:\Inetpub\wwwroot构成了。调用数据库的地址。就是这里了。C:\Inetpub\wwwroot\ db\daidalos.md 但是这个地址不存在啊。数据库连接当然会失败,于是IIS会报错,并给出错误原因

Microsoft JET Database Engine 错误 '80004005'

'c:\inetpub\wwwroot\db\daidalos.mdb'不是一个有效的路径。 确定路径名称拼写是否正确,以及是否连接到文件存放的服务器。

/2222/db/user.asp,行 6

这就是暴库语句的来历。

二,conn.asp暴库大法

这里,conn.asp只是表示数据库调用文件,因为多数都是这个名字(有些网站改名,我们也视同conn.asp)。其实,这种暴库法是最先出现的,以前很多牛人都对此进行过探讨。只是在"%5c"暴库大法出现后,倒较少有人提及。

我们再来ASP系统一个盗帅的例子

提交

_ http://localhost/2222/db/user.asp

得到如下结果:Microsoft JET Database Engine 错误 '80004005'

'I:\盗帅下载程序 V2.0 正式版\db\db\daidalos.mdb'不是一个有效的路径。 确定路径名称拼写是否正确,以及是否连接到文件存放的服务器。

/2222/db/user.asp,行 6

有人可能会说,这么简单就暴库,好爽!是不是所有网站都可以这样啊?当然不是,已作了防护的肯定不行,没作防护的,要暴库也是有条件的。

如果说第一种暴库法是利用了绝对路径出错,那么,这种暴库法就是利用了相对路径出错。

一般来说,只要conn.asp不在根目录的系统,而调用文件在根目录,就会出现这种问题。当然这种说法也是经验性的,准确的说就是,conn.asp与调用它的文件,如果相对位置改变了,就会报错,暴出数据库路径。这样说可能有人不明白,不要紧,接着看你就会明白的

文章系统的 user.asp位于db目录下,而很多调用它的文件在系统根目录下,比如regs.asp等,这样当conn.asp执行时,它是在系统根目录I:\盗帅下载程序 V2.0 正式版\下执行的,因此,conn.asp文件中,调用数据库时,它考虑到执行时的目录路径,因而数据库的相对地址写成如下:

dim udb

udb=" db/daidalos.mdb"

这样,当它在系统根目录下执行时,数据库的相对路径为根目录下的"db"目录内。这是很正常的情况。。但是当我们直接请求它时,它工作的当前目录是在根目录下的db目录内,这时,数据库的相对路径就变成了" db/db/daidalos.mdb ",这样它当然出错。得到的绝对路径中多出了"inc。

三,暴库的防范

说白了,暴库是因为IIS服务器会对每个执行错误给出详细说明,并停止执行,而IIS的默认设置又是将错误信息返回给用户。因此,要避免暴库,就应改变IIS的默认设置,选取错误时只给一个出错的页面,不给详细信息。如

"处理 URL 时服务器出错。请与系统管理员联系。"

其实,作为网站管理者,无法对虚拟主机设置时,只能在网页中加强防范。就是在可能出错的页面加上这一句:

"On Error Resume Next",特别是在conn.asp文件中要加上。

它的意思是出错后,恢复执行下面的,也就是不理会出错,当然就不会给出错误信息了。

入侵html数据库,教你如何暴库(网站入侵)相关推荐

  1. 安全基础知识 细说暴库的原理与方法

    SQL注入流行很久了,我们找漏洞注入目的无非是想得到数据库内的东西,比如用户名密码等.(当然mssql数据库还可以借此获得权限).如果我们不用注入就可以得到整个数据库,不是更好吗?于是暴库成了一个比注 ...

  2. 入侵介绍: 1。上传漏洞 2。暴库 3。注入 4。旁注 5。COOKIE诈骗

    入侵介绍: 1.上传漏洞 2.暴库 3.注入 4.旁注 5.COOKIE诈骗 1:上传漏洞,这个漏洞在DVBBS6.0时代被黑客们利用的最为猖獗,利用上传漏洞可以直接得到WEBSHELL,危害等级超级 ...

  3. 怎样查看目标网站mysql地址_如何简单获取目标网站的数据库(暴库教程)

    SQL注入流行很久了,我们找漏洞注入目的无非是想得到数据库内的东西,比如用户名密码等.(当然mssql数据库还可以借此获得权限).如果我们不用注入就可以得到整个数据库,不是更好吗?于是暴库成了一个比注 ...

  4. 我看暴库漏洞原理及规律

    我看暴库漏洞原理及规律 SQL注入流行很久了,我们找漏洞注入目的无非是想得到数据库内的东西,比如用户名密码等,更进一步的MSSQL数据库还可以借此获得权限.基于Access的基础来说,如果我们不用注入 ...

  5. 5c用计算机怎么打,再一次谈谈%5c暴库的利用 -电脑资料

    再一次谈谈%5c暴库的利用技术,原因我只找到含糊的说法:/的UNICODE是%5c当提交时,IIS无法正常解析,导致暴库, 还有很多人说不成功,我要说的三点: 1.一般的错误返回页面是本地IE提供的, ...

  6. 网站暴库原理与方法剖析

    一.方式 暴库的方式有多种多样,我知道的就有3种以上,常见的暴的方法有:%5c类暴,conn.asp暴,ddos暴等等 二.原理 "%5c"暴库法,它不是网页本身的漏洞,而是利用了 ...

  7. 入侵oracle数据库时常用的操作命令整理

    首 页  系统问题系  图像网站系  办公应用系  编程开发系  数字艺术系  学院图酷  [ 视频中心  看精美图片  专题集锦  学院周刊 ] 操作系统 | 工具软件 | 病毒安全 | 多媒体 | ...

  8. 【合天网安】CONN.ASP暴库漏洞实验

    0x01预备知识 1.概念: 相对路径和绝对路径 绝对路径:例如D:/test/test.mdb 相对路径:例如/test/test.mdb 2.%5C暴库 简单点说,就是在打开页面的时候把网页中的/ ...

  9. 数据库(MySQL)开发技术题库

    数据库(MySQL)开发技术题库 软件工程大二下 选择+填空+简答 选择题 1.SQL语言具有数据操作功能,SQL语言的一次查询的结果是一个___D___ A) 数据项      B) 记录      ...

  10. 数据库练习题(KDWY题库)

    数据库(MySQL)开发技术题库 选择+填空+简答 选择题 1.SQL语言具有数据操作功能,SQL语言的一次查询的结果是一个___D___ A) 数据项      B) 记录      C) 元组   ...

最新文章

  1. 网络数据采集与python爬虫_高校邦网络数据采集与Python爬虫答案
  2. centos7.3允许mysql远程连接_Centos7.3 安装Mysql和远程登录到Mysql-Go语言中文社区
  3. caffe中在某一层获得迭代次数的方法以及caffe编译时报错 error: ‘to_string‘ is not a member of ‘std‘解决方法
  4. 你大概走了假敏捷:认真说说敏捷的实现和问题(手绘版)
  5. HDU 1404 Digital Deletions(博弈 + SG函数打表)
  6. volatile深入
  7. 三人小组关系c语言编程,理性分析一下c-block三人组的实力
  8. 在线支付巨头PayPal宣布退出Libra:继续就未来合作方式进行对话
  9. 编译安装android7.0,android7.0 源码编译问题总结
  10. python安装matplotlib绘图库
  11. 创建dqn的深度神经网络_深度Q网络(DQN)-III
  12. MOSS2007匿名调查列表使用分页符导致的错误分析
  13. C#自学总结_Day2
  14. 用计算机画对称图形,CAD画对称图形快捷键
  15. SpringCloud整合LCN分布式事务模式
  16. Hive的行列转换(行转多列、多列转行、行转单列、单列转行)
  17. java打印设置_java如何设置系统默认打印机
  18. 最简单的FRP内网穿透教程
  19. bilibil网站采集 返回视频下载地址【代码】
  20. usb网卡转接口被识别为光盘

热门文章

  1. 当NBA球星遇上机器学习……
  2. 计算机课安全管理制度,微机室安全管理制度.doc
  3. 计算机 玩体感游戏,Wii模拟器Dolphin完全教学 PC上也来玩体感
  4. python大神的成长之路普通话三分钟_我的成长之路普通话考试讲话三分钟范文
  5. 6个免费、免版权视频素材网站
  6. 【竞品分析】腾讯QQ手机浏览器与UC手机浏览器产品对比
  7. RabbitMQ学习笔记:消息优先级(priority)
  8. 生理学_神经系统的功能
  9. 为你的兔小巢加上实时消息推送
  10. Ubuntu16.04添加Pycharm快捷方式在启动器并修复问号图标问题