物理路径探测

目录

  • 物理路径
    • 报错
    • 后台
    • 功能点
    • 搜索引擎
    • 容器特性
    • 文件泄露
    • 瞎蒙大法

物理路径

报错

【报错获得】
在处理报错信息的问题上如果处理不当,就可导致路径信息泄露,比如访问一些不存在的文件等思路。
这里的报错方法就很多了,说不完的,具体还要根据实际情况操作。下面说几种实用的↓

  • 1.有动态URL的地方可以替换参数 替换参数值为不存在的,很多时候都能爆物理路径
  • 2.访问不存在的文件名 文件 或者改正常后缀为不支持的后缀。
    IIS7.0以上,如果没有修改404页面,只要浏览web任意不存在的文件,都会直接暴出绝对路径。同理,thinkphp也有这个性质。
    在id=1的注入点,使用各种不支持的字符,比如id=1’ id=? id=-1 id=\ id=/ 都有可能暴出绝对路径。
    还有的时候传一些错误图片会报错
    windows不支持的符号,?:<>之类的,还有windows不支持的文件名aux
    Windows服务器上传aux文件或者新建aux文件夹,因为不允许这种文件存在而报错泄露绝对路径。
  • 3.尤其是php框架写的站,上传很容易爆出物理路径,根据具体情况了,比如一次提交允许的后缀,整体提交时抓包改为不支持的后缀,放包,很多时候都能爆出物理路径。
    有一部分都是sql语句报错,sql很多时候会爆物理路径,所以相信你已经会拓展了。

后台

【后台获得】
可以登录后台的话,后台首页一般都有服务器信息的,大部分情况下物理路径都在里面。

功能点

上传图片处
第一点:
在上传图片处,这里我说下最可能存在问题的点,就是关于上传相关证明,进行实名制上传信息等功能页面,在上传图片时进行抓包,然后查看返回包,那么就可看到当前服务器的绝对路径信息。

搜索引擎

【搜索引擎探测】
结合关键字和site语法搜索出错页面的网页快照,常见关键字有warning和fatal error。注意,如果目标站点是二级域名,site接的是其对应的顶级域名,这样得到的信息要多得多。
Site:xxx.edu.tw warning
Site:xxx.com.tw “fatal error”
由于很多网站本身容错做的不好,会有一些暴露物理路径的界面,如果被搜索引擎收录了,那么可以通过搜索引擎来找到
在搜索引擎搜索 site:目标 关键字
我总结了一下常见的报错关键词↓
warning
error
module file
not exist
数据库
配置出错
找不到包含文件
包含路径
路径为
select
Warning:
mysqli_query()
expects parameter
to be mysqli
boolean given in on line
directory in
Fatal error
require_once()
Failed opening required
include_path=

容器特性

【容器特性爆物理路径】
很多,如:Apache Tomcat、Struts2、CMS、zabix、Nginx等等,例如Nginx的某版本解析漏洞,就可造成路径信息泄露。

  • IIS大于6的版本,基本都是 导致他404就可以爆出物理路径、IIS名、IIS版本。这个很简单,随便访问个不存在的目录或文件就可以。
  • nginx文件类型错误解析爆路径:
    说明:
    要求Web服务器是nginx,且存在文件类型解析漏洞。有时在图片地址后加/x.php,该图片不但会被当作php文件执行,有可能爆出物理路径
    www.xxx.com/xx.jpg/x.php
  • /etc/httpd/conf/httpd.conf
    这是apache默认目录
    最底下有一句
    Load config files in the “/etc/httpd/conf.d” directory, if any.
    IncludeOptional conf.d/.conf
    这代表,在/etc/httpd/conf.d目录下的所有.conf文件都会被加载,也就是说管理员可以在/etc/httpd/conf.d/
    .conf里面写网站目录。
    所以最后读/etc/httpd/conf.d/vhost.conf成功读出网站绝对路径
    思路就是先读/etc/httpd/conf/httpd.conf
    没有网站目录就看IncludeOptional conf.d/*.conf
    看完就尝试读
    /etc/httpd/conf.d/httpd.conf
    /etc/httpd/conf.d/vhost.conf
    /etc/httpd/conf.d/httpd-vhost.conf
    /etc/httpd/conf.d/httpd.conf.bak
    等等

文件泄露

【遗留文件 探针文件】
通过遗留文件获得,比如 phpinfo.php info.php site.php 1.php a.php 一些探针文件啊都有,等等。在遗留文件中搜索 SCRIPT_FILENAME。
很多网站的根目录下都存在测试文件,脚本代码通常都是phpinfo(),
www.xxx.com/test.php
www.xxx.com/ceshi.php
www.xxx.com/info.php
www.xxx.com/phpinfo.php
www.xxx.com/php_info.php
www.xxx.com/1.php

phpmyadmin爆路径
一旦找到phpmyadmin的管理页面,再访问该目录下的某些特定文件,就很有可能爆出物理路径。
至于phpmyadmin的地址可以用wwwscan这类的工具去扫,也可以选择google。
/phpmyadmin/libraries/lect_lang.lib.php
/phpMyAdmin/index.php?lang[]=1
/phpMyAdmin/phpinfo.php
load_file()
/phpmyadmin/themes/darkblue_orange/layout.inc.php
/phpmyadmin/libraries/select_lang.lib.php
/phpmyadmin/libraries/lect_lang.lib.php
/phpmyadmin/libraries/mcrypt.lib.php

XML处
第一点:
一些XML限制或删除不完全,可导致服务器等信息泄露。

【配置文件找路径】

  • 如果注入点有文件读取权限,就可以手工load_file或工具读取配置文件,再从中寻找路径信息(一般在文件末尾)。
    各平台下Web服务器和PHP的配置文件默认路径可以上网查,这里列举常见的几个。
    Windows:
    c:\windows\php.ini php配置文件
    c:\windows\system32\inetsrv\MetaBase.xml IIS虚拟主机配置文件
  • 如果有root读取文件的权限,或者任意文件读取漏洞,可以读取容器的配置文件,或者集成环境的固定web目录,判断集成环境,可以通过mysql的根目录判断,前面注入时说到的@@datadir:
    常见配置文件:
    C:\Windows\system32\inetsrv\metabase.xml
    C:\Windows\System32\inetsrv\config\applicationHost.config
    C:\xampp\apache\conf\httpd.conf
    /var/www/conf/httpd.conf
    常见集成环境默认目录,后面往往还有以域名命名的目录,比如:
    C:\www\baidu
    C:\Inetpub\wwwroot
    C:\xampp\htdocs
    D: \phpStudy\WWW
    /home/wwwroot/
    /www/users/

瞎蒙大法

Linux:
其实linux还可以用瞎蒙大法
/var/www/html/网站名
/etc/php.ini php配置文件
/etc/httpd/conf.d/php.conf
/etc/httpd/conf/httpd.conf Apache配置文件
/usr/local/apache/conf/httpd.conf
/usr/local/apache2/conf/httpd.conf
/usr/local/apache/conf/extra/httpd-vhosts.conf 虚拟目录配置文件

你可能感兴趣的:(#,收集信息)