CTFHub技能树-web篇

web篇

web前置技能

http协议

1. 请求方式

CTFHub技能树-web篇_第1张图片
HTTP方法是GET,使用CTFHUB方法,我会给你flag
使用burpsuite抓包,修改请求方式GET为CTFHUB

还没学会burpsuite等待下次努力
今日学习bp抓包,下载bp,然后将浏览器代理设置成127.0.0.1:8080,同时打开bp,刷新题目可看到bp里面已经抓到题目了,将其send to repeater
CTFHub技能树-web篇_第2张图片
然后在repeater里面,修改GET为CTFHUB,点击send,即可看到flag
CTFHub技能树-web篇_第3张图片

2. 302重向

CTFHub技能树-web篇_第4张图片
点击链接是指向.php文件,但是打开的是.html文件,使用kali命令行
curl -i url/index.php直接访问.php文件即可
CTFHub技能树-web篇_第5张图片

3. cookie

使用bp抓包,查看cookie,admin的值为0,修改为1,再forward即可
在这里插入图片描述
CTFHub技能树-web篇_第6张图片
在这里插入图片描述

4. 基础认证

点开题目会显示有一个附件,打开是各种密码,然后题目里写了是需要验证admin的密码,随便输入密码尝试抓包可看到认证信息
CTFHub技能树-web篇_第7张图片
base64解码之后发现是自己填写的密码,于是使用Intruder模块使用他给的字典进行爆破,要记得把认证区域作为positions添加前缀admin:,和base64加密的规则
CTFHub技能树-web篇_第8张图片
CTFHub技能树-web篇_第9张图片

CTFHub技能树-web篇_第10张图片
CTFHub技能树-web篇_第11张图片
输入登录即看到flag

5. 响应包源代码

http响应包源代码查看即可得到flag

信息泄露

1.目录遍历

CTFHub技能树-web篇_第12张图片
遍历每一个文件夹,可看到一个flag.txt

2.PHPINFO

在这里插入图片描述
直接搜索flag即可

3.备份文件下载

3-1网站源码

CTFHub技能树-web篇_第13张图片
尝试各种组合,在www.zip写在url后面时成功下载压缩文件,解压之后
在这里插入图片描述
将flag_34186725719文件名写在url的后面即出flag

3-2 bak文件

在这里插入图片描述
直接下载index.php.bak打开即得flag

3-3 vim缓存

当开发人员在线上环境中使用 vim 编辑器,在使用过程中会留下 vim 编辑器缓存,当vim异常退出时,缓存会一直留在服务器上,引起网站源码泄露。
CTFHub技能树-web篇_第14张图片
当你打开一个文件,vi编辑器就会生成这么一个.swp文件防止出现意外情况(类似微软word的缓存文件机制),如果正常退出那么这个swp文件将会自动删除。
当你强行关闭vi或者SSH连接时,比如电源断了或者使用了Ctrl+ZZ,vi自动生成一个.swp文件,下次你再编辑时,就会出现一些提示。

在这里插入图片描述
所以在url后面直接添加** .index.php.swp**下载即得flag

3-4 .DS_Store

.DS_Store 是 Mac OS 保存文件夹的自定义属性的隐藏文件。通过.DS_Store可以知道这个目录里面所有文件的清单。
CTFHub技能树-web篇_第15张图片
同上文件形式,直接url后面添加访问** .DS_Store**可下载文件,打开后得到一个文件名,在url访问即可得到flag
CTFHub技能树-web篇_第16张图片

4.Git泄露

4-1log

在这里插入图片描述
首先使用dirsearch扫描网站,可以看到有git泄露

CTFHub技能树-web篇_第17张图片
之后使用GitHack下载Git源码
CTFHub技能树-web篇_第18张图片
成功后,进入该目录,Git log可以让我们查看提交commit history,后面可以加参数;
使用git log
CTFHub技能树-web篇_第19张图片
git diff比较的是工作目录和暂存区域快照之间的差异。
可以看到add flag,使用git diff 那一串add flag的commit
也可以直接使用git reset --hard 那一串add flag的commit回到加了flag的版本
在这里插入图片描述
git log可以查看日志 就是看看历史版本中都干了些什么
git reset --hard 版本号 就可以回到指定的版本

4-2 Stash

做这题之前,需要先了解stash是什么
git stash是git一个很有用的命令,它的作用是把当前未提交的修改暂存起来,让仓库还原到最后一次提交的状态。常用于更新、同步代码或者保存多个修改版本等情况下。
在这里插入图片描述

和上题一样,先扫描目录,查看到有git泄露,再下载git源码,进入相应文件夹
CTFHub技能树-web篇_第20张图片

git stash	# git stash命令会将仓库中的修改保存,建立一条stash信息,默认的说明信息是最后一次提交的节点号和提交说明。
git stash save #‘说明信息’与1的效果一样,说明信息是指定的内容,更加利于了解stash的内容。
git stash list #列出当前仓库下所有的stash条目,每一条stash用stash@{n}标识。
git stash pop [stash] # 将stash的内容弹出,默认弹出最上面的那条,即stash@{0}。此外还可以在pop后加stash@{n}来指定要弹出的stash条目。
git stash drop [stash] #丢弃stash条目,默认丢弃最上面的那条,即stash@{0},此外还可以在drop后加stash@{n}来指定要丢弃的stash条目。
git stash clear #清除所有的stash条目。
git show stash@{n}	#当有多条记录并且过了一段时间忘记stash内容时通过该命令可以查看stash的具体内容

再使用stash的命令
CTFHub技能树-web篇_第21张图片

4-3 index

跟上两题一样,直接下载git源码,然后可以直接看到一个txt文件,打开就是flag
在这里插入图片描述

SVN泄露

当开发人员使用 SVN 进行版本控制,对站点自动部署。如果配置不当,可能会将.svn文件夹直接部署到线上环境。这就引起了 SVN 泄露漏洞。
CTFHub技能树-web篇_第22张图片
下载源码泄露工具dvcs-ripper工具:git clone https://github.com/kost/dvcs-ripper
在这里插入图片描述
进入dvsc-ripper目录
使用./rip-svn.pl -v -u http://challenge-792e9d4a252d8a51.sandbox.ctfhub.com:10080/.svn
注意:url后面要接.svn
在这里插入图片描述
CTFHub技能树-web篇_第23张图片

HG泄露

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

和上题类似,这次使用./rip-hg.pl -u url

在这里插入图片描述
打开目录发现多了个.hg文件夹,打开找了一通,发现在store文件夹里有个fncache文件
CTFHub技能树-web篇_第24张图片
打开发现有个flag.txt命名文件
在这里插入图片描述
使用cat发现打不开,于是试着在网页url后面直接打开,发现只有直接添加/flag_19621417.txt的时候会出现flag
在这里插入图片描述

后续正在努力更新

你可能感兴趣的:(CTFHub技能树-web篇)