乙個PHP Mysql手工注入例子

2021-08-28 11:27:54 字數 2555 閱讀 8191

說下我的基本思路:

1、目標站點環境為:windows+apache+mysql+php

2、存在sql注入,能否直接寫一句話木馬

3、存在sql注入,獲取資料庫中使用者口令,登入應用系統後上傳webshell

4、獲取資料庫口令登入phpmyadimin,用phpmyadmin寫入一句話木馬

不想因為使用掃瞄工具的緣故,導致伺服器出現不穩定的現象,所以就純手工咯。

下面具體來說明下:

1、嘗試1=1的情況,正確

複製**

2、嘗試1=2的情況,錯誤,說明這是個整型的注入點

複製**

3、嘗試'1'='1'的情況,錯誤,說明php開啟了magic_quotes_gpc=on,不能直接利用注入語句寫webshell了。還好這裡是整型的注入點,如果是字元型的注入點那就沒辦法了。

複製**

4、order by 15,嘗試當前注入語句的表中字段個數為15,錯誤,說明字段數小於15

複製**

5、order by 14,嘗試當前注入語句的表中字段個數為14,正確,說明字段數等於14

複製**

6、聯合查詢語句,暴出可顯示字段

複製**

7、暴出資料庫使用者、版本、庫名和路徑資訊,運氣不錯,是root許可權。

複製**

8、讀取windows系統檔案boot.ini

複製**

9、暴出當前庫中的所有表名,查了下只有乙個account表還比較像存放使用者名稱和口令資訊的表

複製**

10、暴出account表中的所有欄位名,看到了username和password,很高興。

複製**

11、暴出username和password欄位裡的內容,都是明文。

複製**

12、使用得到的使用者名稱口令嘗試登入使用者頁面和後台頁面,均失敗。

13、發現該**有phpmyadmin,phpmyadmin是個好東西,可以在magic_quotes_gpc=on的情況下寫入一句話。不過得先知道mysql資料庫連線口令。用穿山甲跑了下注入點,可以讀取出mysql的root和其他賬號口令,但都是收費的hash。。想想即使拿到口令,沒web目錄的絕對路徑也不能寫一句話啊。

14、搜尋了一些phpmyadmin的暴路徑的鏈結,均失敗。

/phpmyadmin/libraries/lect_lang.lib.php

/phpmyadmin/themes/darkblue_orange/layout.inc.php

複製**

15、忽然,rp爆發了一下下,在根目錄下隨手嘗試了個phpinfo,這不絕對路徑就出來了d:/wwwroot。

16、讀取配置檔案d:/wwwroot/sql2004.php

17、登入phpmyadmin,寫入一句話d:/wwwroot/1.php

select '<?eval($_post[cmd]);?>' into outfile 'd:/wwwroot/1.php';

複製**

php mysql手工注入教程

注入點 x and1 1 返回正確 and1 2返回錯誤 說明存在注入點 order by 11 反悔正確 order by 12 返回錯誤 說明存在11個字段 union select 1,2,3,4,5,6,7,8,9,10,11 看清楚那裡是 13 是讓他報錯用的 也可以用and 1 2 報錯...

手工實現乙個Arraylist類

public class xjharraylist public xjharraylist int capacity else public void add e e elementdata size e size從0開始自加 先賦值否則應該是 size override public string...

PHP MYSQL注入需要預防7個要點

1 數字型引數使用類似intval,floatval這樣的方法強制過濾。2 字串型引數使用類似mysql real escape string這樣的方法強制過濾,而不是簡單的addslashes。3 最好拋棄mysql query這樣的拼接sql查詢方式,盡可能使用pdo的prepare繫結方式。4...