信息泄露

敏感信息正则匹配

  • 手机号(蓝色)

    \b(1[3-9][0-9]{9})\b
    
  • API key或token

    \b([A-Za-z0-9_-]{32,64})\b 
    
  • 身份证号

    \b([1-9]\d{5}[1-9]\d{3}(0[1-9]|1[0-2])(0[1-9]|[1-2]\d|3[0-1])\d{3}[\dXx])\b
    
  • 银行卡号

    \b([1-9]\d{15,18})\b
    
  • ip地址

    \b(?:[0-9]{1,3}.){3}[0-9]{1,3}\b|(?:(?:(?:[0-9A-Fa-f]{1,4}:){7}[0-9A-Fa-f]{1,4})|(?:(?:[0-9A-Fa-f]{1,4}:){6}:[0-9A-Fa-f]{1,4})|(?:(?:[0-9A-Fa-f]{1,4}:){5}(?::[0-9A-Fa-f]{1,4}){1,2})|(?:(?:[0-9A-Fa-f]{1,4}:){4}(?::[0-9A-Fa-f]{1,4}){1,3})|(?:(?:[0-9A-Fa-f]{1,4}:){3}(?::[0-9A-Fa-f]{1,4}){1,4})|(?:(?:[0-9A-Fa-f]{1,4}:){2}(?::[0-9A-Fa-f]{1,4}){1,5})|(?:(?:[0-9A-Fa-f]{1,4}:){1}(?::[0-9A-Fa-f]{1,4}){1,6})|(?::(?::[0-9A-Fa-f]{1,4}){1,7})|(?:[Ff]{4}(?::0{1,4}){0,2}))\b
    
  • 邮箱

    (([a-zA-Z0-9][_|\.])*[a-zA-Z0-9]+@([a-zA-Z0-9][-|_|\.])*[a-zA-Z0-9]+\.((?!js|css|jpg|jpeg|png|ico)[a-zA-Z]{2,}))
    
  • 秘钥

    key|pass|password|^[a-zA-Z0-9]{8,16}$|^(?=.*[!@#$%^&*()_+])[a-zA-Z0-9!@#$%^&*()_+]{8,16}$|^\d{8}[A-Z]{4}$|/^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i|^KEY-.+$
    
  • 证书


目录遍历

phpinfo

PHPInfo信息泄漏漏洞利用提权及防范 - 腾讯云开发者社区-腾讯云 (tencent.com)

备份文件下载

网站源码

web.tar
web.tar.gz
web.zip
web.rar

website.tar
website.tar.gz
website.zip
website.rar

backup.tar
backup.tar.gz
backup.zip
backup.rar

back.tar
back.tar.gz
back.zip
back.rar

www.tar
www.tar.gz
www.zip
www.rar

wwwroot.tar
wwwroot.tar.gz
wwwroot.zip
wwwroot.rar

temp.tar
temp.tar.gz
temp.zip
temp.rar

bak文件下载

web目录下文件后缀名为.bak的文件

vim缓存

当开发人员在线上环境中使用 vim 编辑器,在使用过程中会留下 vim 编辑器缓存,当vim异常退出时,缓存会一直留在服务器上,引起网站源码泄露。

文件名格式为.(文件名).swp

.DS_Store

.DS_Store 是 Mac OS 保存文件夹的自定义属性的隐藏文件。通过.DS_Store可以知道这个目录里面所有文件的清单。

git泄露

git log

.git文件夹可能会泄露,如果.git/config中有任何秘密,这些秘密可能会泄露。虽然命令历史不会直接泄露,但通过仔细分析.git文件夹的内容,可能就可以推断出命令历史,至少是一些git命令。此外,如果.git文件夹的内容可访问(即使.git/本身不可访问),则可以通过手动浏览.git文件夹来确认漏洞。

使用BugScanTeam的githack:

https://gitcode.net/mirrors/BugScanTeam/GitHack?utm_source=csdn_github_accelerator

运行:

python2 GitHack.py http://challenge-de6fc7451354772d.sandbox.ctfhub.com:10800/.git/

然后会生成一个dist目录,进入这个目录下的challenge-de6fc7451354772d.sandbox.ctfhub.com:10800目录下

使用git log查看commit记录,找到对应的记录和其哈希值,并借助该哈希值回滚:

 git reset --hard 72c9234a18b80bbc8e15d4076b8cabf18938e4db

然后查看恢复的文件

git stash

当前大量开发人员使用git进行版本控制,对站点自动部署。如果配置不当,可能会将.git文件夹直接部署到线上环境。这就引起了git泄露漏洞。

先获取git目录:

python2 GitHack.py http://challenge-de6fc7451354772d.sandbox.ctfhub.com:10800/.git/

然后查看stash存储:

git stash list

恢复之前缓存的工作目录:

git stash pop

然后查看恢复的文件

index

其实就是直接把信息泄露在web目录下了

通过:

python2 GitHack.py http://challenge-de6fc7451354772d.sandbox.ctfhub.com:10800/.git/

直接就可以找到敏感的信息

SVN泄露

SVN泄露是指由于管理员操作不规范,将SVN隐藏文件夹暴露在外网环境,导致服务器源码等信息被获取的漏洞。

SVN(subversion)是源代码版本管理软件,它会在每个项目文件夹下生成一个名为.svn的隐藏文件夹,其中包含重要的源代码信息。根据SVN的版本不同,可以利用不同的方法获取服务器源码。例如,对于SVN<1.6的版本,可以利用.svn/text-base/文件名.svn-base的文件备份;对于SVN>1.6的版本,可以利用wc.db文件中存储的hash值。有一些工具可以帮助利用这个漏洞,如dvcs-ripper4

假设有一个网站使用SVN管理源代码,并且没有删除或隐藏.svn文件夹,那么我们可以通过访问http://example.com/.svn/entrieshttp://example.com/.svn/wc.db来获取服务器的源码信息。如果我们使用dvcs-ripper工具,就可以更方便地下载整个项目的源码

下载dvcs-ripper:mirrors / kost / dvcs-ripper · GitCode

环境:

apt install perl libio-socket-ssl-perl libdbd-sqlite3-perl libclass-dbi-perl libio-all-lwp-perl
apt install subversion

然后运行以下命令,需要指定url:

rip-svn.pl -v -u http://www.example.com/.svn/

然后进入当前目录下的.svn目录下,在里面找敏感信息即可

hg泄露

当开发人员使用 Mercurial 进行版本控制,对站点自动部署。如果配置不当,可能会将.hg 文件夹直接部署到线上环境。这就引起了 hg 泄露漏洞。

同样使用dvcs-ripper这个工具,这个工具除了利用svn和hg漏洞,还可以利用cvs、git等等

然后找到的敏感信息会存在.hg目录下