yhy 发表于 2016-12-21 16:15:13

网站暴库原理与方法剖析

一、方式

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

来源https://my.oschina.net/gar1024/blog/808940

二、原理

“%5c”暴库法,它不是网页本身的漏洞,而是利用了IIS解码方式中的一个特性,如果IIS安全设置不周全,

而网页设计者未考虑IIS错误,就会被人利用。

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

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

_blank>http://www.exehack.net/soft\view.asp?id=58

_blank>http://www.exehack.net/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/exehack.mdb") conn.Open "driver={Microsoft Access Driver (*.mdb)};dbq=" & DBPath %>
大家注意第4句:DBPath = Server.MapPath(“admin/exehack.mdb”),Server.MapPath方法的作用是将网站中的相对路径转变成物理上的绝对路径。

为何要这样?因为连接数据库时,须指明它的绝对路径。

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



比如:上面的网站中,网站:http://www.chncto.com的根目录为:”E:\web\”,

下载目录则在根目录(E:\web\)内的”soft”下,我们网站访问该站时,就是在访问E:\web\soft\目录

而http://www.chncto.com/soft/admin/,它只表明了admin与soft这个目录的相对关系

把这个网站放在D:盘,也一样不改变admin位于soft目录下的关系。



标签:渗透

yhy 发表于 2016-12-21 16:17:07

来的朋友,还请多多回复一下

周翔宇 发表于 2016-12-21 20:24:42

既然认真看完了那就回复一下吧。

w2015 发表于 2016-12-21 23:20:23

RE: 网站暴库原理与方法剖析

虽然是老洞了,但是我还是认真看完了,但是还是不明白其中的原理(挖到这个洞的人因为什么思维而挖到这个洞的原理),
然后百度找下下相关的两篇文章看了下,发现发现好像懂了,但是认真在回顾下,好像又没懂,
不知道是不是通过访问/new %5c xxx.asp?id=1文件,包含到了类似conn.asp得文件,然后在这个文件中对数据库的绝对路径进行了放问,才导致的爆库。
但是为啥/就不能呢。
好吧,懂了,本来没懂,但是发现发以上评论的时候突然懂了,妈的!
回帖是一种美德。

页: [1]
查看完整版本: 网站暴库原理与方法剖析