[紅日安全]學習筆記1—SQL注入實戰攻防(SQLMap、DVWA、Pikachu)

和同學聊天:
在這裏插入圖片描述
在這裏插入圖片描述
是我太菜。
在這裏插入圖片描述
現在決定從【紅日安全】系列文章入手,“以實戰促學”,來學習web安全相關知識。

本篇文章只記錄了一些我想記下的知識點,詳細、完整的內容,請看原文:
[紅日安全]Web安全Day1 – SQL注入實戰攻防


1、理論知識

1.1 SQL:
結構化查詢語言(Structured Query Language),是一種特殊的編程語言,用於數據庫中的標準數據查詢語言。

1.2 SQL數據庫種類:

Access:本地訪問
MySQL:3306
在這裏插入圖片描述
SQLServer:1433
Oracle:1521
PostgreSQL:5432或5433
DB2:5000
MongoDB:27017

2、SQLMap

2.1 參數詳解

1.Options

-h, --help 查看幫助,沒什麼好說的
-hh 查看全部的幫助
–version 查看版本
-v 顯示信息的級別,一共有六級:0:只顯示python 錯誤和一些嚴重信息;1:顯示基本信息(默認);2:顯示debug信息;3:顯示注入過程的payload;4:顯示http請求包;5:顯示http響應頭;7:顯示http相應頁面。

2.Target

-d 直接連目標後端接數據庫,而不是使用sql注入漏洞,直接通過目標的偵聽端口連接,當然需要有目標數據庫的賬號名和密碼。例:-d “mysql://user:[email protected]:3389/databasename” --dbs 查詢非常快。
-u 指定一個url連接,url中必須有?xx=xx 才行(最常用的參數)例:-u “www.abc.com/index.php?id=1”
-l 後接一個log文件,可以是burp等的代理的log文件,之後sqlmap會掃描log中的所有記錄。例: -l log.txt
-x 站點地圖,提交給sql一個xml文件。
-m 後接一個txt文件,文件中是多個url,sqlmap會自動化的檢測其中的所有url。例: -m target.txt
-r 可以將一個post請求方式的數據包保存在一個txt中,sqlmap會通過post方式檢測目標。例: -r post.txt
-g 使用google引擎搜索類似的網址,並且多目標檢測。例: -g “inurl:”.php?id=1"" \是轉義
-c 將使用的命令寫在一個文件中,讓sqlmap執行文件中的命令,我們可以用 - -save命令將配置寫入文件。

3.Request

