level 6
关于%5c的暴库利用想已经不是什么新技术了,原因我只找到含糊的说法:的ICODE是% 5c当提交时,IIS无法正常解析,导致暴库。但我对http://www.hoky.org测试成功后(现在已经补上)问过hoky.pro,得知% 5c与IIS的设置是有关系的。而在默认设置下是可以暴库的。还有很多人说不成功,我要说的三点:1。一般的错误返回页面是本地IE提供的,所以我们先得关了本地的错误页面,具体在菜单项的‘工具->internet选项->高级->显示友好信息’。2。对方数据库要是Access型。3。%5c的暴库需要的是二级目录,一级目录无法成功。如:http://www.sometips.com%5c1.asp?id=1 不成功http://www.sometips.com/other%5c1.asp?id=1 成功好了,上面说的大家都知道,当是废话。在暴库这么好用的东西下,如果一个网站只有一级目录的话,难道就没有办法了吗?说到重点:其实一级目录我们也同样可以成功的,我们可以通过构造一个多级目录来达到暴库的目的。如下:http://www.target.com/noexists/..%5clist.asp?id=1这样大家就会有新的惊喜了,呵呵。补救方法也很简单:在conn.asp里 加入数据库文件的位置后面加上这句:On Error Resume Next
2008年01月03日 11点01分
1
level 6
二,conn.asp暴库****这里,conn.asp只是表示数据库调用文件,因为多数都是这个名字(有些网站改名,我们也视同conn.asp)。其实,这种暴库法是最先出现的,以前很多牛人都对此进行过探讨。只是在"%5c"暴库****出现后,倒较少有人提及。其实个人认为,"%5c"暴****随着服务器设置安全性的加强,用武之地会越来越少。而conn.asp暴库****发挥的余地更大,可以人为构造,臭要饭的当年著名的动网大挪移实现暴库,其实也属于此类。上面_blank>http://www.om88.com/一例中,用"%5c"暴不出数据库路径,因为没有二级目录,但用第二种却可以暴出。它是动力系统的。我们再来看另外一个ASP系统一个盗帅的例子:_blank>http://www.51see.org/提交_blank>http://www.51see.org/db/user.asp得到如下结果:"Microsoft JET Database Engine 错误 '80004005''d:\Hosting\wwwroot\uilady_com\htdocs\db\db\downloadwoaini12345.asp'不是一个有效的路径。 确定路径名称拼写是否正确,以及是否连接到文件存放的服务器。 [!--empirenews.page--]/db/user.asp,行6 "有人可能会说,这么简单就暴库,好爽!是不是所有网站都可以这样啊?当然不是,已作了防护的肯定不行,没作防护的,要暴库也是有条件的。如果说第一种暴库法是利用了绝对路径出错,那么,这种暴库法就是利用了相对路径出错。一般来说,只要conn.asp不在根目录的系统,而调用文件在根目录,就会出现这种问题。当然这种说法也是经验性的,准确的说就是,conn.asp与调用它的文件,如果相对位置改变了,就会报错,暴出数据库路径。这样说可能有人不明白,不要紧,接着看你就会明白的。我们从动力文章系统说起:动力文章系统的conn.asp位于系统的inc目录下,而很多调用它的文件在系统根目录下,比如User_ChkLogin.asp等,这样当 conn.asp执行时,它是在系统根目录D:\wwwroot\zyx688\wwwroot\下执行的,因此,conn.asp文件中,调用数据库时,它考虑到执行时的目录路径,因而数据库的相对地址写成如下:dim dbdb="database/fp360609.asp"这样,当它在系统根目录下执行时,数据库的相对路径为根目录下的"database"目录内。但当我们直接请求它时,它工作的当前目录是在根目录下的INC目录内,这时,数据库的相对路径就变成了"inc/database/fp360609.asp",这样它当然出错。得到的绝对路径中多出了 "inc。为了让大家看得更清楚,我们举一个可以用两种方法暴库的网站,比较一下看有何不同:提交:_blank>http://www.pofen.com/sc/down%5cshow.asp?id=437得到:"Microsoft JET Database Engine 错误 '80004005''D:\Webdata\pofen.com\sc\db\download.mdb'不是一个有效的路径。 确定路径名称拼写是否正确,以及是否连接到文件存放的服务器。/sc/down/db/user.asp,行6 "再提交:_blank>http://www.pofen.com/sc/down/db/user.asp得到:"Microsoft JET Database Engine 错误 '80004005''D:\Webdata\pofen.com\sc\down\db\db\download.mdb'不是一个有效的路径。 确定路径名称拼写是否正确,以及是否连接到文件存放的服务器。/sc/down/db/user.asp,行6 "两种方法得到的绝对路径,一个比实际路径少了,一个则多了,所以路径错误而报错暴出数据库。这两个系统都是因为conn.asp不在系统根目录下,而引起的。(其实这样的系统不止两个)。那是不是conn.asp放在根目录,与调用的文件在一个目录下就无事呢?如果在一起,当然没事,但牛人自有牛法子,可以通过构造方法来造成相对路径变化,一样能达到暴库的目的。比如,动网的大挪移手法,将conn.asp移位,从而暴库。当然,实际操作中,因为conn.asp移走后,网站无法工作,所以没有成功。但这种思路还是给很多人启发。如果有一种方法可以复制而不是移动,或者说,移动的不是conn.asp,而是调用conn.asp的其它文件比如chklogin之类的,理论上就可以成功。(当然,如果服务器和网页对暴库进行了安全处理,就是另一回事)。这种方法,当也就是一些牛人把网页存到本地改路径而搞出来的。今天刚看到一个暴动易数据库的最新方法,其原理也是构造错误而达到获得真实路径的目的。三,暴库的防范说白了,暴库是因为IIS服务器会对每个执行错误给出详细说明,并停止执行,而IIS的默认设置又是将错误信息返回给用户。因此,要避免暴库,就应改变IIS的默认设置,选取错误时只给一个出错的页面,不给详细信息。如图"处理 URL 时服务器出错。请与系统管理员联系。"其实,作为网站管理者,无法对虚拟主机设置时,只能在网页中加强防范。就是在可能出错的页面加上这一句:"On Error Resume Next",特别是在conn.asp文件中要加上。它的意思是出错后,恢复执行下面的,也就是不理会出错,当然就不会给出错误信息了。动易系统3.62版的加上后,现在就暴不出路径了。而天意商务网,conn.asp也不在根目录,但因为加了这句,也暴不出数据库。
2008年01月03日 11点01分
3
level 6
==================================================================================================================三谈关于%5c暴库Microsoft IIS CGI文件名错误解码漏洞发布日期:2001-05-15CVE CAN ID:CVE-2001-0333受影响的软件及系统:====================- Microsoft IIS 4.0- Microsoft IIS 5.0未受影响的软件及系统:======================- Windows IIS 4.0 (sp6/sp6a 没有安装其他新的hotfix)综述:======NSFOCUS安全小组发现微软IIS 4.0/5.0在处理CGI程序文件名时存在一个安全漏洞,由于错误地对文件名进行了两次解码,攻击者可能利用这个漏洞执行任意系统命令。分析:======IIS在加载可执行CGI程序时,会进行两次解码。第一次解码是对CGI文件名进行http解码,然后判断此文件名是否为可执行文件,例如检查后缀名是否为".exe"或".com"等等。在文件名检查通过之后,IIS会再进行第二次解码。正常情况下,应该只对该CGI的参数进行解码,然而,IIS错误地将已经解码过的CGI文件名和CGI参数一起进行解码。这样,CGI文件名就被错误地解码了两次。通过精心构造CGI文件名,攻击者可以绕过IIS对文件名所作的安全检查,例如对"../"或"./"的检查,在某些条件下,攻击者可以执行任意系统命令。例如,对于'\'这个字符,正常编码后是%5c。这三个字符对应的编码为:'%' = %25'5' = %35'c' = %63如果要对这三个字符再做一次编码,就可以有多种形式,例如:%255c%%35c%%35%63%25%35%63...因此,"..\"就可以表示成"..%255c"或"..%%35c"等等形式。在经过第一次解码之后,变成"..%5c"。IIS会认为这是一个正常的字符串,不会违反安全规则检查。而在第二次被解码之后,就会变成"..\"。因此攻击者就可以使用"..\"来进行目录遍历,执行web目录之外的任意程序。测试方法:==========例如,如果TARGET存在一个虚拟可执行目录(scripts),并且它与windows系统在同一驱动器上。那么提交类似下列请求:http://target/scripts/..%5c..%5cwinnt/system32/cmd.exe?/c+dir+c:\就会列出C:\的根目录。当然,对于'/'或者'.'做变换同样可以达到上面的效果。例如:"..%252f", ".%252e/"...注意:攻击者只能以IUSER_machinename用户的权限执行命令。
2008年01月03日 11点01分
4