MYSQL注入天書之伺服器(兩層)架構

來源:互聯網
上載者:User

標籤:

Background-6 伺服器(兩層)架構

首先介紹一下29,30,31這三關的基本情況:

伺服器端有兩個部分:第一部分為tomcat為引擎的jsp型伺服器,第二部分為apache為引擎的php伺服器,真正提供web服務的是php伺服器。工作流程為:client訪問伺服器,能直接存取到tomcat伺服器,然後tomcat伺服器再向apache伺服器請求資料。資料返迴路徑則相反。

此處簡單介紹一下相關環境的搭建。環境為ubuntu14.04。此處以我搭建的環境為例,我們需要下載三個東西:tomcat伺服器、jdk、mysql-connector-java.分別安裝,此處要注意jdk安裝後要export環境變數,mysql-connector-java需要將jar檔案複製到jdk的相關目錄中。接下來將tomcat-files.zip解壓到tomcat伺服器webapp/ROOT目錄下,此處需要說明的是需要修改原始碼中正確的路徑和mysql使用者名稱密碼。到這裡我們就可以正常訪問29-32關了。

重點:index.php?id=1&id=2,你猜猜到底是顯示id=1的資料還是顯示id=2的?

Explain:apache(php)解析最後一個參數,即顯示id=2的內容。Tomcat(jsp)解析第一個參數,即顯示id=1的內容。

以片為大多數伺服器對於參數解析的介紹。

此處我們想一個問題:index.jsp?id=1&id=2請求,針對第一張圖中的伺服器配置情況,用戶端請求首先過tomcat,tomcat解析第一個參數,接下來tomcat去請求apache(php)伺服器,apache解析最後一個參數。那最終返回用戶端的應該是哪個參數?

Answer:此處應該是id=2的內容,應為時間上提供服務的是apache(php)伺服器,返回的資料也應該是apache處理的資料。而在我們實際應用中,也是有兩層伺服器的情況,那為什麼要這麼做?是因為我們往往在tomcat伺服器處做資料過濾和處理,功能類似為一個WAF。而正因為解析參數的不同,我們此處可以利用該原理繞過WAF的檢測。該用法就是HPP(HTTP Parameter Pollution),http參數汙染攻擊的一個應用。HPP可對伺服器和用戶端都能夠造成一定的威脅。

MYSQL注入天書之伺服器(兩層)架構

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.