CTFHub—Web题目解题合集1(超详细)
目录一. HTTP协议web前置技能1. 请求方式题解小知识2. 302跳转3. Cookie题目解法二. 信息泄露2.1 备份文件下载1. 网站源码2. bak文件题目题解小知识3. vim缓存题目小知识题解4. DS_Store题目小知识题解2.2 Git泄露1. Log题目小知识(GitHack与dirsearch)题解2. Stash题目小知识题解3. Index题目小知识题解三. 密码口令默认口令题目解题思路小知识一. HTTP协议web前置技能1. 请求方式题解使用windows自带的curl命令查看服务器的返回信息在html里就可以找到flag了curl -v -X CTFHUB 网址小知识curl 是常用的命令行工具用来请求 Web 服务器。它的名字就是客户端client的 URL 工具的意思。它的功能非常强大命令行参数多达几十种。如果熟练的话完全可以取代 Postman 这一类的图形界面工具。参数描述举例补充-A参数指定客户端的用户代理标头即User-Agent。curl 的默认用户代理字符串是curl/[version]。curl -A ‘’ https://google.com上面命令会移除User-Agent标头。-b参数用来向服务器发送 Cookie。curl -b ‘foo1bar;foo2bar2’ https://google.com上面命令发送两个 Cookie。-c参数将服务器设置的 Cookie 写入一个文件。curl -c cookies.txt https://www.google.com上面命令将服务器的 HTTP 回应所设置 Cookie 写入文本文件cookies.txt-d参数用于发送 POST 请求的数据体。curl -d’loginemmapassword123’-X POST https://google.com/login# 或者curl -d ‘loginemma’ -d ‘password123’ -X POST https://google.com/login使用-d参数以后HTTP 请求会自动加上标头Content-Type : application/x-www-form-urlencoded。并且会自动将请求转为 POST 方法因此可以省略-X POST。-d 参数可以读取本地文本文件的数据向服务器发送。 curl -d ‘data.txt’ https://google.com/login–data-urlencode参数等同于-d发送 POST 请求的数据体区别在于会自动将发送的数据进行 URL 编码。curl --data-urlencode ‘commenthello world’ https://google.com/login上面代码中发送的数据hello world之间有一个空格需要进行 URL 编码。-e参数用来设置 HTTP 的标头Referer表示请求的来源。curl -e ‘https://google.com?qexample’ https://www.example.com-H参数可以通过直接添加标头Referer达到同样效果。 curl -H ‘Referer: https://google.com?qexample’ https://www.example.com-F①参数用来向服务器上传二进制文件。②参数可以指定 MIME 类型。①curl -F ‘filephoto.png’ https://google.com/profile ②curl -F ‘filephoto.png;typeimage/png’ https://google.com/profile①命令会给 HTTP 请求加上标头Content-Type: multipart/form-data然后将文件photo.png作为file字段上传。②上面命令指定 MIME 类型为image/png否则 curl 会把 MIME 类型设为application/octet-stream。-H参数添加 HTTP 请求的标头。curl -H ‘Accept-Language: en-US’ -H ‘Secret-Message: xyzzy’ https://google.com上面命令添加两个 HTTP 标头。-k参数指定跳过 SSL 检测。curl -k https://www.example.com上面命令不会检查服务器的 SSL 证书是否正确。-L参数会让 HTTP 请求跟随服务器的重定向。curl 默认不跟随重定向。curl -L -d ‘tweethi’ https://api.twitter.com/tweet-u参数用来设置服务器认证的用户名和密码。curl -u ‘bob:12345’ https://google.com/login上面命令设置用户名为bob密码为12345然后将其转为 HTTP 标头Authorization: Basic Ym9iOjEyMzQ1-v参数输出通信的整个过程用于调试。curl -v https://www.example.com-x参数指定 HTTP 请求的代理。curl -x socks5://james:catsmyproxy.com:8080 https://www.example.com如果没有指定代理协议默认为 HTTP。-X参数指定 HTTP 请求的方法。curl -X POST https://www.example.com上面命令对https://www.example.com发出 POST 请求。2. 302跳转3. Cookie题目hello guest. only admin can get flag.解法打开火狐检查增加cookies的参数admin1,再发送回去即可得到flag二. 信息泄露2.1 备份文件下载1. 网站源码鼠标右击点检查然后就可找到flag非常容易。2. bak文件题目当开发人员在线上环境中对源代码进行了备份操作并且将备份文件放在了 web 目录下就会引起网站源码泄露。题解在当前页面网址的index.php后面添加.bak后缀就会下载一个bak文件将bak文件后缀名改成 .txt打开就可以看到flag小知识后缀名是.bak的文件是备份文件把.bak改成对应的文件扩展名即可使用对应的软件打开。3. vim缓存题目当开发人员在线上环境中使用 vim 编辑器在使用过程中会留下 vim 编辑器缓存当vim异常退出时缓存会一直留在服务器上引起网站源码泄露。小知识VIM 是 Linux 系统上一款文本编辑器在终端上打开它是操作 Linux 的一款利器。vim 的过程有两种多余的文件【文件名】.【后缀】~是真正的备份文件诞生于修改原文件之前消失于修改成功之后.【文件名】.【原后缀】.swpswap 文件由 block 组成里面可能由用户未保存的修改等待:w这种调用就会覆盖到原文件想要了解vim缓存原理多一点请移步Linux 编辑器之神 vim 的 IO 存储原理题解在当前页面网址后面添加/.index.php.swp会下载一个swp文件 用能打开二进制文件的软件打开即可看到flag(我用的是010 Editor试了一下IDEA也行内容翻到最后也能看到flag)4. DS_Store题目.DS_Store 是 Mac OS 保存文件夹的自定义属性的隐藏文件。通过.DS_Store可以知道这个目录里面所有文件的清单。小知识.DS_Store(英文全称 Desktop Services Store)是一种由苹果公司的Mac OS X操作系统所创造的隐藏文件目的在于存贮目录的自定义属性例如文件们的图标位置或者是背景色的选择。相当于 Windows 下的 desktop.ini。题解在网址后面加/.DS_Store会下载一个DS_Store文件将该文件用010编辑器打开会发现有一个类似txt文件名的一串字符将.过滤掉就是一个txt文件名然后就试着在网址后面加上这个文件名最后成功拿下flag2.2 Git泄露1. Log题目当前大量开发人员使用git进行版本控制对站点自动部署。如果配置不当,可能会将.git文件夹直接部署到线上环境。这就引起了git泄露漏洞。请尝试使用BugScanTeam的GitHack完成本题小白又遇到盲区了这题做了好久啊查了好多资料结合几位大神的博客再进行了一番操作开始时GitHack安装失败然后开始找解决办法几经波折终于拿到flag了开心~~ 记录一下解题思路。小知识(GitHack与dirsearch)GitHack是一个.git泄露利用脚本通过泄露的.git文件夹下的文件重建还原工程源代码。GitHack在kali上安装及使用在kali控制台执行以下命令下载GitHack1如果出现fatal: unable to access https://github.comxxxxxx: Failed to connect to xxxxxxxx那么可以将命令行里的 http 改成 git 重新执行还可以输入命令 git config --global url.“https://”.insteadOf git://2如果实在不行可以直接访问下载zip后解压然后拖动到虚拟机里面githack下载链接地址进入GitHack目录使用GitHack扫描网站python GitHack.py 【网址】/.git如python2 GitHack.py http://challenge-44e129ddc83312d0.sandbox.ctfhub.com:10800/.git当出现GitHack图标时才表示成功git常用的命令git log 查看日志记录git reset 回退指定版本git dirr 对比两次提交对于Git泄露可以用dirsearch扫描。dirsearch是一个基于python的命令行工具用于暴力扫描页面结构包括网页中的目录和文件。git下载命令git clone https://github.com/maurosoria/dirsearch.git使用进入dirsearch安装目录**(注dirsearch程序必须使用python3以上才能运行)**命令: python3 dirsearch.py -u 目标网址多学一点https://www.runoob.com/git/git-basic-operations.html题解本题需要用到GitHack工具 上面详细介绍了安装过程这里就不过多写了开始正题在控制台执行命令安装GitHack进入GitHack安装目录对目标网址进行扫描会增加一个dist文件夹里面生成了一个以网址命名的文件夹进入GitHack目录查看日志信息寻找flag足迹发现中间那个版本相比于上一版本add flag了所以需要回退到增加了flag的那个文件版本回到目录下查看发现多了个txt文件打开txt文件里面就是心心念念的flag2. Stash题目当前大量开发人员使用git进行版本控制对站点自动部署。如果配置不当,可能会将.git文件夹直接部署到线上环境。这就引起了git泄露漏洞。请尝试使用BugScanTeam的GitHack小知识stash是git的一个操作命令git stash list 查看隐藏的记录git stash pop 恢复隐藏的内容同时删除隐藏记录git stash apply 恢复隐藏的内容但不会删除隐藏记录使用stash pop/apply可以选择恢复哪条记录如恢复stash{1}记录,则使用git stash pop stash{1}或者git stash apply stash{1}详细了解更多请看stash----bug分支-廖雪峰的官方网站题解这一次学聪明了不懂会先去查本题的题目类型了哈哈哈先去查一波stash因为此题很可能需要用到git操作的stash工具。下载GitHack进入GitHack目录扫描该网址,出现一个网址名命名的文件夹上一题4.1 Log中的小知识中有下载过程进入该文件夹使用stash命令寻找stashgit stash list发现有stash,再使用命令git stash pop发现该文件夹多了一个txt文件打开就找到了flag.3. Index题目当前大量开发人员使用git进行版本控制对站点自动部署。如果配置不当,可能会将.git文件夹直接部署到线上环境。这就引起了git泄露漏洞。请尝试使用BugScanTeam的GitHack小知识Git的版本库里存了很多东西其中最重要的就是称为stage或者叫index的暂存区题解对于这题和上面两题常规流程打开GitHack扫描该网址就出现一个txt文件打开就是flag。三. 密码口令默认口令题目解题思路拿到题目是一个eyou邮件网关的登录页面这是要查查eyou邮件网关的默认口令呀。找了找找到了常见网络安全设备默认口令。点进去找找看有没eyou邮件网关的,真就找到了。然后一个个试当试到第二个时成功拿到flag.小知识常见网络安全设备默认口令https://www.cnblogs.com/R3col/p/12452571.html
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2454629.html
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!