Advertisement

网络安全web 信息泄露小概

阅读量:

本文涵盖web安全及CTF中常见三类信息泄露,并介绍使用Python脚本进行文件复制时需要注意的关键点及一些高级操作方法。




一、svn源码泄露

当开发者执行版本管理时对站点进行自动发布。若设置错误可能导致.svn文件夹被直接发布到线上环境。从而导致SVN出现泄露漏洞。

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

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

复制代码
    apt-get install perl
    
    
    python

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


首先对目标URL执行扫描操作以检测到.svn泄露状态随后调用dvcs-ripped工具中的rip-svn.pl脚本完成克隆操作

在这里插入图片描述

index.html和svn目录就是clone出来的

svn/pristine/ 打开.svn文件夹 prистine存储的是未经修改的原始文件 通常会包含一些备份版本

在这里插入图片描述

ps:在备份文件里寻找需要的东西一般用:grep 比如:

复制代码
    cat wc.db | grep flag
    
    
    python

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

在这里插入图片描述
复制代码
    cat wc.db | grep -a flag
    
    
    python

即可;

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




二、Git 源码泄露

Index

获取Git存储库地址,在处理前三种情况时会遇到一些限制。这些链接仅限于基础功能,并不适合处理后续的两种需求。因此推荐使用该方案

复制代码
    https://github.com/BugScanTeam/GitHack
    
    
    python

执行命令即可

复制代码
    https://github.com/BugScanTeam/GitHack
    
    
    python

log

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

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

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

使用git命令进行日志操作时会显示前几个版本的信息,请确保切换至源码泄露文件夹,并使用git diff +id号查看各个版本之间的差异。每个版本都有一个独特的ID编号。

Stash

在开发一个项目的过程中,在遇到一个紧急需要修复的bug时遇到了困难——目前开发进度仅完成一半(不想立刻将其提交至主版本控制台)。这时可以使用git stash命令将修改的数据保留在暂存区——这使得你能够顺利切换至hotfix版本控制台进行问题修复——而当你修复完毕后再次切换回原版本控制台——就能从暂存区恢复先前保存的数据

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

复制代码
    git stash
    
    
    python
复制代码
    备份当前工作区的内容,保存到git 栈中,从最近的一次commit中读取相关内容
复制代码
    git stash pop
    
    
    python
复制代码
    从git栈中获取到最近一次stash进去的内容,恢复工作区的内容。。获取之后,会删除栈中对应的stash。
    
    由于可能会stash多次,git使用栈管理,我们可以使用git stash list查看所有的stash
复制代码
     git stash clear
    
    
    python
复制代码
    清空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异常退出时,缓存会一直留在服务器上,引起网站源码泄露。
    
    
    python

访问指定的URL地址http://xxx/index.php.swp以获取.swp文件的代码内容。为了实现查看.swp文件内容的目的,执行以下命令:vim -r index.php.swp打开后会揭示该.swp文件的内容,并对其进行审查。

.DS_Store

.DS_Store 表示 Mac OS 中用于保存文件夹自定义属性的一个隐藏文件。利用.DS_Store信息能够查看该目录中的所有文件列表。

通过该工具(https://github.com/gehaxelt/Python-ds-store)来实现.DS_Store文件的解析

复制代码
    wget http://xxx.com/.DS_Store -qO samples/.DS_Store.ctfxxx
    
    
    python

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

复制代码
    python main.py samples/.DS_Store.ctfxxx
    
    
    python

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

end

信息泄露事件在网站中的发生概率有所下降,并与开发者的安全意识及相应的开发规范提升密不可分。然而,在我们这些安全人员看来也需要保持警惕性以防这类事件的发生——一旦出现此类情况危害往往较为严重。此外,在挖掘那些更为隐蔽的信息泄露途径时也需要进一步排查潜在的安全漏洞。

全部评论 (0)

还没有任何评论哟~