windows檔案命名特性利用漏洞

2022-07-30 12:30:17 字數 1878 閱讀 3487

windows檔案命名特性利用

0x00

windows不能以以下這些名字命名檔案或資料夾: aux、com1、com2、prn、con、nul,因為這些名稱都屬於裝置名稱,等價於dos裝置,但我們可以通過cmd來建立這樣的檔案

>md com2\

>md \\.\d:\com1\\

>copy test.txt \\.\d:\com1.txt

#注意資料夾名例如aux.txt也是不行的,如果通過cmd命令建立了這樣的資料夾,它同樣具備dos裝置屬性,另外

正常在gui介面是不能刪除上面建立的檔案,可以通過如下的命令刪除

rmdir /s \\.\d:\com1.txt/s表示刪除目錄樹,即包括子資料夾和檔案

del \\.\d:\aux.txt

rmdir .\aux\#這個我是直接在aux資料夾的父目錄上操作的命令

rmdir f:\com1\#可以加\\.\ 也可以不加,兩者區別我不清楚在哪,這個被稱為unc 路徑格式,就是網路上的芳鄰的路徑格式,比如d:/temp的unc 路徑為//./d:/temp

0x01

接下來這個說是windows命名漏洞,但沒找到詳細的說明

簡單來說就是資料夾名字後面有個.

直接通過gui操作是不能建立這樣的資料夾的,windows會預設去掉後面的.

可以通過如下方式建立

>md test..\#這裡是兩個. 顯示上也會是直接的test..,我並不明白這是怎麼回事,可能是win10改了特性吧,而且它並不會不能開啟

根據測試,建立的test..這個資料夾不可直接刪除,如果將別的檔案移入此資料夾中,系統將會自動生成test資料夾(空),並且test..資料夾裡的東西不可見了,這時若刪除test資料夾,tset..資料夾中內容便可見了,沒有刪除時,test資料夾裡有什麼,test..資料夾裡同樣會顯示,但打不開,會提示不存在。

還乙個有趣的發現是test資料夾的屬性中占用空間大小是多少test..資料夾的也會是多少

同時如果手動建立乙個test資料夾,效用和上面是一樣的,這樣的話如果本身就存在乙個資料夾,而我們建立乙個同樣名字加..的資料夾,那麼也會實現上面的特性

不過其也可以通過cmd刪除:刪除命令>rmdir /s test..\

0x02

名字為空的資料夾

>md "\test\ \"#注意\ \之間有乙個空格,這個命令會在當前目錄的根目錄下建立乙個test資料夾,並且裡面含有乙個空白資料夾,這個test資料夾也是不可直接刪除

刪除命令rd "d:\test\ \"#這會刪除test目錄下的空白資料夾,如果空白資料夾裡已經有了檔案需要加/s引數,另外test資料夾裡的其它所有內容也會在空白資料夾中顯示。

0x03

更改檔名,在檔名後加上.,可是我在我的win10上面試了並沒有用,可能也更新修復了吧

0x04

對於. 或者空格 結尾的檔案,windows會自動去除.和空格,兩者相互結合也是一樣

test.txt....  ->	test.txt

test.txt -> test.txt #這裡前面的字尾後面有乙個空格

test.txt.. -> test.txt

本來應該還有其它的特殊命名,但windows命名規則改了不允許出現:符號,所以其它的也就沒有用了,這些可以用來躲避上傳黑名單限制

我自己測試時和網上很多其它文章描述並不一樣,windows改了挺多特性,具體詳細情況需要各位自己親自試驗,利用得當的話 這些對於用來上傳webshell是挺好的

利用php實現檔案遷移重新命名

首先表明,這是乙個悲傷的故事。暑假來臨,學校安排我們到某軟體外包公司實習,想想不用面試也是蠻方便的,可以藉此機會向大牛學習學習,雖然沒有工資 據說學校還交了600塊的保險 但想想還是蠻期待的,但真正到公司就懵逼了 技術人員都不在好不好!職位都安排好了,什麼人力資源,經營管理,還有財務管理之類,做培訓...

利用xshell從windows上傳檔案到虛擬機器

我是怎麼操作的 1 開啟一台本地linux虛擬機器,使用mount 掛載windows的共享資料夾到linux上,然後拷貝資料到linux虛擬機器裡面 經常第一步都不順利,無法掛載windows的資料夾 2 在本地linux虛擬機器使用rsync同步拷貝的資料到遠端linux主機上,需要雙方都要安裝...

windows系統檔案批量重新命名

bat指令碼 echo off echo 檔案批量重新命名 echo.echo.set p filename 請輸入要命名的檔名字首 if filename set filename ni set p suffix 請輸入檔案型別 例如 txt mp4 if suffix echo.檔案型別不能為空...