【Web安全】sqlmap的使用筆記及示例

【Web安全】sqlmap的使用筆記

文章目錄

  • 【Web安全】sqlmap的使用筆記
    • 1. 目標
    • 2. 脫庫
      • 2.1. 脫庫(補充)
    • 3. 其他
      • 3.1. 其他(補充)
    • 4. 繞過腳本tamper講解

1. 目標

操作作用必要示例
-u指定URL,檢測注入點sqlmap -u 'http://example.com/?id=1'
-m指定txt,里面有很多個URLsqlmap -m urls.txt
-r檢測POST請求的注入點,使用BP等工具抓包,將http請求內容保存到txt文件中sqlmap -r request.txt
–cookie指定cookie的值,單/雙引號包裹sqlmap -u "http://example.com?id=x" --cookie 'session_id=1234'
-D指定數據庫sqlmap -u 'http://example.com/?id=1' -D mydatabase
-T指定表sqlmap -u 'http://example.com/?id=1' -D mydatabase -T mytable
-C指定字段sqlmap -u 'http://example.com/?id=1' -D mydatabase -T mytable -C mycolumn

2. 脫庫

操作作用必要示例
-b獲取數據庫版本sqlmap -u <url> -b
–current-db當前數據庫sqlmap -u <url> --current-db
–dbs獲取數據庫sqlmap -u <url> --dbs
–tables獲取表sqlmap -u <url> --tables -D <database>
–columns獲取字段sqlmap -u <url> --columns -D <database> -T <table>
–schema字段類型sqlmap -u <url> --schema -D <database>
–dump獲取數據sqlmap -u <url> --dump -D <database> -T <table>
–start開始的行sqlmap -u <url> --start=1 -D <database> -T <table>
–stop結束的行sqlmap -u <url> --stop=10 -D <database> -T <table>
–search搜索庫表字段sqlmap -u <url> --search -C <column>
–tamperWAF繞過sqlmap -u <url> --tamper=<tamper_script>

2.1. 脫庫(補充)

  • –current-db獲取的是當前的數據庫名稱,而–dbs獲取的是所有的數據庫名稱
  • WAF 指的是“Web Application Firewall”,即網絡應用防火墻,例如sqlmap -u ‘http://xx/?id=1’ --tamper ‘space2comment.py’,sqlmap有很多內置的繞過腳本(腳本按照用途命名),在/usr/share/sqlmap/tamper/目錄下
  • –search:如果你正在尋找包含特定關鍵字的列,這個命令將列出所有包含該關鍵字的列的名稱及其所屬的表和數據庫。

3. 其他

操作作用必要示例
–batch不再詢問確認sqlmap -u 'http://example.com/?id=1' --batch
–method=GET指定請求方式sqlmap -u 'http://example.com/?id=1' --method=GET
–random-agent隨機UAsqlmap -u 'http://example.com/?id=1' --random-agent
–user-agent自定義UAsqlmap -u 'http://example.com/?id=1' --user-agent 'MyUserAgent'
–referer自定義referersqlmap -u 'http://example.com/?id=1' --referer 'http://referer.com'
–proxy=“123”代理sqlmap -u 'http://example.com/?id=1' --proxy='http://123.123.123.123:8080'
–threads 10線程數1~10sqlmap -u 'http://example.com/?id=1' --threads 10
–level=1測試等級1~5sqlmap -u 'http://example.com/?id=1' --level=1
–risk=1風險等級0~3sqlmap -u 'http://example.com/?id=1' --risk=1

3.1. 其他(補充)

  • 測試等級:這個等級決定了 SQLMap 將嘗試的測試數量和類型。較高的等級意味著 SQLMap 將執行更多類型的測試,這些測試可能更復雜,有時也更具侵入性。例如,在較低的等級上,SQLMap 可能只測試最常見的注入類型,而在較高等級上,它會嘗試更多不常見的或復雜的注入技術。
  • 風險等級:風險等級影響測試的侵入性。較高的風險等級可能會運行更具侵入性的測試,這些測試可能會對數據庫造成更大的負擔或風險。例如,一些高風險測試可能包括執行實際的數據庫操作(如更新或刪除數據),而低風險測試則盡量避免這種潛在的破壞性操作。
操作作用必要示例
-a自動識別和測試所有參數sqlmap -u 'http://example.com/?id=1' -a
–current-user獲取當前數據庫用戶sqlmap -u 'http://example.com/?id=1' --current-user
–is-dba是不是數據庫管理員sqlmap -u 'http://example.com/?id=1' --is-dbs
–users枚舉數據庫服務器上的用戶sqlmap -u 'http://example.com/?id=1' --users
–privileges枚舉數據庫用戶的權限sqlmap -u 'http://example.com/?id=1' --privileges
–passwords嘗試獲取數據庫用戶的密碼sqlmap -u 'http://example.com/?id=1' --passwords
–hostname獲取數據庫服務器的主機名sqlmap -u 'http://example.com/?id=1' --hostname
–statements捕獲并顯示SQL語句sqlmap -u 'http://example.com/?id=1' --statements

