CTF-SHOW 刷题记录Web1
CTF SHOW
Web 1~17
总的来说,信息搜集首先需要经历扫盘,F12,抓包三大件
注意结合题目
Web1
F12
Web2
本质是js前台拦截,无法呼出右键菜单,也无法使用f12
- url前加入
view-source:
查看源代码 ctrl+u
查看源码- 打开一个空白网页,按F12,再把网址复制进去并回车
- bp抓包,放到repeater中
Web3
使用bp抓个包看看
f12—网络——刷新——查看消息头
Web4
扫目录得到敏感文件robots.txt
1 | dirsearch -u https://bc86a6ed-f331-45f2-a6d2-6079ed4ba162.challenge.ctf.show -e* -i 200,201,201-300 -t 30 |
查看robots.txt
1 | https://bc86a6ed-f331-45f2-a6d2-6079ed4ba162.challenge.ctf.show/robots.txt |
查看flagishere.txt
1 | https://bc86a6ed-f331-45f2-a6d2-6079ed4ba162.challenge.ctf.show/flagishere.txt |
得到flag
Web5
phps文件泄露
phps文件就是php的源代码文件,通常用于提供给用户(访问者)直接通过Web浏览器查看php代码的内容
因为用户无法直接通过web浏览器看到php文件的内容,所以需要用phps文件代替。用户访问phps文件就能看到对应php文件的源码
phps通常作为备份文件。其他常见的有linux的备份文件,比如index.php.swp,还有www.zip等
可使用工具:
https://github.com/shanyuhe/fzbk
或者burp打一波fuzz
思路
并不能看到网页源码,盲猜有phps的事儿,使用dirsearch扫目录能扫到index.phps(有人说扫出来了但我扫不出来)
url后加上/index.phps查看源码
1 |
|
Web6
Web7
标题一眼git泄露
git init初始化时,会在当前目录下自动创建一个.git目录用来记录代码的变更记录等。发布代码的时候,如果没有把这个.git删除,就直接发布到了服务器上,攻击者就可以通过它来恢复源代码
Web8
通过dirsearch扫目录得出是svn泄露
SVN是一个开放源代码的版本控制系统,在使用SVN管理本地代码过程中,会自动生成一个名为.svn的隐藏文件夹,其中包含重要的源代码信息。网站管理员在发布代码时,没有使用”导出“功能,而是直接复制代码文件夹道WEB服务器上,这就使.svn隐藏文件夹被暴露于外网环境,可以利用.svn/entries文件,获取到服务器源码
Web9
dirsearch没扫出来,但是题目提示很清楚
直接访问index.php.swp
在使用vim时会创建临时缓存文件,关闭vim时缓存文件则会被删除。当vim异常退出后,因为未处理缓存文件,导致可以通过缓存文件恢复原始文件内容。
以 index.php 为例:
第一次产生的交换文件名为 .index.php.swp
再次意外退出后,将会产生名为 .index.php.swo 的交换文件
第三次产生的交换文件则为 .index.php.swn
Web10
抓包,信息头中cookie里有
Web11
有时候域名地址会包含某些信息
如 flag.ctfshow.com
1 | 查询域名解析地址 基本格式:nslookup host [server] |
Web12
扫盘的到以下
进入admin页面,发现需要登录账号和密码。账户不必多说为admin,密码根据题目提示,在网站主页中,根据猜测为下方的一个不寻常的电话热线
Web13
document技术文档信息泄露
点开document后得到以下
注意your-domain是你的靶场域名
Web14
扫盘得到/editor/
发现其中插入文件的文件空间是本地文件
首先看这个网页 var/www/html
发现有个文件夹nothinghere
点开看有fl000g.txt
所以只需要在靶场url后加上/nothinghere/fl000g.txt即可
Web15
气笑了
扫盘得到admin后台登录页面
账号默认admin,发现有个忘记密码
通过查询主页给出的qq账号得出所在地是西安,于是重置密码了
Web16
探针泄露
php探针是用来探测空间、服务器运行状况和PHP信息用的,探针可以实时查看服务器硬盘资源、内存占用、网卡流量、系统负载、服务器时间等信息
默认探针为tz.php
进入探针,找到PHP信息(phpinfo)
在环境变量中找到flag
Web17
扫盘得到敏感文件backup.sql
访问后下载文件,打开后得到flag
Web18
界面是一个经典红温小游戏
我们查看它的js代码
发现通关条件为game_over=true&&score>100
所以我们只需要打开F12,在控制台中输入相应信息,再运行游戏即可
得到提示
进去就是flag
(但我发现,得到的内容是个文件路径,在js脚本中是unicode形式,找到源码了直接把unicode编码变成中文即可)
Web19
看到这种登录界面首先想到的是sql注入啊,不过这里是POST方法,所以暂时抛弃
查看源码,发现一段隐藏脚本
1 | error_reporting(0); |
这么长一串应该是加密了,都在0~f所以应该是十六进制ASCII码
其实这个是AES加密,因为不仅是十六进制而且还是32个十六进制数(16字节,128位)
源码可见:
1 | function checkForm(){ |
1 | 密钥为key = "0000000372619038"; |
但还没学AES,有没有什么不吃操作的
有的有的
- 使用bp抓包修改POST参数
- 使用hackbarPOST传参
内容为:username=admin&pazzword=a599ac85a73384ee3219fa684296eaa62667238d608efa81837030bd1ce1bf04
Web20
使用dirsearch递归搜索
,发挥最佳性能
查看/db/db.mdb
flag就在其中
mdb文件是早期asp+access架构的数据库文件,文件泄露相当于数据库被脱裤了。