在線目錄掃描的全面解析

一、目錄掃描的定義

話說目錄掃描,指的是對一個web服務器的目錄結構進行掃描和搜索,從而獲得服務器上的敏感文件、目錄和數據。目錄掃描是一種簡單常用的信息收集技術,通常用於攻擊性的目的,也可用於對自己服務器的漏洞測試和安全狀態檢查。通過目錄掃描,黑客可以了解服務器上所安裝的Web應用、獲得需要的文件資源,或者發現文件上傳漏洞等。

目錄掃描的攻擊步驟一般如下:

1、確定目標的ip地址
2、獲得web應用的指紋
3、搜集網站的目錄名
4、測試目錄的可訪問性 
5、嘗試找到web應用的漏洞
6、攻破應用突破檢查

二、目錄攻擊的類型

1、基於URL掃描的攻擊

這種掃描的原理主要是通過對頁面進行枚舉掃描獲得信息。例如我們對www.baidu.com這樣的主流網站進行url掃描,通常會發現一些隱藏目錄和文件,如果您想要做更深入的滲透測試,您可以仔細探索這些目錄和文件中所包含的內容,從中尋找網站漏洞。

//使用python,如下:
import urllib2
def openurl(xfile):
    global opener
    url = xfile
    status = str(urllib2.urlopen(url, timeout=10).getcode())
    print status+"|"+url

dsize = open("dicc.txt","rb")
baseurl = raw_input('Enter the base URL: ')
urllist = []
while True:
    try:
        x = dsize.next().replace("\n",'')
        x = baseurl+'/'+x
        urllist.append(x)
        if len(urllist) == 30:
            threads = []
            for xfile in urllist:
                t = Thread(target=openurl, args=(xfile,))
                threads.append(t)
                t.start()
            for x in threads:
                x.join()
            urllist = []
    except StopIteration:
        break

2、基於文件名/目錄名掃描的攻擊

對於那些應用負責人經常使用的文件夾或文件名,例如「www」或「admin」,攻擊者可能會嘗試掃描這些常用的目錄。此外,他們還會嘗試使用系統默認的目錄名稱,例如「/usr」和「/etc」。

「弱目錄」通常是指可以由公共工具輕鬆發現的目錄,這些工具可以掃描延伸到互聯網上的數千個網站,以如下形式列出:

/admin/
/bak/
/data/
/datas/
/db/
/include/
/inc/
/install/
/lib/
/log/
/model/
/pay/
/source/
/template/
/tmp/
/upload/
/web/editor/
/admin/adm/
/admin00/
/admincp/
/administ/
/Administrator/
/backup/
/config/
/css/
/data/
/editor/
/file/
/manage/
/manager/
/models/
/news/
/pic/
/plugins/
/public/
/skin/
/static/
/swf/
/User/
/UserCenter/
/UserData/
/yhk/
/a/adminc/
/a/admincp/
/a/manage/
/a/system/
/admin/
/adminlogin/
/cgi-bin/
/data/
/include/
/manage/
/manage1/
/template/
/sys/
/test/
/w3ctech/
/xmlrpc/
/xmlrpc.php/

//使用bash shell,如下:
file=config.txt
url=http://www.baidu.com
while read line
do
    urlfin=$url/$line/
    status=$(curl -I -m 10 -o /dev/null -s -w %{http_code} $urlfin)
    echo $status "-" $urlfin 
done < $file

三、目錄掃描的常用工具

1、dirbuster

Dirbuster是一款Java程序,它對通過強制類型轉換和暴力枚舉兩種方式來檢測和識別用於攻擊的Web服務器中的目錄和文件。Dirbuster已經成為Kali Linux的標配之一。

它支持指紋識別、定製報告、與代理的通信等眾多高級選項。你還可以定義一些黑名單,目錄暴力枚舉時將不訪問這些目錄。

在本機上安裝好Java,然後在命令行輸入java -jar dirbuster.jar,你會看到以下窗口:

2、Wfuzz

Wfuzz也是一款強大的Web應用程序掃描器,它使用Python編寫,可以自定義Payload以及繞過它們的方法。

例如以下命令行代碼將掃描http://www.example.com/URL的頁面,並且使用Payload字典apple.txt中的字典:

wfuzz -w /path/to/payload/dict -u http://www.example.com/%FUZZ --hw 0 –hc 404,403

3、OWASP ZAP(Zed Attack Proxy)

ZAP是另一個來自OWASP的開源項目,是一款用於安全測試的集成式開發工具,它提供自動和手動的漏洞掃描方式。與很多工具不同的是,它還可以與Burp代碼上交叉引用。此外,它還具有易於使用的點-and-click界面。

四、目錄掃描的防禦方法

1、目錄權限的控制

可以使用is_dir()函數進行檢查。當文件夾的訪問控制僅限於知道該文件夾絕對路徑、文件夾名稱和訪問憑據的人員時,可減少目錄掃描攻擊!因此,內部人員可以通過其他方式獲得這些詳細信息。

使用Apache Web服務器的情況下,您可以在配置文件的<Directory>段中設置訪問權限。

2、使用隱藏文件夾來降低風險

