在之前,大家对数据库的下载方法进行了一些探讨与研究,我先来大概的叙述一下他们的思路,通过自己的合理推理得出了一个结论:将数据库的名字前加上“#%”就可以防止被下载了。有人在充分理解IIS解析的前提下对其文章进行了更为深入的研究,反驳了其观点,应该说他们的问题集中在了“#%”后的“%”如何处理。还有人倒更为简单的利用了下载工具的辅助就解决了问题。这时候我不禁要提出一个疑问,类似这样的数据库名(##%%23#swan#$$%.mdb)
有谁知道该如何解决下载问题呢?
之所以会问这个问题,主要是因为我的淘客网程序的数据库就是这么的变态,如果按照IIS解析特性来分析,涉及到如此多的特殊符号,那就非常棘手了,到底有没有解决此类以特殊字符命名的数据库下载方法呢?
我使用小旋风服务器搭建了一个测试平台,把淘客程序的数据库随便更改为了以特殊符号命名的数据库,比如“##%%23#swan#$$%.mdb”。看到这一串字符后,首先还是回顾一下分析过程,##%%应该是改为%23%23%25%25%,那么全部的就为%23%23%25%2523%23swan%23$$%25,但在实际测试时却不行,在超级旋风中提示非法URL,我猜是$这个符号在搞鬼。
把$符号使用URL16进制加密的24%进行代替,看是否可行。再次下载,发现还是提示非法URL。其实我上面的分析是完全不合理的,在此只不过是想证明一下分析类似复杂的数据库名时真是会令人头大的,除非是像精通于IIS解析原理的人才可以做到吧,不过这也给出了几个问题与另类下载的思路。
问题就是像“##%%23”这样的数据库名应该如何去分析下载呢?而思路就是我们分析的时候是从URL编码这一出发点进行,那我们要是从URL加密的角度去思考呢?当然,刚才的示范只不过是应用编码与加密来“抛砖引玉”罢了。再次进行测试,我们把##%%23#swa#$$%.mdb这个数据库名全部加密。构建URL下载地址“127.O.O.1/db/%23%23%25%25%32%33%23%73%77%61%6E%23%24%24%25%2E%6D%64”,测试后发现下载成功了,这表明全部加密数据库名的方祛是完全可行的。
现在再解决“##test.mdb”或者“#%test.mdb”的问题是不是很简单了呢?甚至于我想连“#%#%%%23.mdb”都易如反掌了吧,怀疑之前的是巧合吗?我们再来示范一下,先加密得到密文“%23%25%23%25%25%25%32%33%2E%6D%64%62”,接着测试下载情况,也是完全可以的,最后我们再来试一下“.mdb”这样的形式看能否被下载,但测试的结果证明是不可行的。
本次演示揭露了一个以特殊符号命名的数据库的通用下载方法,不过对于夹杂了空格符号的名字还是无法下载,接下来的任务就请有志之士来解决这个高深的难题吧!
本文为网络安全技术研究记录,文中技术研究环境为本地搭建或经过目标主体授权测试研究,内容已去除关键敏感信息和代码,以防止被恶意利用。文章内提及的漏洞均已修复,在挖掘、提交相关漏洞的过程中,应严格遵守相关法律法规。