–method=METHOD 指定是get方法還是post方法。例: --method=GET --method=POST
–data=DATA 指明參數是哪些。例:-u “www.abc.com/index.php?id=1” --data=“name=1&pass=2”
–param-del=PARA. 指明使用的變量分割符。例: -u “www.abc.com/index.php?id=1” --data=“name=1;pass=2” --param-del=";"
–cookie=COOKIE 指定測試時使用的cookie,通常在一些需要登錄的站點會使用。例: -u “www.abc.com/index.php?id=1” --cookie=“a=1;b=2”
–cookie-del=COO… 和前面的 --param-del=PARA. 類似,就是指明分割cookie的字符。
–load-cookies=L… 從包含Netscape / wget格式的cookie的文件中加載cookie。
–drop-set-cookie 默認情況下,sqlmap是開啓set-cookie功能的,也就是當收到一個含有set-cookie的http包的時候,下次sql會使用新的cookie進行發包,如果使用這條命令,就會關閉這個功能。在level>=2時會檢測cookie注入。
–user-agent=AGENT 指定一個user-agent的值進行測試。例: --user-agent=“aaaaaaa” 默認情況下,sqlmap會使用自己的user-agent進行測試(所以很多服務器發現user-agent是sqlmap的數據包直接認爲是入侵),sqlmap自己的user-agent是:sqlmap/1.0-dev-nongit-201603020a89(http://sqlmap.org)
–random-agent 使用隨機user-agent進行測試。sqlmap有一個文件中儲存了各種各樣的user-agent,文件在sqlmap/txt/user-agent.txt 在level>=3時會檢測user-agent注入。
–host=HOST 指定http包中的host頭參數。例: --host=“aaaaaa” 在level>=5時纔會檢查host頭注入。\n是換行
–referer=REFERER 指定http包中的refere字段。例: --refere=“aaaaa” 在level>=3時纔會檢測refere注入。
-H --headers 額外的header頭,每個佔一行。例:–headers=“host:www.a.com\nUser-Agent:yuangh”
–headers=HEADERS 跟上邊一樣,再舉一個例子: --headers=“Accept-Language: fr\nETag: 123” 注意所有構造http包的部分均區分大小寫
–auth-type=AUTH… 基於http身份驗證的種類。例: --auth-type Basic/Digest/NTLM 一共有三種認證方式。
–auth-cred=AUTH… 使用的認證,例: --auth-type Basic --auth-cred “user:password”
–auth-file=AUTH… 使用.PEM文件中的認證。例:–auth-file=“AU.PEM” 少見。
–ignore-code=IG… 無視http狀態碼。例: --ignore-code=401
–ignore-proxy 無視本地的代理,有時候機器會有最基本的代理配置,在掃描本地網段的時候會很麻煩,使用這個參數可以忽略代理設置。
–ignore-redirects 無視http重定向,比如登錄成功會跳轉到其他網頁,可使用這個忽略掉。
–ignore-timeouts 忽略連接超時。
–proxy=PROXY 指定一個代理。例: --proxy=“127.0.0.1:8087” 使用GoAgent代理。
–proxy-cred=PRO… 代理需要的認證。例: --proxy=“name:password”
–proxy-file=PRO… 從一個文件加載代理的認證。
–tor 使用tor匿名網絡,不懂。
–tor-port=TORPORT 設置默認的tor代理端口,不懂+2。
–tor-type=TORTYPE 設置tor代理種類,(HTTP, SOCKS4 or SOCKS5 (默認)),不懂+3。
–check-tor 檢查是否正確使用Tor,不懂+4。
–delay=DELAY 每次發包的延遲時間,單位爲秒,浮點數。例:–delay 2.5 有時候頻繁的發包會引起服務器注意,需要使用delay降低發包頻率。
–timeout=TIMEOUT 請求超時的時間,單位爲秒,浮點數,默認30s。
–retries=RETRIES 超時重連次數,默認三次。例: --retries=5
–randomize=RPARAM 參數的長度,類型與輸入值保持一致的前提下,每次請求換參數的值。有時候反覆的提交同一個參數會引起服務器注意。
–safe-url=SAFEURL 用法和-u類似,就是一個加載測試url的方法,但額外功能是防止有時候時間長了不通訊服務器會銷燬session,開啓這種功能會隔一段時間發一個包保持session。
–safe-post=SAFE… 和上面的一樣,只是使用post的方式發送數據。
–safe-req=SAFER… 和上面的一樣,只是從一個文件獲得目標。
–safe-freq=SAFE… 頻繁的發送錯誤的請求,服務器也會銷燬session或者其他懲罰方式,開啓這個功能之後,發幾次錯的就會發一次對的。通常用於盲注。
–skip-urlencode 跳過url編碼,畢竟不排除有的奇葩網站url不遵守RFC標準編碼。
–csrf-token=CSR… 保持csrf令牌的token。
–csrf-url=CSRFURL 訪問url地址獲取csrf的token。
–force-ssl 強制使用ssl。
–hpp 使用http參數污染,通常http傳遞參數會以名稱-值對的形勢出現,通常在一個請求中,同樣名稱的參數只會出現一次。但是在HTTP協議中是允許同樣名稱的參數出現多次的,就可能造成參數篡改。
–eval=EVALCODE 執行一段指定的python代碼。例: -u “www.abc.com/index.php?id=1” --eval=“import hashlib;hash=hashlib.md5(id).hexdigest()”

4.Optimization

-o 開啓下面三項(–predict-output,–keep-alive, --null-connection)
–predict-output 預設的輸出,可以理解爲猜一個表存在不存在,根據服務器返回值來進行判斷,有點類似暴力破解,但和暴力破解又不同,這個是一個範圍性的暴力破解,一次一次的縮小範圍。
–keep-alive 使用http(s)長鏈接,性能更好,避免重複建立鏈接的開銷,但佔用服務器資源,而且與–proxy不兼容。
–null-connection 只看頁面返回的大小值,而不看具體內容,通常用於盲注或者布爾的判斷,只看對錯,不看內容。
–threads=THREADS 開啓多線程,默認爲1,最大10。和 --predict-output 不兼容。
Injection
-p TESTPARAMETER 知道測試的參數,使用這個的話–level 參數就會失效。例: -p “user-agent,refere”
–skip=SKIP 排除指定的參數。例: --level 5 --skip=“id,user-agent”
–skip-static 跳過測試靜態的參數。
–param-exclude=… 使用正則表達式跳過測試參數。
–dbms=DBMS 指定目標數據庫類型。例: --dbms=“MySQL<5.0>” Oracle<11i> Microsoft SQL Server<2005>
–dbms-cred=DBMS… 數據庫的認證。利: --dbms-cred=“name:password”
–os=OS 指定目標操作系統。例: --os=“Linux/Windows”
–invalid-bignum 通常情況下sqlmap使用負值使參數失效,比如id=1->id=-1,開啓這個之後使用大值使參數失效,如id=9999999999。
–invalid-logical 使用邏輯使參數失效,如id=1 and 1=2。
–invalid-string 使用隨機字符串使參數失效。
–no-cast 獲取數據時,sqlmap會將所有數據轉換成字符串,並用空格代替null。
–no-escape 用於混淆和避免出錯,使用單引號的字符串的時候,有時候會被攔截,sqlmap使用char()編碼。例如:select “a”-> select char(97)。
–prefix=PREFIX 指定payload前綴,有時候我們猜到了服務端代碼的閉合情況,需要使用這個來指定一下。例: -u “www.abc.com/index?id=1” -p id --prefix")" --suffix “and (‘abc’='abc”
–suffix=SUFFIX 指定後綴,例子同上。
–tamper=TAMPER 使用sqlmap自帶的tamper,或者自己寫的tamper,來混淆payload,通常用來繞過waf和ips。

5.Detection

–level=LEVEL 設置測試的等級(1-5,默認爲1)lv2:cookie; lv3:user-agent,refere; lv5:host 在sqlmap/xml/payloads文件內可以看見各個level發送的payload
–risk=RISK 風險(1-4,默認1)升高風險等級會增加數據被篡改的風險。risk 2:基於事件的測試;risk 3:or語句的測試;risk 4:update的測試
–string=STRING 在基於布爾的注入時,有的時候返回的頁面一次一個樣,需要我們自己判斷出標誌着返回正確頁面的標誌,會根據頁面的返回內容這個標誌(字符串)判斷真假,可以使用這個參數來制定看見什麼字符串就是真。
–not-string=NOT… 同理,這個參數代表看不見什麼纔是真。
–regexp=REGEXP 通常和上面兩種連用,使用正則表達式來判斷。
–code=CODE 也是在基於布爾的注入時,只不過指定的是http返回碼。
–text-only 同上,只不過指定的是頁面裏的一段文本內容。
–titles 同上,只不過指定的是頁面的標題。

6.Techniques

–technique=TECH 指定所使用的技術(B:布爾盲注;E:報錯注入;U:聯合查詢注入;S:文件系統,操作系統,註冊表相關注入;T:時間盲注; 默認全部使用)
–time-sec=TIMESEC 在基於時間的盲注的時候,指定判斷的時間,單位秒,默認5秒。
–union-cols=UCOLS 聯合查詢的嘗試列數,隨level增加,最多支持50列。例: --union-cols 6-9
–union-char=UCHAR 聯合查詢默認使用的佔列的是null,有些情況null可能會失效,可以手動指定其他的。例: --union-char 1
–union-from=UFROM 聯合查詢從之前的查詢結果中選擇列,和上面的類似。
–dns-domain=DNS… 如果你控制了一臺dns服務器,使用這個可以提高效率。例: --dns-domain 123.com
–second-order=S… 在這個頁面注入的結果,在另一個頁面顯示。例: --second-order 1.1.1.1/b.php

7.Fingerprint

-f, --fingerprint 指紋信息,返回DBMS,操作系統,架構,補丁等信息。

8.Enumeration

-a, --all 查找全部,很暴力。直接用-a
-b, --banner 查找數據庫管理系統的標識。直接用-b
–current-user 當前用戶,常用,直接用–current-user
–current-db 當前數據庫,常用,直接用–current-db
–hostname 主機名,直接用–hostname
–is-dba
–users 查詢一共都有哪些用戶,常用,直接用–users
–passwords 查詢用戶密碼的哈希,常用,直接用–passwords
–privileges 查看特權,常用。例: --privileges -U username (CU 就是當前用戶)
–roles 查看一共有哪些角色(權限),直接用–roles
–dbs 目標服務器中有什麼數據庫,常用,直接用–dbs
–tables 目標數據庫有什麼表,常用,直接用–tables
–columns 目標表中有什麼列,常用,直接用–colums
–schema 目標數據庫數據庫系統管理模式。
–count 查詢結果返回一個數字,即多少個。
–dump 查詢指定範圍的全部數據。例: --dump -D admin -T admin -C username
–dump-all 查詢全部數據。例: --dump-all --exclude-sysdbs
–search 搜索列、表和/或數據庫名稱。
–comments 檢索數據庫的備註。
-D DB 指定從某個數據庫查詢數據,常用。例: -D admindb
-T TBL 指定從某個表查詢數據,常用。例: -T admintable
-C COL 指定從某個列查詢數據,常用。例: -C username
-X EXCLUDE 指定數據庫的標識符。
-U USER 一個用戶,通常和其他連用。例: --privileges -U username (CU 就是當前用戶)
–exclude-sysdbs 除了系統數據庫。
–pivot-column=P… 樞軸列名,不懂。
–where=DUMPWHERE 在dump表時使用where限制條件。
–start=LIMITSTART 設置一個起始,通常和–dunmp連用。
–stop=LIMITSTOP 同上,設置一個結束。
–first=FIRSTCHAR 以第一個查詢輸出的字符檢索,不懂。
–last=LASTCHAR 以最後一個查詢輸出的字符檢索,不懂+2。
–sql-query=QUERY 執行一個sql語句。
–sql-shell 創建一個sql的shell。
–sql-file=SQLFILE 執行一個給定文件中的sql語句

9.Brute force

–common-tables 檢查有沒有記錄表信息的公共表,比如mysql>=5.0會有一個information_schema庫,儲存了整個數據庫的基本信息。有這個會方便很多。
–common-columns 有沒有記錄公共列的表,比如Access就沒有列信息。這兩種方法都會使用暴力破解。

10.User-defined function injection

–udf-inject 編譯共享庫創建並上傳至DB Server,生成UDF實現高級注入,不懂。
–shared-lib=SHLIB 同上,不懂。

11.File system access

–file-read=RFILE 讀取目標站點的一個文件。例: --file-read="/etc/password"
–file-write=WFILE 寫入到目標站點的一個文件,通常和–sql-query 連用。例: --sql-query="select “一句話木馬” --file-write=“shell.php”
–file-dest=DFILE 同上,只是使用絕對路徑寫入。

12.Operating system access

–os-cmd=OSCMD 執行一句系統命令。例: --os-shell=“ipconfig -all”
–os-shell 創建一個對方操作系統的shell,遠程執行系統命令。直接用即可–os-shell
–os-pwn 同上,獲取一個OOB shell,meterpreter或VNC。
–os-smbrelay 同上,一鍵獲取一個OOB shell,meterpreter或VNC。
–os-bof 利用緩衝區溢出。
–priv-esc 自動提權,數據庫進程用戶權限提升。
–msf-path=MSFPATH Metasploit Framework本地的安裝路徑。
–tmp-path=TMPPATH 遠程臨時文件目錄的絕對路徑。

13.Windows registry access

–reg-read 讀一個Windows註冊表。
–reg-add 添加一個註冊表。
–reg-del 刪一個註冊表。
–reg-key=REGKEY 和之前連用,註冊表key值。
–reg-value=REGVAL 和之前連用,註冊表值。
–reg-data=REGDATA 和之前連用,註冊表數據。
–reg-type=REGTYPE 和之前連用,註冊表類別。

14.General

-s SESSIONFILE 從一個文件加載保存的session。
-t TRAFFICFILE 記錄流文件的保存位置。
–batch 批處理,在檢測過程中會問用戶一些問題,使用這個參數統統使用默認值。
–binary-fields=… 指定二進制結果的字段。
–check-internet 在評估目標之前檢查互聯網連接,新功能。
–crawl=CRAWLDEPTH 從起始位置爬取的深度。例: --crawl=3
–crawl-exclude=… 除了哪些頁面之外全部爬取。例: --crawl-exclude=“abc.com/logout.php”
–csv-del=CSVDEL 指定在CSV輸出中使用的分隔字符。
–charset=CHARSET 強制字符串編碼。例: --charset=GBK
–dump-format=DU… 轉儲數據的格式 ,有(CSV (默認), HTML,SQLITE)三種。
–encoding=ENCOD… 用於數據檢索的字符編碼。例: --encoding=GBK
–eta 顯示每個輸出的預計到達時間 。
–flush-session 清空會話信息。
–forms 在目標URL上解析和測試表單。
–fresh-queries sqlmap每次查詢都會講查詢結果儲存在.sqlmap文件夾中,下次再有相同測查詢會調用上次的查詢結果,使用這個參數可以忽略文件中有的記載結果,重新查詢。
–har=HARFILE 將所有http流量記錄在一個har文件中。
–hex dump非ascii字符時,將其編碼爲16進制,收到後解碼還原。
–output-dir=OUT… 輸出結果至文件。例: --output-dir=/tmp
–parse-errors 解析並顯示報錯信息。
–save=SAVECONFIG 將使用的命令保存到配置ini文件
–scope=SCOPE 和-l類似,只是這個可以過濾信息,使用正則表達式過濾網址。
–test-filter=TE… 根據有效負載和/或標題,不懂。
–test-skip=TEST… 根據有效負載和/或標題跳過測試,不懂+2。
–update 更新sqlmap。

15.Miscellaneous

-z MNEMONICS 參數助記符,比較傻的一個功能。例: -z “bat,randoma,ign,tec=BEU” 其實就是隻要你寫的字母可以唯一匹配其他參數,就可以生效。
–alert=ALERT 在找到SQL注入時運行主機OS命令。
–answers=ANSWERS 設置問題答案,在剛剛的–batch 可以跳過很多問題,但只是選擇默認值,可以使用者個參數對特定問題設定特定答案。例: --answer “extending=N”
–beep 在問題和/或當SQL注入被發現時發出嘟嘟聲。。。。。。。。。
–cleanup 從SqLMAP特定的UDF和表中找數據庫,類似暴力破解。
–dependencies 檢查缺少的Sql映射依賴項。
–disable-coloring 禁用控制檯輸出着色。
–gpage=GOOGLEPAGE 在指定頁使用google結果,不懂。
–identify-waf 識別目標的防火牆。
–mobile cosplay 手機。
–offline 在脫機模式下工作。
–purge-output 情況輸出文件夾。
–skip-waf 跳過WAF/IPS/IDS保護的啓發式檢測。
–smart 有大量檢測目標時候,只選擇基於錯誤的檢測。
–sqlmap-shell 創建一個交互的sqlmap_shell,不懂。
–tmp-dir=TMPDIR 更改存儲臨時文件的本地目錄。
–web-root=WEBROOT 設置Web服務器文檔根目錄。例: --web-root="/var/www"
–wizard 新手教程。

2.2 攻擊實例

這裏我就不做手工注入了,直接SQLMap跑起來。

2.2.1 DVWA

2.2.1.1 SQL Injection

low

因爲DVWA需要admin和password登錄,這就會有一個cookie,而sqlmap必須有這個cookie才能在注入的頁面進行注入,否則就卡在了最初的頁面,找不到注入點。
所以這裏的payload必須要cookie。
而cookie需要結合burpsuite抓包來看:
在這裏插入圖片描述
1.爆出當前數據庫名:

sqimap.py -u "攻擊的URL" --cookie="通過burpsuite看到的cookie" --current-db

在這裏插入圖片描述
數據庫名dvwa:
在這裏插入圖片描述
2.爆出數據表名:

sqimap.py -u "攻擊的URL" --cookie="通過burpsuite看到的cookie" -D dvwa --tables

在這裏插入圖片描述
在這裏插入圖片描述
3.爆出字段名:

sqimap.py -u "攻擊的URL" --cookie="通過burpsuite看到的cookie" -D dvwa -T users --columns

在這裏插入圖片描述
在這裏插入圖片描述
4.爆出字段內容:

sqimap.py -u "攻擊的URL" --cookie="通過burpsuite看到的cookie" -D dvwa -T users --C user,password --dump

在這裏插入圖片描述
在這裏插入圖片描述
medium

通過抓包可以知道medium是post傳參:
在這裏插入圖片描述
針對post傳參的,我們的方法是,將burpsuite的抓包內容保存到一個TXT文件中。

1.爆出當前數據庫名:

sqlmap.py -r "保存的TXT文件的絕對路徑" -p "注入點" --current-db

在這裏插入圖片描述
在這裏插入圖片描述
然後後面的步驟就和上面的一樣了。

  • 好像post傳參還可以用 --data 參數,不過我沒嘗試過:
    在這裏插入圖片描述

high

由於在high級別下,它的提交頁面和結果返回的頁面不是同一個頁面,所以要使用 二階注入的方法 。

  • 二階注入:二階sql注入–second-order有些時候注入點輸入的數據看返回結果的時候並不是 當前的頁面,而是另外的一個頁面,這時候就需要你指定到哪個頁面獲取響應判斷真假。
    –second-url 後面跟一個返回的頁面的URL地址。
  • –batch:自動默認配置,不用手動按yes or no
  • level:Sqlmap一共有5個探測等級,默認是1。等級越高,說明探測時使用的payload也越多。其中5級的payload最多,會自動破解出cookie、XFF等頭部注入。當然,等級越高,探測的時間也越慢。這個參數會影響測試的注入點,GET和POST的數據都會進行測試,HTTP cookie在level爲2時就會測試,HTTP User-Agent/Referer頭在level爲3時就會測試。在不確定哪個參數爲注入點時,爲了保證準確性,建議設置level爲5(速度也隨之變慢)。

爆出當前數據庫名:

sqlmap.py -r "保存的TXT文件的絕對路徑" --second-url "結果返回頁面的URL" --level=2 --current-db

在這裏插入圖片描述
在這裏插入圖片描述
後續的步驟就按套路走了。

2.2.1.2 SQL Injection(Blind)

方法和上面的一模一樣,沒啥好講的。

2.2.2 Pikachu

數字型注入(post)

和上面一樣,-r -p 就行了
在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述
字符型注入(get)

直接 -u 就行了
在這裏插入圖片描述
在這裏插入圖片描述

搜素型注入

直接 -u
在這裏插入圖片描述
在這裏插入圖片描述
xx型注入
在這裏插入圖片描述
在這裏插入圖片描述
"insert/updata"注入

首先需要註冊和登錄,然後修改信息,這時候進行抓包。因爲沒有看源碼,不確定、性別、手機、住址、郵箱哪一個是注入點,所以保險起見,都輸入一點內容進行傳參:
在這裏插入圖片描述
因爲是post傳參,所以用的-r,但用默認的level=1、改成level=2沒跑出來,所以直接加到最高的level=5;可能是因爲這裏的版本太低了,所以risk最多隻有3:
在這裏插入圖片描述
雖然跑了很久,但還是跑出了結果:
在這裏插入圖片描述

"delete"注入

留言的時候沒啥問題,問題出在刪除的時候。抓包可以看到它是一個GET傳參,所以我們可以使用 -u 和 --cookie。
在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述
"http header"注入

因爲是http header的注入,所以這裏的level設爲了3:
在這裏插入圖片描述
跑得很久啊……從11:30跑到了17:00才跑出來……
(後來問了一下同學,它告訴我指定爲報錯注入會快一些 --technique E)
在這裏插入圖片描述

盲注(base on boolian)

嗯……從早上八點過就開始跑了,根據題目的提示布爾盲注,所以payload指定了 --technique=B。level=1 2 3的時候都沒跑出來,所以直接加到level=5:
在這裏插入圖片描述
然後跑到晚上22:44,而且還失敗了!然後乾脆把 --technique=B去掉:
在這裏插入圖片描述
00:04才跑出結果:
在這裏插入圖片描述
一整天才跑出一道題!!!你們的sqlmap 都是這麼慢的嗎???
在這裏插入圖片描述
盲注(base on time)

在這裏插入圖片描述
在這裏插入圖片描述

寬字節注入

這個在《SQL注入進階之1寬字節注入攻擊(Pikachu漏洞練習平臺)》中講了原理和手工注入的方法,這裏直接用sqlmap跑:

在這裏插入圖片描述
誒?不知道爲啥,沒跑出來?按理說也能出結果的呀?可能是我機子的原因吧,畢竟也沒有人sqlmap慢成我這樣,跑一道題要從早跑到晚,即使是level1也慢到爆……

至於我所有的結果顯示的payload類型都是報錯和時間盲注這個問題,我問了問同學,他告訴我:“sqlmap每跑完一個IP以後,都會在output文件夾下生成一個以該IP爲名的文件夾,裏面是記錄這個IP的注入漏洞,如果不刪除這個文件夾的話,下次再跑的時候sqlmap就不會再去檢測而是直接用文件夾裏的內容。”
這樣說來那應該是跑得更快了纔對呀,爲啥我的還是那麼那麼那麼慢呢?
而且更更關鍵的是,我根本沒有找到這個output文件夾……
在這裏插入圖片描述


難以想象,這篇文章寫了5天,就是因爲跑不動……
是時候捯飭捯飭我的電腦了,太卡了,啥都帶不動。
工欲善其事,必先利其器。升級裝備加個內存條去!哼!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章