關於SSI注入(server side includes injection 服務器端包含注入)

0x01 什麼是SSI和SSI注入php

     SSI是英文Server Side Includes的縮寫,翻譯成中文就是服務器端包含的意思。從技術角度上說,SSI就是在HTML文件中,能夠經過註釋行調用的命令或指針。SSI具備強大的功能,只要使用一條簡單的SSI 命令就能夠實現整個網站的內容更新,時間和日期的動態顯示,以及執行shell和CGI腳本程序等複雜的功能。SSI 能夠稱得上是那些資金短缺、時間緊張、工做量大的網站開發人員的最佳幫手。本文將主要結合Apache服務器介紹SSI的使用方法。
shell

     ps:(Server-side Includes) 服務器端包含提供了一種對現有HTML文檔增長動態內容的方法。apache和iis均可以經過配置支持SSI,在網頁內容被返回給用戶以前,服務器會執行網頁內容中的SSI標籤。在不少場景中,用戶輸入的內容能夠顯示在頁面中,好比一個存在反射XSS漏洞的頁面,若是輸入的payload不是xss代碼而是ssi的標籤,服務器又開啓了ssi支持的話就會存在SSI漏洞apache

 

0x02 SSI注入的條件安全

    當符合下列條件時,攻擊者能夠在 Web 服務器上運行任意命令:
    A. Web 服務器已支持 SSI(服務器端包含)。
    B. Web 應用程序在返回 HTML 頁面時,嵌入用戶輸入。
    C. 參數值未進行輸入清理。
    例如,若是腳本接收文本輸入,供 Web 服務器稍後處理,下列由 SSI 命令組成的輸入便會侵害服務器的安全:
    <!--#include file=""...""-->(會顯示給定的文件)
    <!--#exec cmd=""...""-->(會執行給定的 shell 命令)
服務器

 

0x03 SSI注入經常使用命令
xss

    https://www.owasp.org/index.php/Server-Side_Includes_(SSI)_Injectionide

 

0x04 SSI漏洞的防禦測試

    默認apache不開啓ssi,ssi這種技術已經比較少用了。若是應用沒有使用到ssi,關閉服務器對ssi的支持便可。網站

 

0x05 SSI注入在線測試this

    hackthissite basic mission 8

    https://www.hackthissite.org/missions/basic/8/

    提示:<--!exec cmd="ls ../"-->

相關文章
相關標籤/搜索