宣传一波 更好的阅读体验 👉 个人blog
Web 实战
1.信息泄露
1.目录遍历
题目
就是自己一个一个去找就行了
2.PHPINFO
题目
直接在页面使用 ctrl + f 寻找
3.备份文件下载
1.网站源码
当开发人员在线上环境中对源代码进行了备份操作,并且将备份文件放在了 web 目录下,就会引起网站源码泄露。
题目
这个需要使用工具 dirsearch,下载教程及说明 👉点击直达。
使用命令(中间的 url 用自己的)对目标 url 目录进行扫描(题目时常 30 分钟我扫了 25 分钟 😅)
python dirsearch.py -u http://challenge-51c65819981ea505.sandbox.ctfhub.com:10800/ -e tar tar.gz zip rar
扫完后找状态码为 200 的,可以找到一个压缩包:www.zip
把它添加到 url中回车发现网站下载下来了一个压缩包,打开后发现里面有一个 flag_133317377.txt,兴奋的打开它却发现没有 flag。。。
我又尝试在网页上访问它(在网页原 url 后加上/后再加上 flag_133317377.txt 即可),flag 出来了!!
2.bak 文件
当开发人员在线上环境中对源代码进行了备份操作,并且将备份文件放在了 web 目录下,就会引起网站源码泄露。
看到这题我第一时间以为加个 index.php 就行了,但是一点反应都没有
老老实实用 dirsearch
python dirsearch.py -u http://**** -e *
顺带一提因为我是-e *全搜,导致我 30 分钟都不够,好在提前扫出来了 😅
不过没想到仅仅是后加了个 bak😡,早知道就试试了
url 加上 index.php.bak 会自动下载一个文件,用记事本打开就行
3.vim 缓存
当开发人员在线上环境中使用 vim 编辑器,在使用过程中会留下 vim 编辑器缓存,当 vim 异常退出时,缓存会一直留在服务器上,引起网站源码泄露。
此题目需要用到 Linux 和 vim,这个没有的话需要自己去安装虚拟机
做这题需要前置知识
-
当 vim 在编辑文档的过程中如果异常退出,则会产生缓存文件。第一次产生的缓存文件后缀为.swp,第二次则产生的缓存文件后缀为.swo,第三次产生的缓存文件后缀为.swn。
-
使用命令 vim -r 可以查看当前目录下的所有 swp 文件。
-
使用命令 vim -r filename 可以恢复文件,这样上次意外退出并且没有保存的修改,就可以覆盖文件。
-
调用这类的隐藏文件的时候,需要在最前面加.(如删除 index.php.swp,则需要 rm -fr* .index.php.swp).
-
vim 使用的缓存存储是一种固定的二进制文件,我们可以通过 curl 命令,或者 vim 命令进行查看。
所以我们自需要在路径上加上/index.php.swp
,就会自动下载文件了,主要是用 vim 打开,在文件所在路径使用命令
vim -r index.php.swp
4. .DS_Store
.DS_Store 是 Mac OS 保存文件夹的自定义属性的隐藏文件。通过.DS_Store 可以知道这个目录里面所有文件的清单。
老样子先加路径(终于对了一次),虽然出现 404 但是文件下载下来了
用记事本打开,发现一串神秘数字(注意这个由于一行太长有一段字母在右边出题人的恶趣味 😅)
然后就是在 url 后面添加一个一个输入除了最后的 noteustr,输到 txt 就行,而且注意不能有空格
最后就会得到 flag
4.Git 泄露
有关 git 知识大伙请自行上网搜索,这里不再赘述
1.Log
当前大量开发人员使用 git 进行版本控制,对站点自动部署。如果配置不当,可能会将.git 文件夹直接部署到线上环境。这就引起了 git 泄露漏洞。请尝试使用 BugScanTeam 的 GitHack 完成本题
其实主要就是要使用 GitHack,先进入 GitHack 文件夹,命令很简单
python GitHack.py URL/.git
注意 URL 是自己的网站 URL,然后就是得用 python2
然后就会在 dist 文件夹得到文件
用指令
ls -a
可以看到.git 文件
然后用 git 命令看版本有一个是“add flag”
git reflog # 显示每次git的版本
git reset --hard hash # 跳转到指定版本,hash就是git reflog出现的黄子
跳转后就会出现 flag 文件
2.Stash
简单来说就是其将当前未提交的修改(即,工作区的修改和暂存区的修改)先暂时储藏起来
#简单命令
git stash list # 查看储藏记录列表
git stash show -p #用于显示第一个存储的改动
git stash show stash@{$num} -p #显示其他存存储,命令:比如第二个:git stash show stash@{1} -p
这题和上面一题开头不走一致
只是打开 flag 文件并没有看到 flag屁话题目都告诉是 stash
现在就使用git stash list
用于查看 stash 了哪些存储,先输入康康:
再用git stash show -p
查看 stash 就行
3.Index
这题没有发现和第一题有什么不同。。。
5.SVN 泄露
当开发人员使用 SVN 进行版本控制,对站点自动部署。如果配置不当,可能会将.svn 文件夹直接部署到线上环境。这就引起了 SVN 泄露漏洞。
svn 和 git 差不多,这里不再过多赘述介绍
其实和 git 一样都有专门的漏洞脚本
在 devs-ripper 文件下使用命令,脚本运行成功后会出现.svn 文件,进入文件,一个一个找就行了
./rip-svn.pl -u URL/.svn
cat 命令可以看文件内容
6.HG 泄露
当开发人员使用 Mercurial 进行版本控制,对站点自动部署。如果配置不当,可能会将.hg 文件夹直接部署到线上环境。这就引起了 hg 泄露漏洞。
hg 和 svn 和 git 差不多,这里不再过多赘述介绍
同样使用 devs-ripper 就行了,命令稍微改一下
./rip-hg.pl -v -u URL/.hg/
老样子一个一个搜,突然发现一个熟悉的 flag 文件,把它加到网站后缀就自动出现 flag 了
git stash 这道题读入的时候遇到问题了,在运行下面的命令之后:
python2 GitHack.py http://challenge-3c7afe60f5c51fc8.sandbox.ctfhub.com:10800/
然后出错错误,IOError,解析 index 文件不存在
很离谱,我多试几次之后,又莫名可以了
靶场是这样的,排除自己操作的问题,我也遇到很多次靶场抽风😅
谢谢大佬解答,先前做过算法竞赛,头一回接触 CTF,不知道有没有类似 Acwing 这样的授课平台呢,还是说大佬都是自己一边做题一边查文章自学的;我感觉安全方向的资料相较于开发来说,好少呢
b站搜小迪安全,或者暗月安全,小迪口音很重,有些人受不了,暗月需要自己去找靶场,但是他们教的全是基础(说是这么说,但是只是更全面的委婉说法),全是免费的,但是不是最新的,最新的得去找他们的公众号买,如果有经济实力的话可以支持一波,我觉得很值
如果你是单纯想要去学CTF,找类似 Acwing 这样的授课平台,CTFshow还行,上面有靶场和老师专门讲解,好像也就几百块,学成之后打一天护网就回本了(画个饼😋)(当然我没有买,我不打CTF),你可以去了解一下
小迪安全,或者暗月安全,偏向于全栈,简单说一下就是:信息收集、PHP开发、Web攻防、API接口/APP移动安全、漏洞利用、Waf绕过、代码审计、权限提升、免杀对抗、内网渗透、红队APT阶段、安全开发、应急响应、蓝队溯源、SRC漏洞挖掘等,囊括了红队渗透测试工程师工作中的大部分技术栈(呼~~根本就不简单)
这个「打一天护网就回本了」里面提到的「护网」是什么呢?我搜出来有挺多说法的,网络安全保卫吗?是企业举办的活动吗?或是什么网络安全演练?
点击直达
护网一天700到上千不止,经历也是能写在简历上的