CTFHUB-web篇---信息泄露
CTF-web篇之信息泄露
⼀、信息泄露
php项目搭建1、⽬录遍历
(1)CTF题⽬:
(2)⽬录遍历泄露:
⽬录遍历(路径遍历)是由于web服务器或者web应⽤程序对⽤户输⼊的⽂件名称的安全性验证不⾜⽽导致的⼀种安全漏洞,使得攻击者通过利⽤⼀些特殊字符就可以绕过服务器的安全限制,访问任意的⽂件(可以使web根⽬录以外的⽂件),甚⾄执⾏系统命令。
2、PHPINFO
(1)PHP info()函数
PHP中提供了PHPInfo()函数,该函数返回 PHP 的所有信息,包括了 PHP 的编译选项及扩充配置、PH
P 版本、服务器信息及环境变量、PHP 环境变量、操作系统版本信息、路径及环境变量配置、HTTP 标头、及版权宣告等信息
(2)PHP info()信息泄露:
该函数主要⽤于⽹站建设过程中测试搭建的PHP环境是否正确,很多⽹站在测试完毕后并没有及时删除,因此当访问这些测试页⾯时,会输出服务器的关键信息,这些信息的泄露将导致服务器被渗透的风险。
3、备份⽂件下载
(1)⽹站源码
使⽤dirsearch进⾏扫描,命令如下
python dirsearch.py -u fhub:10080/ -e *
到⽬标路径(200)
访问地址,下载⽹站源代码
打开发现名为,查看内容,没有发现flag,
测试直接⽹页访问⽂件名,到flag
(2)bak⽂件
当开发⼈员在线上环境中对源代码进⾏了备份操作,并且将备份⽂件放在了 web ⽬录下,就会引起⽹站源码泄露。
flag应该在index.php的备份⽂件⾥⾯,于是访问/index.php.bak,下载⽂件得到flag。
(3)vim缓存
在使⽤vim时会创建临时缓存⽂件,关闭vim时缓存⽂件则会被删除,当vim异常退出后,因为未处理缓存⽂件,导致可以通过缓存⽂件恢复原始⽂件内容。
以 index.php 为例
第⼀次产⽣的交换⽂件名为 index.php.swp
再次意外退出后,将会产⽣名为 .index.php.swo 的交换⽂件
第三次产⽣的交换⽂件则为 .index.php.swn
直接curl www. /index.php.swp
(4).DS_Store
.DS_Store(英⽂全称 Desktop Services Store)是⼀种由苹果公司的Mac OS X操作系统所创造的隐藏⽂件,⽬的在于存储⽬录的⾃定义属性,例如⽂件的图标位置或者是背景⾊的选择。相当于 Windows 下的 desktop.ini。
.DS_Store 是 Mac OS 保存⽂件夹的⾃定义属性的隐藏⽂件。通过.DS_Store可以知道这个⽬录⾥⾯所有⽂件的清单。
直接访问/.DS_Store,发现下载了⼀个⽂件DS_Store
打开后发现乱码中藏着⼀个⽂件名,,
直接访问这个⽂件,得到flag
4、Git泄露
当前⼤量开发⼈员使⽤git进⾏版本控制,对站点⾃动部署。如果配置不当,可能会将.git⽂件夹直接部署到线上环境。这就引起了git泄露漏洞。
常规解题步骤:
①打开虚拟机
②cd GitHack
③python GitHack.py [utrl].git
④cd dist/[utrl]
⑤git log查看提交记录
或git stash list 查看通过git stash存储的修改列表
⑥gif diff 查看详细变更
或者git stash pop 恢复之前缓存的⼯作⽬录
(1)Log
⽤git log查看提交记录
利⽤git diff [版本号]
(2)Stash
git stash 的作⽤
git stash⽤于想要保存当前的修改,但是想回到之前最后⼀次提交的⼲净的⼯作仓库时进⾏的操作.git stash将本地的修改保存起来,并且将当前代码切换到HEAD提交上.
git stash 的命令
通过git stash存储的修改列表,可以通过git stash list查看.
git stash show⽤于校验,
git stash [save message]
保存,save为可选项,message为本次保存的注释
git stash list
所有保存的记录列表
git stash pop stash@{num}
恢复,num是可选项,通过git stash list可查看具体值。只能恢复⼀次
git stash apply stash@{num}
恢复,num是可选项,通过git stash list可查看具体值。可回复多次
git stash drop stash@{num}
删除某个保存,num是可选项,通过git stash list可查看具体值
git stash clear
删除所有保存
最新的存储保存在refs/stash中.⽼的存储可以通过相关的参数获得,例如stash@{0}获取最新的存储,stash@{1}获取1次
新.stash@{2.hour.ago}获取两⼩时之前的.存储可以直接通过索引的位置来获得stash@{n}.
(3)Index
Git Index是⼯作⽬录和仓库的⼀个临时区域,或者称之为暂存区域。
5、SVN泄露
当开发⼈员使⽤ SVN 进⾏版本控制,对站点⾃动部署。如果配置不当,可能会将.svn⽂件夹直接部署到线上环境。这就引起了 SVN 泄露漏洞。
SVN是subversion的缩写,是⼀个开放源代码的版本控制系统,通过采⽤分⽀管理系统的⾼效管理,简⽽⾔之就是⽤于多个⼈共同开发同⼀个项⽬,实现共享资源,实现最终集中式的管理。
下载dvcs-ripper
git clone github/kost/dvcs-ripper
使⽤以svn为例,其他类似
perl rip-svn.pl -v -u ample/.svn/
** .svn是隐藏⽂件,在linux下必须ls -al才能看到。
6、HG泄露
当开发⼈员使⽤ Mercurial 进⾏版本控制,对站点⾃动部署。如果配置不当,可能会将.hg ⽂件夹直接部署到线上环境。这就引起了 hg 泄露漏洞。
.
/rip-hg.pl -v -u ample:10080/.hg/

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。