初級安全入門—— WEBshell與文件上傳漏洞

概念介紹

  • WebShell網頁木馬文件
    • 最多見利用文件上傳漏洞的方法就是上傳網站木馬(WebShell)文件,根據開發語言的不一樣又分爲ASP木馬、PHP木馬、JSP木馬等,該木馬利用了腳本語言中的系統命令執行、文件讀寫等函數的功能,一旦上傳到服務器被腳本引擎解析,攻擊者就能夠實現對服務器的控制。
    • 一句話木馬(小馬):功能簡單,須要配合客戶端使用,隱蔽性強,容易經過變形隱藏特徵,繞過過濾
      php

    • 大馬:功能完善,直接使用瀏覽器便可利用,隱蔽性相對較弱,一般須要經過加密等方式來隱藏特徵shell

實驗場景一:文件上傳

  • 檢測文件MIME類型的文件上傳傳漏洞利用瀏覽器

    經過把木馬eval.php拓展名改爲jpg,再經過代理抓包,將拓展名改回php
    安全

    實現繞過MIME類型檢測
    服務器

  • 服務端黑名單檢測文件擴展名的文件上傳漏洞利用jsp

    把木馬eval.php拓展名改爲jpg,再經過代理抓包,send到BurpSuitde的repeat模塊
    函數

    嘗試各類拓展名修改繞過黑名單如(拓展名改成Php,PHP,php5,php6等等)
    網站

    發現Php能夠繞過檢驗
    ui

    猜想推斷或者利用其餘功能找出木馬在服務器的路徑
    加密

    找到路徑後,能夠直接配合CKnife使用來控制整個服務器


文件上傳漏洞防禦

  • 黑名單檢測:通常有個專門的blacklist文件,裏面包含各類常見的危險腳本文件的拓展名,如:php,asp,jsp。該方式過濾的完整度受限於blacklist內容,不夠安全
  • 白名單檢測:只容許系統接受的文件類型經過,如只能上傳png,jpg,zip,rar等。該方式相對安全。

總結

經過實驗能夠看出,木馬的直接利用難度很高,通常經過文件上傳,攻擊者很難猜出木馬在服務器的路徑。木馬的利用,大都是攻擊者經過其餘方式獲取了shell權限,爲了下次控制服務器的方便,在服務器上留下的後門(正如木馬自己的含義)。

相關文章
相關標籤/搜索