N 谈 %5C 暴库
关于%5c的暴库利用想已经不是什么新技术了,原因我只找到含糊的说法:的UNICODE是%5c当提交时,IIS无法正常解析,导致暴库。但我对 http://www.hoky.org 测试成功后(现在已经补上)问过hoky.pro,得知%5c与IIS的设置是有关系的。而在默认设置下是可以暴库的。还有很多人说不成功,我要说的三点:
- 一般的错误返回页面是本地IE提供的,所以我们先得关了本地的错误页面,具体在菜单项的‘工具->internet选项->高级->显示友好信息’。
- 对方数据库要是Access型。
- %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里 加入数据库文件的位置后面加上这句:
1 |
|
就可以了。
今天在黑基又看到了关于%5c暴库的文章,这招真的很管用,大概10个网站里会有一个会暴库吧。
关于这个漏洞。绿盟有相关的资料:
http://www.nsfocus.net/index.php?act=magazine&do=view&mid=952
呵呵。虽然这个我们这个漏洞呵暴库关系不是很大, 但是明眼人还是看的出相关的地方,IIS 二次解码。大家知道在 url中 \
和 /
是一样的,也就是说 http://www.example.com/abc/123.asp?id=5 和 http://www.example.com/abc\123.asp?id=5 是一样的。
而 http://www.example.com/abc%5c123.asp?id=5 经过一次解码后变成 http://www.example.com/abc\123.asp?id=5 这里是不会出错的。
而经过 IIS 二次解码后就变成 http://www.example.com/abc%5c123.asp?id=5, 如果数据库连接文件用的相对路径的话。HOO, 找不到数据库文件,当然就出错了。还很老实呢,连物理路径都出来了。大家看。
1 |
|
这个是我暴 Oblog 暴出来的,这个月的黑防大家都有看吧。(早知道我也去投稿了,我发现的比他早多了,郁闷)
很多人都在分析成功的条件,就象itbbs里的人讨论的一样。(itbbs最近我怎么上不去啊,知道告诉我)
sykkk 认为:
- 是数据库连接中没有加入容错代码 所以导致错误不能跳过而活生生的把数据文件连接暴出来
- 对方的IIS没有关闭错误提示 只要关了错误提示就算你怎么暴也没有用
- 不一定要2级目录 可以自己够造个noexists/..%5C的2级目录
- 还有就是 要成功一定要调用到数据库 不一定是5c1.asp?id=1 这种类别的
其实还有一个必要条件他忘了,数据库要相对路径,绝对路径是暴不出来的。还有我补充一点应该是 IIS 4.0 或者 IIS 5.0 ,IIS 6 应该是不行了。
关于二级目录,我同意sykkk的看法,有的人说一定是二级目录,呵呵,我可以告诉大家那是错误的。应该是最靠近的asp文件的那个 “/“ 改成 “%5c”, 只有有调用数据库都有可能暴库。哈哈,还有当然对方要没有屏蔽错误信息,要不然你是肯定看不到的。
总结:%5c暴库成功条件
- 对方服务器用的是 IIS 4.0 或 IIS 5.0, 并且没有屏蔽错误信息。
- 是数据库连接中没有加入容错代码 所以导致错误不能跳过而活生生的把数据文件连接暴出来 (On Error Resume Next)
- 应该是Microsoft JET Database Engine 方式
- 数据库文件调用用的是相对路径!!
不一定要求是二级目录。三级也是可以的(我有成功过), 二级目录有时候反倒没成功。至于还有构造二级目录,我是没成功过,嘿嘿,应该是错误的。:)
随便也告诉大家,aspx %5c 也有文章的,运用也很巧妙,想知道就 google吧。^_^