CTFHub Web Web前置技能+信息泄露

目录

一、Web前置技能

1.HTTP协议

请求方式

 302跳转

 Cookie

 基础认证

 响应包源代码

 二、信息泄露

1.目录遍历

 2.PHPINFO

 3.备份文件下载

网站源码

 bak文件

 vim缓存

 .DS_Store

 4.Git泄露

Log

 Stash

 Index

5.SVN泄露

 6.HG泄露


一、Web前置技能

1.HTTP协议

  • 请求方式

在开启题目后看到出现的链接,提示我们现在所使用的HTTP请求方式为GET方式,需要将请求方式修改为CYF**B来获取flag

 我们刷新这个提示页面进行抓包,得到请求方式确实为GET

 将数据包发送到Repeater,将GET修改为CTFHUB,点击“发送”,会看到响应包中出现了我们需要的flag,复制该值

粘贴至框内提交,获取flag成功

 

  •  302跳转

在给出的页面内有一个“Give me flag”的链接,我们点击后发现网址由原来的http://challenge-6bf983453b72a074.sandbox.ctfhub.com:10800

变为了http://challenge-6bf983453b72a074.sandbox.ctfhub.com:10800/index.html,对新页面进行抓包,发送给Repeater后发送数据包,得到flag

  •  Cookie

点击链接得到提示,现在登录用户为guest,只有admin才可以获取flag,

 刷新此页面进行抓包,看到此时的Cookie中admin值为0,也就是guest,那么我们可以将0修改为1,来进行admin的登录

 修改Cookie中admin的值为1,发送数据包即可得到flag

  •  基础认证

下载所给的附件,发现是一个password字典

 进入链接网页后点击“click”,出现一个登录框,需要输入用户名和密码

 随意输入后点击登录进行抓包,发现有一个base64编码Basic YWE6YWE=,我们将其进行解密,发现为aa:aa,也就是我们输入的用户名:密码,在发送给Repeater后响应中显示“Do u know admin ?”,而题目也只给出了password的字典,因此我们猜测用户名为admin

 将base64编码的语句添加变量

 导入密码字典

 添加前缀为admin:,即我们猜测的用户名,添加编码为base64编码,将有效荷载编码中的URL编码字符取消

 开始攻击后找到长度不同的一项即为正确密码,查看改密码响应,即可成功得到flag

  •  响应包源代码

直接F12查看网页源代码就可以看到flag

 二、信息泄露

1.目录遍历

共有四个目录:1,2,3,4,每个目录中又有四个目录,因此共有16个目录需要遍历,我们在1/3中找到了flag文件

 打开文件即可看到flag

 2.PHPINFO

进入后可以看到phpinfo()函数中的内容,通过F3搜索关键字找到flag的值

 3.备份文件下载

  • 网站源码

查看提示,应该查找常见的网站源码的备份文件名或后缀,我们使用dirsearch工具来查找所需文件,输入命令

python dirsearch.py -u http://challenge-386c567a8c9e211f.sandbox.ctfhub.com:10800/ -e *

查找完毕后发现有文件为www.zip

 输入改网址后自动开始下载改文件

 但我们打开falg.txt文件时发现flag并不在文件中

 于是我们继续将该文件名输入网址中访问

 可以成功得到该页面中的falg

  •  bak文件

bak文件是备份文件,一般在原有的扩展名后添加.bak,提示说flag在index.php源码中,但我们直接在网址后添加php文件名查找时发现并未找到该文件

 那么我们可以在原有文件扩展名后加入.bak来查找该文件的备份文件

 输入网址后自动下载一个.bak文件,打开后即可成功找到flag

  •  vim缓存

当正常关闭vim时,缓存文件会被删除,但当vim异常退出时,缓存文件是未被删除的,我们就可以通过恢复未被处理缓存文件来获取原始文件的内容。第一次非正常退出vim时会生成一个swp文件,第二次非正常退出会生成一个swo文件,第三次非正常退出会生成一个swn文件。因此我们可以通过访问.index.php.swp来得到缓存文件

 

 使用vim -r index.php.swp命令来恢复原文件

 执行后就可以成功得到flag

  •  .DS_Store

继续直接在网址后添加.DS_Store得到文件

 

 使用cat DS_Store命令来查看文件,发现了一个txt文件

 把这个文件复制下来添加到地址后

 成功得到flag

 4.Git泄露

  • Log

首先需要保证是在python2以及安装git的环境中,在GitHack文件夹中打开终端,使用命令来克隆目录,完成后会在GitHack文件夹中出现一个dist文件夹

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

在dist文件夹中打开终端,使用git log命令,可以发现是存在add flag记录的

 在challenge文件夹下打开终端,输入reset命令,发现文件夹中新出现一个txt文件

git reset --hard <添加flag时的版本号信息字符串>

 打开txt文件。发现成功获取到flag

  •  Stash

依旧是使用python命令来克隆目录

 在challenge文件夹中打开终端,依旧输入git log命令,发现仍有添加flag操作,但这次的txt文件中并不是flag

 使用git stash list查看当前stash中的内容,然后git stash apply将堆栈中内容应用到当前目录,但发现在前面的操作中我们已经使用reset命令生成过一个txt文件,因此我们使用cat命令来查看文件内容,成功得到flag

  •  Index

依旧克隆目录

 cat命令直接查看文件找到flag

5.SVN泄露

需要用到dvcs-ripper这个工具,使用git clone https://github.com/kost/dvcs-ripper命令来下载,完成后在dvcs-ripper文件中打开终端,输入命令

./rip-svn.pl -v -u http://challenge-084bf021f218ef47.sandbox.ctfhub.com:10800/.svn/

 使用ls -al命令或直接在dvcs-ripper中Ctri+H来查看所有文件,发现有隐藏文件.svn,进入pristine文件中,会发现生成了两个名为24和bf的文件夹,查看后发现24内的.svn-base文件内为flag

 6.HG泄露

依旧使用dvcs-ripper来下载该hg文件

 发现有隐藏文件.hg,进入后发现一个last-message.txt文件

 该文件内容为add flag,我们使用grep命令来匹配flag,找到了一个txt文件

 在浏览器中找到该文件,成功发现了flag

  • 3
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值