file协议小解——为什么是”file:///path”

2025-04-02 4 0

一、URI标准结构:协议与路径的分界

URI的通用格式遵循 scheme:[//authority][/path]的规则:

  • scheme:协议类型(如httpftpfile)。
  • authority:通常指域名、主机地址或用户认证信息(如user:pass@example.com:8080)。
  • path:资源的具体路径。

示例

  • HTTP协议:http://example.com/path//后接域名)。
  • FTP协议:ftp://user:pass@ftp.example.com/file//后接认证和主机)。

二、file:///的三斜杠逻辑

1. 本地文件的特殊性

对于本地文件系统,file协议的authority(主机部分)通常为空,但为了保持URI格式的完整性,需保留协议后的双斜杠(//)。

  • 问题:若直接写为 file://C:/path,可能被误解析为访问名为 C的网络主机。
  • 解决:通过三斜杠(///)明确表示无主机名,直接指向本地根目录。

三、协议设计的底层逻辑

1. RFC规范要求

根据RFC 8089(File URI规范):

文件URI格式为 file://<host>/<path>,若host为空(指向本地),则需保留双斜杠并直接接路径,即 file:///path

2. 避免歧义

  • 错误写法file://C:/path可能被解析为:
    • 协议:file
    • 主机:C(网络主机名)
    • 路径:/path
  • 正确写法file:///C:/path明确表示本地路径。

常用来读取的文件

windows:
C:\boot.ini   //查看系统版本
C:\Windows\System32\inetsrv\MetaBase.xml    //IIS配置文件
C:\Windows\repair\sam      //存储系统初次安装的密码
C:\Program Files\mysql\my.ini   //Mysql配置
C:\Program Files\mysql\data\mysql\user.MYD   //Mysql root
C:\Windows\php.ini   //php配置信息
C:\Windows\my.ini   //Mysql配置信息
C:\Windows\win.ini   //Windows系统的一个基本系统配置文件

linux:
root/.ssh/authorized_keys如需登录到远程主机,需要到.ssh目录下,新建authorized_keys文件,并将id_rsa.pub内容复制进去
/root/.ssh/id_rsa       //ssh私钥,ssh公钥是id_rsa.pub
/root/.ssh/id_ras.keystore    //记录每个访问计算机用户的公钥
/root/.ssh/known_hosts      //记录每个访问计算机用户的公钥
/etc/passwd
/etc/shadow   //账户密码文件
/etc/my.cnf   //mysql配置文件
/etc/httpd/conf/httpd.conf   //apache配置文件
/root/.bash_history      //用户历史命令记录文件
/root/.mysql_history     //mysql历史命令记录文件
/proc/mounts         //记录系统挂载设备
/porc/config.gz       //内核配置文件
/var/lib/mlocate/mlocate.db   //全文件路径
/porc/self/cmdline        //当前进程的cmdline参数

延伸思考

  • 为什么http://后不需要三斜杠?
    → 因为authority(主机名)不可省略,而file协议的authority可为空。
  • 如何在不同编程语言中安全处理file协议?
    → 推荐使用标准库(如Python的pathlib或Java的Paths)替代直接拼接URI。

4A评测 - 免责申明

本站提供的一切软件、教程和内容信息仅限用于学习和研究目的。

不得将上述内容用于商业或者非法用途,否则一切后果请用户自负。

本站信息来自网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑或手机中彻底删除上述内容。

如果您喜欢该程序,请支持正版,购买注册,得到更好的正版服务。如有侵权请邮件与我们联系处理。敬请谅解!

程序来源网络,不确保不包含木马病毒等危险内容,请在确保安全的情况下或使用虚拟机使用。

侵权违规投诉邮箱:4ablog168#gmail.com(#换成@)

相关文章

二进制分析实战笔记(二)
[Meachines] [Medium] Union UHC+SQLI文件读取+TRP00F+命令注入+sudo权限提升
【APP 逆向百例】淘某热点 APP 逆向分析
HTB-writeup-writeup
HTB-Precious-WriteUp
[Meachines] [Medium] Inception DOM-PDF LFI+davtest+Squid未授权访问+ Apt Pre-Invoke权限提升

发布评论