指令摘要
這個爬蟲指令用於尋找 HTTP 伺服器的漏洞,包含可能受到 SQL 注入攻擊的查詢 URL,它還會提取在找到的網站中的表單,並嘗試識別容易受到攻擊的欄位。
這個爬蟲指令對 HTTP 伺服器執行爬蟲動作,尋找包含查詢的 URL,接著它將製作 SQL 命令並與容易受到攻擊的 URL 結合,以獲得錯誤訊息;然後分析這些錯誤訊息,以確定URL是否容易受到SQL注入攻擊,這種方法使用了最基本的SQL注入技巧,但對於更複雜的攻擊,可能需要使用獨立的工具。
值得注意的是,由於我們可能無法存取目標網站伺服器的真實主機名稱,這可能會阻礙對虛擬主機網站的存取。
指令參數
http-sql-injection.withinhost
僅爬取同一主機中的 URL,預設值: true。
http-sql-injection.errorstrings
要搜尋錯誤字串的檔案路徑(每行一個字串,以 # 開頭的行視為註釋),預設檔案為 nselib/data/http-sql-errors.lst,該檔案來自 fuzzdb 專案,詳情請參閱 http://code.google.com/p/fuzzdb/,如果有人發現該檔案中的某些字串導致大量誤報,請報告給 dev@nmap.org。
http-sql-injection.withindomain
僅爬取相同網域中的 URL,這擴大了爬取範圍,這不同於 withinhost,無法與之結合使用;預設值:false。
http-sql-injection.url
開始爬取的 URL,這是相對於掃描主機的 URL,例如 /default.html,預設值:/。
http-sql-injection.maxpagecount
最大存取頁數限制,負值表示無限制,預設值:20。
slaxml.debug
slaxml 函式庫時用於除錯目的,當它被啟用時,函式庫將提供更多有關 XML 資料處理的訊息,這有助於開發人員在編寫 XML 解析代碼時,進行除錯;請查看 slaxml 函式庫以獲得更多訊息。
httpspider.doscraping, httpspider.maxdepth, httpspider.maxpagecount, httpspider.noblacklist, httpspider.url, httpspider.useheadfornonwebfiles, httpspider.withindomain, httpspider.withinhost
這些參數和選項用於控制 httpspider 進行網站爬取和分析,以下是這些參數的簡要解釋:
httpspider.doscraping: 啟用或禁用網站爬取,當啟用時,工具將瀏覽網站的連結並提取有關網頁的訊息。
httpspider.maxdepth: 指定網站爬取的最大深度,即遞歸檢查多少層的連結深度。
httpspider.maxpagecount: 設定要存取的最大網頁數量限制。
httpspider.noblacklist: 禁用黑名單檢查,這代表將存取所有連結,而不管它們是否在黑名單上。
httpspider.url: 指定要開始爬取的網站起始URL。
httpspider.useheadfornonwebfiles: 啟用或禁用對非網頁檔案的 HEAD 請求,以確定它們是否存在。
httpspider.withindomain: 僅爬取同一網域內的連結,不跨域域。
httpspider.withinhost: 僅爬取同一主機下的連結,不跨主機。
這些選項可用於自定義網站爬取的行為,以滿足特定需求,根據您的目的,您可以設定這些選項以限制或擴展工具的爬取行為;請詳閱 httpspider 函式庫瞭解更細部的應用。
smbdomain, smbhash, smbnoguest, smbpassword, smbtype, smbusername
這些參數和選項是與 smbauth 函式庫一起使用的,用於進行 SMB(Server Message Block)認證和存取 SMB 資源的相關操作,以下是它們的簡要解釋:
smbdomain: SMB 網域名稱,通常用於指定 SMB 伺服器所在的網域。
smbhash: SMB 密碼的哈希值 (Hash Value),有時候為了安全性考慮,SMB 密碼不會以明文形式傳遞,而是使用其哈希值。
smbnoguest: 用於設定 SMB "guest" 帳號的存取權限;"guest" 帳號通常是一個無需密碼即可存取 SMB 資源的帳號,透過設定 smbnoguest,您可以確保只有經過適當認證的使用者能夠存取 SMB 資源。
smbpassword: SMB 帳號的密碼。
smbtype: SMB 認證的類型,這可以是不同的認證協定或方式,例如 NTLM(NT Lan Manager)。
smbusername:SMB 帳號的使用者名稱。
這些參數和選項通常在進行 SMB 資源的存取或認證時使用,以確保正確的身份驗證和權限授予;請參考smbauth 函式庫了解更多詳細訊息和如何使用它們。
http.host, http.max-body-size, http.max-cache-size, http.max-pipeline, http.pipeline, http.truncated-ok, http.useragent
這些參數與 http 函式庫相關,用於設定與 HTTP 通訊有關的行為,以下是它們的簡要解釋:
http.host: 設定 HTTP 請求的目標主機(Host),這是要存取的網站主機名稱或 IP 地址。
http.max-body-size: 設定 HTTP 回應主體 (內容) 的最大大小,如果主體超出此大小,則可能會被截斷。
http.max-cache-size: 設定 HTTP 暫存的最大大小,這控制儲存在暫存中 HTTP 回應的數量。
http.max-pipeline: 設定最大的 HTTP 通道大小,它控制允許同時等待處理的請求數量。
http.pipeline: 設定是否啟用 HTTP 通道;啟用時,多個請求可以並行發送。
http.truncated-ok: 設定是否允許截斷的 HTTP 回應,如果啟用,則可能會接受截斷的回應。
http.useragent: 設定 HTTP 請求中的用戶代理(User-Agent),這是標示客戶端應用程序的字串。
這些參數用於自定義和設定與 HTTP 請求和響應有關的行為,以便更好地滿足特定需求;詳細資訊可以在相關的 http 函式庫中找到。
指令範例
nmap -sV --script=http-sql-injection <target>
指令輸出
PORT STATE SERVICE
80/tcp open http syn-ack
| http-sql-injection:
| Possible sqli for queries:
| Possible sqli for forms:
| Form at path: /forms/f1.html, form's action: a1/check1.php. Fields that might be vulnerable:
| f1text
| Form at path: /forms/a1/../f2.html, form's action: a1/check2.php. Fields that might be vulnerable:
|_ f2text
作者:
Eddie Bell Piotr Olma
License: Same as Nmap--See https://nmap.org/book/man-legal.html
隨選即看研討會
延伸閱讀
NetAlly 滲透測試及網路測試總覽 > CyberScope Nmap 滲透測試手持式網路分析儀,整合了 Nmap 功能,為站點存取層提供全面的網路安全風險評估、分析、和報告——包括所有的端點和網路探索、有線與無線網路安全、漏洞評估 (Nmap) 以及網段和設定驗證;IT 人員透過單一工具以及單一介面,即可快速且即時的掌握企業或組織的各種混合式網路環境 (有線、無線、PoE)、各種連網終端裝置的拓樸、架構、設定、網段、效能、直到網路安全評估。
Comments