本地 Windows 系统上的快速场景。
E:
使用 NTFS 格式化的驱动器具有以下布局和权限:
E:\ (JohnDoe)
E:\folder (Administrator)
E:\folder\subfolder (JohnDoe)
Run Code Online (Sandbox Code Playgroud)
JohnDoe
具有对根目录的读/写访问权限。JohnDoe
具有读/写访问权限 subfolder
JohnDoe
也不要访问folder
JohnDoe
确实不具备改变权限的能力。由于JohnDoe
无法访问folder
,因此无法列出内容,他必须E:\folder\subfolder
手动输入路径。没有“可点击”的方式从E:\
到subfolder
。
问题是:有没有办法JohnDoe
发现可访问的存在和路径subfolder
,而无法列出其父的内容folder
?假设他没有被告知subfolder
的姓名,并且权限与上述内容相同。
对于这个问题,忽略暴力攻击猜测subfolder
名字的可能性。只允许使用非蛮力方法。
我设法以编程方式为 Windows 10 Pro 创建机器启动 Powershell 脚本并将其放置在本地组策略中(请参阅下面用于创建启动脚本的 powershell 脚本)。
重申一下:我使用的是本地组策略,而我的计算机不在域中。
启动脚本将其执行记录在事件日志中,当我在日志中看到适当的事件时,一切都很顺利。
当我打开本地组策略编辑器 ( gpedit.msc
) 并查看计算机启动脚本时,您可以从屏幕截图中看到,没有注册任何脚本:
脚本本身已正确放置在组策略脚本 ( C:\Windows\System32\GroupPolicy\Machine\Scripts\Startup
)目录中
$path = "$ENV:systemRoot\System32\GroupPolicy\Machine\Scripts\Startup"
if (-not (Test-Path $path)) {
New-Item -path $path -itemType Directory
}
'Write-EventLog -LogName xxx -source Scripts -EntryType Information -EventId 2 -Message "Execute machine startup script: $psCommandPath"' |
Out-File -filePath "$path\AllUsersStartup.ps1" -encoding ascii
# Add script to Group Policy through the Registry
'HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Group Policy\Scripts\Startup\0\0',
'HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Group Policy\State\Machine\Scripts\Startup\0\0' |
ForEach-Object {
if (-not (Test-Path $_)) …
Run Code Online (Sandbox Code Playgroud)