4. 繞過腳本tamper講解

sqlmap在默認情況下除了使用CHAR()函數防止出現單引號,沒有對注入的數據進行修改,我們還可以使用–tamper參數對數據進行修改來繞過WAF等設備,其中部分腳本主要用正則模塊替換攻擊載荷字符編碼的方式嘗試繞過WAF的檢測規則:

sqlmap XXXXX --tamper "模塊名"

sqlmap內置了53個腳本,其中常見的是:

  • apostrophemask.py:將引號替換為UTF-8字符,用于過濾單引號
  • base64encode.py:替換為base64編碼
  • multiplespaces.py:圍繞SQL關鍵字添加多個空格
  • space2plus:用+號替換空格
  • nonrecursivereplacement.py:作為雙重查詢語句,用雙重查詢代替預定義的SQL關鍵字,使適用于非常弱的自定義過濾器,例如將SELECT替換為空
  • space2randomblank.py:將空格替換為其他的有效字符
  • unionalltounion.py:將UNION ALL SELECT替換為UNION SELECT
  • securesphere.py:追加特制的字符串
  • space2hash.py:將空格替換為#號,并添加一個隨機字符串和換行符
  • space2mssqlblank.py(mssql):將空格替換為其他空符號
  • space2mssqlhash.py:將空格替換為#號,并添加一個換行符

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/161499.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/161499.shtml
英文地址,請注明出處:http://en.pswp.cn/news/161499.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

ts實現合并數組對象中key相同的數據

背景 在平常的業務中&#xff0c;后端同學會返回以下類似的結構數據 // 后端返回的數據結構 [{ id: 1, product_id: 1, pid_name: "Asia", name: "HKG01" },{ id: 2, product_id: 1, pid_name: "Asia", name: "SH01" },{ id: 3, pro…

實現極坐標圖表QPolarChart的角度軸范圍是[0,360]時,0度在水平右側

目錄 參考角度軸范圍是[0,360]時&#xff0c;0度在水平右側.h.cpp 參考 Qt數據可視化(QPolarChart雷達圖) 默認QPolarChart的范圍是[0,360]時&#xff0c;0度在垂直上方 如官方例子QValueAxis角度軸范圍是[-100,100] 角度軸范圍是[0,360]時&#xff0c;0度在水平右側 原理&am…

用eclipse搭建簡單的JavaWeb環境

在 Eclipse 中搭建 JavaWeb 項目的環境涉及到配置服務器、創建項目、添加庫等步驟。以下是基于 Eclipse 的 JavaWeb 項目搭建的簡要步驟&#xff1a; 步驟&#xff1a; 1. 安裝 Eclipse IDE for Java EE Developers 確保你已經安裝了 Eclipse IDE for Java EE Developers 版…

MyBatis-Plus: 簡化你的MyBatis應用

MyBatis-Plus: 簡化你的MyBatis應用 在Java開發中&#xff0c;MyBatis一直是一個受歡迎的持久層框架&#xff0c;提供了靈活的數據訪問方式。然而&#xff0c;MyBatis的使用往往涉及許多樣板代碼&#xff0c;這在一定程度上增加了開發的復雜性。這里&#xff0c;MyBatis-Plus&…

刷題筆記(第八天)

1. 請補全JavaScript代碼&#xff0c;實現一個函數&#xff0c;要求如下&#xff1a; 根據輸入的數字范圍[start,end]和隨機數個數"n"生成隨機數生成的隨機數存儲到數組中&#xff0c;返回該數組返回的數組不能有相同元素 注意&#xff1a; 不需要考慮"n"…

【C++11】auto與decltype關鍵字使用詳解

系列文章目錄 C11新特性使用詳解-持續更新 文章目錄 系列文章目錄前言一、auto關鍵字1.根據變量的初始化表達式來推導變量的類型2.const與引用 二、decltype關鍵字1.推斷表達式的類型2.const與引用 三、總結 前言 auto和decltype是C11引入的倆個重要的新關鍵字&#xff0c;用…

簡單幾步,借助Aapose.Cells將 Excel XLS 轉換為PPT

數據呈現是商業和學術工作的一個重要方面。通常&#xff0c;您需要將數據從一種格式轉換為另一種格式&#xff0c;以創建信息豐富且具有視覺吸引力的演示文稿。當您需要在幻燈片上呈現工作表數據時&#xff0c;需要從 Excel XLS 轉換為 PowerPoint 演示文稿。在這篇博文中&…

原理Redis-QuickList

QuickList **問題1&#xff1a;**ZipList雖然節省內存&#xff0c;但申請內存必須是連續空間&#xff0c;如果內存占用較多&#xff0c;申請內存效率很低。怎么辦&#xff1f; 為了緩解這個問題&#xff0c;我們必須限制ZipList的長度和entry大小。 **問題2&#xff1a;**但是…

[網鼎杯 2018]Fakebook

