网络安全web 信息泄露小概

本文包含web安全以及ctf中出现过的三类信息泄露,讲述使用python脚本进行clone时要注意的点,和readme.md里没出现但可以有的一些进阶一点的操作。




一、svn源码泄露

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

版本控制工具:dvcs-ripper
https://github.com/kost/dvcs-rippeLinuxr

注意Linux下运行.pl文件需要线下载perl

apt-get install perl

切换到工作目录下,perl xxx.pl 就能执行了


  1. 先对目标url进行扫描,确认是 .svn 泄露后,使用 dvcs-ripper 工具中的 rip-svn.pl 脚本进行 clone.
    例如:在这里插入图片描述
    index.html和svn目录就是clone出来的

  2. svn/pristine/
    进入.svn文件夹
    pristine存放的时原始的文件,可能包含备份的文件。
    在这里插入图片描述
    ps:在备份文件里寻找需要的东西一般用:grep 比如:

cat wc.db | grep flag

但可能会出现二进制文件无法输出到终端的情况。
此时;

在这里插入图片描述

cat wc.db | grep -a flag

即可;

svn源码泄露暂时能有的操作就这么多。




二、Git 源码泄露

Index

Git下载地址,有些地址下载的功能比较单一,无法适用后两种情况,用这个就好

https://github.com/BugScanTeam/GitHack

执行命令即可

https://github.com/BugScanTeam/GitHack

log

  1. 一样先是扫描发现 .git 泄露
  2. 使用 GitHack 工具 clone 目标源代码到本地

Git源码泄露不止涉及到当前git版本时需要查看历史记录

  • 查看历史记录
git log
  • 切换版本
git reset
  • 对比两次提交
git diff

git log 会出现先前的几个版本信息,注意要切换到源码泄露文件夹里~,/dist/xxx.
每个版本有对应的id标识,用git diff +id号查看版本差别

Stash

当正在dev分支上开发某个项目,这时项目中出现一个bug,需要紧急修复,但是正在开发的内容只是完成一半,还不想提交,这时可以用git stash命令将修改的内容保存至堆栈区,然后顺利切换到hotfix分支进行bug修复,修复完成后,再次切回到dev分支,从堆栈中恢复刚刚保存的内容。

简单来说,stash 用于保存 git 工作状态到 git 栈,在需要的时候再恢复。

git stash
备份当前工作区的内容,保存到git 栈中,从最近的一次commit中读取相关内容
git stash pop
    从git栈中获取到最近一次stash进去的内容,恢复工作区的内容。。获取之后,会删除栈中对应的stash。

    由于可能会stash多次,git使用栈管理,我们可以使用git stash list查看所有的stash
 git stash clear
    清空git栈



三、网站信息备份文件

这种很少出现了,出现了价值不是很大,因为出现这种错误网站本来就没什么价值:)

  • 网站源码
  • bak文件
  • vim缓存
  • .DS_Store

当开发人员在线上环境中对源代码进行了备份操作,并且将备份文件放在了 web 目录下,就会引起网站源码泄露。

整理了一点

/robots.txt /index.php~ /index.php.bak /www.zip /wwwroot.zip
/htdocs.zip /.rar /.zip /.7z /.tar.gz /.bak /.swp /.txt

bak文件

当开发人员在线上环境中对源代码进行了备份操作,并且将备份文件放在了 web 目录下,就会引起网站源码泄露。

http://url/index.php.bak等

vim缓存(.swp备份文件)

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

尝试URL:xxx/index.php.swp下载.swp文件代码
并使用vim打开,打开命令:vim -r index.php.swp
打开后则发现源码,进行代码审计

.DS_Store

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

用 Python-dsstore 这个工具 (https://github.com/gehaxelt/Python-dsstore) 来完成 .DS_Store 文件的解析:

wget http://xxx.com/.DS_Store -qO samples/.DS_Store.ctfxxx

正常的话文件已经再samples文件夹里,ls-al查看

python main.py samples/.DS_Store.ctfxxx

ps:文件里已经有原始的.DS_Store.ctf,所以取名要另取

end

信息泄露在网站中出现的概率越来越低了,和开发者的安全意识和开发规范提高有很大关系,但作为安全人员,也要警惕它的出现,因为一旦出现,危害就比较大。也需要再堆栈这类更隐蔽的泄露信息中寻找可能的漏洞点。

猜你喜欢

转载自blog.csdn.net/qq_42812036/article/details/104767545