<menu id="guoca"></menu>
<nav id="guoca"></nav><xmp id="guoca">
  • <xmp id="guoca">
  • <nav id="guoca"><code id="guoca"></code></nav>
  • <nav id="guoca"><code id="guoca"></code></nav>

    1.3 SqlMap功能

    sqlmap中實現的功能包括:

    1. 通用功能

    • 全面支持MySQLOraclePostgreSQLMicrosoft SQL ServerMicrosoft AccessIBM DB2SQLiteFirebirdSybaseSAP MaxDBInformixMariaDBPerconaMemSQLTiDBCockroachDBHSQLDBH2MonetDBApache DerbyAmazon RedshiftVertica麥科伊PrestoAltibaseMimerSQLCrateDBGreenplumDrizzleApache IgniteCubridInterSystems CacheIRISeXtremeDBFrontBase數據庫管理系統。
    • 完全支持五種SQL注入技術:Boolean-based blind,Time-based blind,Error-based,UNION query-based,Stacked queries。
    • 通過提供DBMS憑據,IP地址,端口和數據庫名稱,支持直接連接到數據庫而無需通過SQL注入。
    • 可以提供一個目標URL,從Burp代理或WebScarab代理請求日志文件中獲取目標列表,從文本文件中獲取整個HTTP請求,或者通過為sqlmap提供一個查詢Google的Google dork來獲取目標列表搜索引擎并解析其結果頁面。您還可以定義基于正則表達式的范圍,該范圍用于標識要測試的解析地址。
    • 測試提供的GET參數,POST參數,HTTP Cookie頭值,HTTP User-Agent頭值和HTTP Referer頭值,以識別和利用SQL注入漏洞。還可以指定一個逗號分隔的特定參數列表進行測試。
    • 用于指定并發HTTP(S)請求(多線程)的最大數量的選項,以加快盲目SQL注入技術的速度。反之亦然,也可以指定每個HTTP(S)請求之間保持的秒數。還實施了其他優化開關以加快開發速度。
    • HTTP Cookie標頭字符串支持,當Web應用程序需要基于cookie進行身份驗證并且您擁有此類數據時,或者在您僅想測試并利用此類標頭值進行SQL注入時,此功能非常有用。您還可以指定始終對Cookie進行URL編碼。
    • 自動處理來自應用程序的HTTP Set-Cookie標頭,如果會話過期則重新建立會話。也支持對這些值進行測試和利用。反之亦然,您也可以強制忽略任何Set-Cookie標題。
    • HTTP協議支持基本,摘要,NTLM和證書身份驗證。
    • HTTP(S)代理支持將請求傳遞到目標應用程序,該目標應用程序也可與HTTPS請求和經過身份驗證的代理服務器一起使用。
    • 偽造HTTP Referer標頭值和用戶指定或從文本文件中隨機選擇的HTTP User-Agent標頭值的選項。
    • 支持提高輸出消息的詳細級別:存在七個詳細級別。
    • 支持從目標URL 解析HTML表單,并針對這些頁面偽造HTTP(S)請求,以針對漏洞測試表單參數。
    • 在用戶的開關和功能方面都具有粒度和靈活性
    • 實時更新每個查詢的估計到達時間支持,以向用戶提供檢索查詢輸出將花費多長時間的概覽。
    • 在獲取數據的同時,自動自動將會話(查詢和它們的輸出,即使部分被檢索到)實時保存在文本文件中,并通過解析會話文件恢復注入
    • 支持從配置INI文件中讀取選項,而不是每次在命令行上指定所有開關時都支持。還支持根據提供的命令行開關生成配置文件。
    • 支持在本地SQLite 3數據庫上復制后端數據庫表結構和條目。
    • 從Subversion存儲庫中將sqlmap更新到最新開發版本的選項。
    • 支持解析HTTP(S)響應并向用戶顯示任何DBMS錯誤消息。
    • 與其他IT安全開源項目Metasploit和w3af集成。

    2. 指紋和枚舉功能

    • 廣泛的后端數據庫軟件版本和基于錯誤消息, 標語解析, 功能輸出比較以及MySQL注釋注入等特定功能的底層操作系統指紋。如果您已經知道后端數據庫管理系統名稱,也可以強制使用它。
    • 基本的Web服務器軟件和Web應用程序技術指紋。
    • 支持檢索DBMS 標語,會話用戶和當前數據庫信息。該工具還可以檢查會話用戶是否是數據庫管理員(DBA)。
    • 支持枚舉用戶,密碼哈希,特權,角色,數據庫,表和列。
    • 自動識別密碼哈希格式,并支持通過基于字典的攻擊將其破解。
    • 支持暴力破解表和列name。當會話用戶沒有對包含模式信息的系統表的讀取訪問權時,或者當數據庫管理系統不在任何地方存儲此信息(例如MySQL < 5.0)時,此功能將非常有用。
    • 支持完全轉儲數據庫表,根據用戶的選擇轉儲一系列條目或特定列。用戶還可以選擇僅轉儲每列條目中的一部分字符。
    • 支持自動轉儲所有數據庫的模式和條目。可能要從轉儲中排除系統數據庫。
    • 支持搜索特定數據庫名稱,所有數據庫中的特定表或所有數據庫表中的特定列。例如,這對于識別包含自定義應用程序憑據的表很有用,其中相關列的名稱包含諸如name和pass之類的字符串。
    • 支持在連接到后端數據庫的交互式SQL客戶端中運行自定義SQL語句。sqlmap自動剖析所提供的語句,確定哪種技術最適合注入該語句以及如何相應地打包SQL有效負載。

    3.接管功能

    其中的一些技術在白皮書“ 高級SQL注入到操作系統的完全控制”-system-full-和幻燈片中進行了詳細介紹, 并[從數據庫擴展了對操作系統的控制。

    • 支持注入自定義用戶定義函數:用戶可以編譯共享庫,然后使用sqlmap在后端DBMS用戶定義函數中從已編譯的共享庫文件中創建。然后可以通過sqlmap執行這些UDF,并可以選擇將其刪除。當數據庫軟件是MySQL或PostgreSQL時,將支持此功能。
    • 當數據庫軟件是MySQL,PostgreSQL或Microsoft SQL Server時,支持從數據庫服務器基礎文件系統下載和上傳任何文件**。
    • 支持以執行任意指令和檢索他們的標準輸出底層當數據庫軟件MySQL和PostgreSQL或Microsoft SQL Server操作系統的數據庫服務器上。
    • 在MySQL和PostgreSQL上,通過用戶定義的函數注入和執行。
    • 在Microsoft SQL Server上通過xp_cmdshell()存儲過程。同樣,如果禁用了存儲過程,則重新啟用該存儲過程;如果被DBA刪除,則從頭開始創建該存儲過程。
    • 支持在攻擊者機器與底層操作系統的數據庫服務器之間建立帶外狀態TCP連接。根據用戶的選擇,此通道可以是交互式命令提示符,Meterpreter會話或圖形用戶界面(VNC)會話。sqlmap依靠Metasploit創建shellcode,并實現四種不同的技術在數據庫服務器上執行它。這些技術是:
    • 通過sqlmap自己的用戶定義函數**在Metasploit的shellcode的數據庫內存中執行sys_bineval()。在MySQL和PostgreSQL上受支持。
    • 通過MySQL和PostgreSQL上的sqlmap自己的用戶定義函數或通過Microsoft SQL Server上載和執行Metasploit的獨立有效負載**暫存器。sys_exec()``xp_cmdshell()
    • 通過執行SMB反射攻擊(MS08-068,從數據庫服務器到Metasploit smb_relay服務器利用其偵聽的攻擊者的計算機的UNC路徑請求)執行Metasploit的shellcode 。uid=0在Linux / Unix和目標上以高特權()運行sqlmap時受支持DBMS在Windows上以管理員身份運行。
    • 通過利用Microsoft SQL Server 2000和2005 sp_replwritetovarbin存儲過程基于堆的緩沖區溢出(MS09-004),對Metasploit的shellcode進行數據庫內存執行。sqlmap有自己的利用漏洞,可以通過自動DEP內存保護繞過來觸發該漏洞,但是它依靠Metasploit生成shell代碼,以在成功利用漏洞后執行。
    • 通過Metasploit的命令支持數據庫進程的用戶特權升級,getsystem其中包括 kitrap0d技術(MS10-015)。
    • 支持訪問(讀取/添加/刪除)Windows注冊表配置單元。

    本文章首發在 網安wangan.com 網站上。

    上一篇 下一篇
    討論數量: 0
    只看當前版本


    暫無話題~
    亚洲 欧美 自拍 唯美 另类