ACCESS溢位提權
最近入侵了一個ACCESS的站,把得到的一些想法記錄下來:
這個站設定很變態,什麼都沒有,連FSO都刪了,好不容易找到一個寶貴的注入,點幾經周折進了後臺,看到可以更改上傳型別,大喜,可是怎麼改也改不了,最後發現上傳型別記錄在config.asp裡,沒FSO根本改不了,Faint.....
我只能圍繞這個唯一的注入點展開思考,如果是SQL那該多好,如果是SA許可權那該多好,艾, YY是沒用的,我還是被ACCESS少得可憐的功能阻擋住了
我望著上傳型別發呆,GIF JPG RAR MDB ,Wait,看到了MDB 我突然想起來幾年前曾經流行的MDB溢位,在MDB資料庫裡面加入溢位程式碼,只要開啟資料庫就執行溢位程式碼
我可以上傳個溢位MDB,可是上傳了並沒有用,如何讓溢位程式碼真正執行呢?
看到後臺的網站絕對路徑,我立刻想到了跨庫,HaHa,只要上傳一個有問題的資料庫,然後利用跨庫查詢,溢位就實現了,這個理論上是成立的,Have a try
製作溢位MDB,指定了Callback IP和Port,上傳,
Select Count(*) from [D:\新版網站\UploadFiles\20077181931188.MDB].test
HoHo本地監聽順利出現了Shell,哈哈,溢位成功,雖然溢位的得到的 SHELL只有 GUEST許可權,不過還是很開心,可以ECHO小馬,可以用Serv-u提權,還是很不錯的
總結一下,MDB溢位+跨庫 得Shell的方法必須要有的條件:
1.要有網站絕對路徑
2,要有上傳點,隨便什麼格式都行 (後來發現即使不是MDB字尾,只要格式正確都能夠用跨庫連線)
3.當然,還要有注入點
就這些條件,比起曾經被炒得很火的out into匯出shell條件不算很苛刻吧
還有一些心得,也寫下來:
1.網上有些人說跨庫只能用Union查詢,其實不然,我用的是
city=1 and (Select Count(*) from [D:\新版網站\UploadFiles\20077181931188.MDB].test)>0
這樣也是可行的
2.當MDB溢位成功之後ACCESS就死了,主機上任何資料庫都無法連線,直接導致網頁打不開,所以一定要一次成功
3.關於跨庫的路徑問題,我曾想過如果得不到絕對路徑怎麼辦,用相對路徑,報錯磁碟格式錯誤,我覺得這個提示似乎有點曖昧,他沒有說路徑找不到,只是說磁碟格式錯誤,那是不是因為相對路徑裡面包含字元的原因呢,這個有待研究. 還有一點,我發現路徑可以用IPC$,比如輸入\\localhost\C$\boot.ini ,系統是能夠認出來的,我暫時還沒想到這個怎麼利用,至少能夠猜猜目錄吧 ^_^