嘗試隱藏重要的文件和目錄是一種受保護的安全技術。 將目錄的名稱更改為點(.)開頭的名稱,則可以隱藏它們以使其不可見

3、使用Web防火牆

使用Web防火牆可以阻止未經授權的訪問,如SQL注入、XSS和CSRF等攻擊向量。有幾個重要的工具,如Web Application Firewall ModSecurity和Open Web Application Security Project(OWASP)。

4、保持Web應用程序安全更新

如果服務器上存在可利用目錄掃描漏洞的應用程序,則可以利用該漏洞執行進一步的攻擊。使用漏洞掃描器可以檢測出存在漏洞的應用程序以便及時更新。

附:目錄掃描代碼示例

Python實現(使用 requests 庫)

#!/usr/bin/env python
# coding=utf-8

import requests

ext_names = ['.php', '.asp', '.aspx', '.jsp', '.html', '.zip', '.rar']

def dir_scan(url):
    try:
        for ext_name in ext_names:
            if not url.endswith("/"):
                url += "/"
            vuln_url = url + "xx" + ext_name
            res = requests.get(vuln_url, timeout=10)
            if res.status_code == 200 and "index of /" not in res.content.lower():
                print "[+] Vulnerable dir found:", vuln_url
    except Exception, e:
        print "[-]", e

if __name__ == '__main__':
    url = raw_input("Please input url:")
    dir_scan(url)

Bash實現:

#!/usr/bin/env bash

ext_names=".php .asp .aspx .jsp .html .zip .rar"
read -p "Please input url:" url
for ext_name in $ext_names; do
    if [[ $url != *\/* ]]; then url=$url/; fi
    vuln_url=$url"xx"$ext_name
    if curl $vuln_url --connect-timeout 10 &>/dev/null; then
        if ! curl -I $vuln_url --connect-timeout 10 | grep 'HTTP/1.1 404 Not Found' &>/dev/null; then
            echo "[+] Vulnerable dir found:$vuln_url"
        fi
    fi
done

原創文章,作者:BNKCQ,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/362075.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
BNKCQ的頭像BNKCQ
上一篇 2025-02-25 18:17
下一篇 2025-02-25 18:17

相關推薦

  • Python應用程序的全面指南

    Python是一種功能強大而簡單易學的編程語言,適用於多種應用場景。本篇文章將從多個方面介紹Python如何應用於開發應用程序。 一、Web應用程序 目前,基於Python的Web…

    編程 2025-04-29
  • Rclone複製所有目錄

    如果你需要將本地文件複製到雲端,或者從雲端複製文件到本地,Rclone是一個非常好的選擇。本文將介紹如何使用Rclone複製所有目錄。 一、安裝Rclone 首先,你需要在你的機器…

    編程 2025-04-29
  • Python zscore函數全面解析

    本文將介紹什麼是zscore函數,它在數據分析中的作用以及如何使用Python實現zscore函數,為讀者提供全面的指導。 一、zscore函數的概念 zscore函數是一種用於標…

    編程 2025-04-29
  • 全面解讀數據屬性r/w

    數據屬性r/w是指數據屬性的可讀/可寫性,它在程序設計中扮演着非常重要的角色。下面我們從多個方面對數據屬性r/w進行詳細的闡述。 一、r/w的概念 數據屬性r/w即指數據屬性的可讀…

    編程 2025-04-29
  • Python計算機程序代碼全面介紹

    本文將從多個方面對Python計算機程序代碼進行詳細介紹,包括基礎語法、數據類型、控制語句、函數、模塊及面向對象編程等。 一、基礎語法 Python是一種解釋型、面向對象、動態數據…

    編程 2025-04-29
  • 二級考級舞蹈大全目錄

    本文將從以下多個方面對二級考級舞蹈大全目錄進行詳細闡述。 一、目錄結構 二級考級舞蹈大全目錄主要分為三級,即一級目錄、二級目錄和三級目錄。其中,一級目錄為舞蹈類型,二級目錄為舞蹈名…

    編程 2025-04-29
  • Matlab二值圖像全面解析

    本文將全面介紹Matlab二值圖像的相關知識,包括二值圖像的基本原理、如何對二值圖像進行處理、如何從二值圖像中提取信息等等。通過本文的學習,你將能夠掌握Matlab二值圖像的基本操…

    編程 2025-04-28
  • Python目錄怎麼打開

    Python是一種高級編程語言,以其易讀、易擴展和簡潔高效的特徵,目前得到了眾多程序開發者的認可。Python的應用已經擴展到了人工智能、Web開發、數據分析、自動化測試等領域。本…

    編程 2025-04-28
  • 瘋狂Python講義的全面掌握與實踐

    本文將從多個方面對瘋狂Python講義進行詳細的闡述,幫助讀者全面了解Python編程,掌握瘋狂Python講義的實現方法。 一、Python基礎語法 Python基礎語法是學習P…

    編程 2025-04-28
  • 全面解析Python中的Variable

    Variable是Python中常見的一個概念,是我們在編程中經常用到的一個變量類型。Python是一門強類型語言,即每個變量都有一個對應的類型,不能無限制地進行類型間轉換。在本篇…

    編程 2025-04-28

發表回復

登錄後才能評論