[網鼎杯 2018]Fakebook 打開環境出現一個登錄注冊的頁面 在登錄和注冊中發現 了地址欄出現變化&#xff0c;掃一波看看 看看robots.txt和flag.php 訪問robots.txt看看 再訪問user.php.bak <?php class UserInfo { public $name ""; public …

Head、Neck、Backbone介紹

在深度學習中&#xff0c;通常將模型分為三個部分&#xff1a;backbone、neck 和 head。 Backbone&#xff1a;backbone 是模型的主要組成部分&#xff0c;通常是一個卷積神經網絡&#xff08;CNN&#xff09;或殘差神經網絡&#xff08;ResNet&#xff09;等。backbone 負責…

ON1 Photo RAW 2024 for Mac——專業照片編輯的終極利器

ON1 Photo RAW 2024 for Mac是一款專為Mac用戶打造的照片編輯器&#xff0c;以其強大的功能和易用的操作&#xff0c;讓你的照片編輯工作變得輕松愉快。 一、強大的RAW處理能力 ON1 Photo RAW 2024支持大量的RAW格式照片&#xff0c;能夠讓你在編輯過程中獲得更多的自由度和更…

練習九-利用狀態機實現比較復雜的接口設計

練習九-利用狀態機實現比較復雜的接口設計 1&#xff0c;任務目的&#xff1a;2&#xff0c;RTL代碼3&#xff0c;RTL原理框圖4&#xff0c;測試代碼5&#xff0c;波形輸出 1&#xff0c;任務目的&#xff1a; &#xff08;1&#xff09;學習運用狀態機控制的邏輯開關&#xff…

【C++11】=default與=delete關鍵字使用詳解

系列文章目錄 C11新特性使用詳解-持續更新 文章目錄 系列文章目錄一、default關鍵字1. 為什么要引入default關鍵字2. 注意事項3. 使用default關鍵字有什么好處4.實例代碼 二、delete關鍵字1. 為什么要引入delete關鍵字2. 注意事項3. 使用場景3.1刪除默認構造函數3.2 刪除拷貝構…

2023.11.22 -數據倉庫的概念和發展

目錄 https://blog.csdn.net/m0_49956154/article/details/134320307?spm1001.2014.3001.5501 1經典傳統數倉架構 2離線大數據數倉架構 3數據倉庫三層 數據運營層,源數據層&#xff08;ODS&#xff09;&#xff08;Operational Data Store&#xff09; 數據倉庫層&#…

開發上門送桶裝水小程序要考慮哪些業務場景

上門送水業務已經有很長一段時間了&#xff0c;但是最開始都是給用戶發名片、貼小廣告&#xff0c;然后客戶電話訂水&#xff0c;水站工作人員再上門去送&#xff0c;這種人工記單和派單效率并不高&#xff0c;并且電話溝通中也比較容易出現偏差&#xff0c;那么根據這個情況就…

IT 領域中的主要自動化趨勢

48%的IT自動化流程屬于IT服務管理&#xff0c;過去一年中&#xff0c;IT運維自動化增長了272%。 IT部門從交付者轉變為戰略伙伴 今年的《工作自動化指數》數據顯示&#xff0c;自動化正在蔓延到組織的各個部門&#xff0c;越來越多的部門采用自動化&#xff0c;并且IT以外的員工…

一條命令徹底卸載Linux自帶多個版本jdk

一條命令徹底卸載Linux自帶多個版本jdk 檢查系統已經安裝的jdk rpm -qa | grep java卸載所有已經安裝的 jdk xargs 將參數逐個傳遞 將已安裝的 java 程序逐個當做參數傳遞給 rpm -e --nodeps rpm -qa | grep java | xargs rpm -e --nodeps再次檢查系統已經安裝的jdk rpm -qa | …

JS實現二分查找

最近在面試的時候被問到手寫實現二分查找&#xff0c;雖然二分查找很早就聽過&#xff0c;也知道實現原理&#xff0c;但是手擼起來&#xff0c;總是差點意思&#xff0c;正好復習一下。作為前端程序員&#xff0c;可能面試絕大部分公司不需要能寫很復雜的算法問題&#xff0c;…

Azure Machine Learning - 搜索中的語義排名

目錄 什么是語義排名&#xff1f;語義排名的工作原理如何收集和總結輸入語義排名的輸出如何對摘要進行評分 語義功能和限制 在 Azure AI 搜索中&#xff0c;“語義排名”通過使用語言理解對搜索結果重新排名來顯著提高搜索相關性&#xff0c; 本文概括性地介紹了語義排名工作原…

Nodejs JavaScript 字符串加密

情景 問題的場景是這樣的&#xff1a;我們需要在瀏覽器cookie中存儲用戶名&#xff0c;但又不想直接明文存儲&#xff0c;所以對它進行了簡單的加密存儲。 因為是簡單的加密&#xff0c;目的只是不希望明文存儲。我們使用了Base64 編碼&#xff0c;使得cookie里的存儲不可只讀…