CTF学习日记
信息泄露
目录遍历
PHPINFO
1.进入环境,没有任何可以操作的地方,再看看源代码
备份文件下载
- 网站源码
1.根据提示,进行源文件搜索,最终在www.zip找到东西,解压得到如下
- bak文件
- vim缓存
2.结果还是Not found
3.再次百度得知缓存文件为隐藏文件,故要在前面再加一个.
,再次访问,得到flag
- DS_Store
1.进入环境,不知道该怎么操作,但是查询文件的题目做了好多,按照类似的思路先访问一下DS_Store
发现还是404 Not found
2.百度了一下发现DS_Store也是隐藏文件,直接在前面加.
,再访问,得到一个文件
3.访问文件中的地址,得到flag
Git泄露
Log
- 下载Githack以及2.7版本的python并配置环境(一定要python2)
2.打开cmd,进入Githack-master目录下,输入
python githack.py http://111.200.241.244:62693(目标网址)/.git/,
得到如下
3.打开cmd中提供的文件,右键Git bash here!并输入git log(查看历史提交)得到如下
4.回滚到上个版本,输入
git diff 77c391b0f2980556cf8aeceecdf093634718a070
得到flag
Stash
1.执行上一题的前三步
2.先执行git stash list:查看stash了那些存储
3.执行git stash pop
这一步的目的是恢复之前缓存的目录,将缓存堆栈中的对应stash删除,并将对应修改应用到当前的工作目录下。
4.打开文件夹点击生产的.txt文件,得到flag
index
1.执行上一题的前三步
2.直接在文件夹内生产.txt文件,获得flag
笔记
- 目录遍历
1.什么是目录遍历
目录遍历是由于网站存在缺陷,导致网站目录可以被任意浏览,这会导致网站很多隐私文件与目录泄露
比如数据库备份文件,配置文件等目录遍历这个漏洞需要经常的去摸一摸,探一探存在资源的地方就极有可能存在目录遍历.
2.目录遍历攻击是如何实现的
(1)测试检索文件和检索参数
攻击者尝试发送这样一个url,成功返回了oldarchive.html后,攻击者就知道show.asp文件是可以通过web服务器的文件系统进行查询找到view参数后面的文件的。【需要攻击者不断测试网站拥有的请求和响应,找到正确的查询文件脚本和查询参数】
(2)恶意参数注入
攻击者通过不断测试去修改参数,以不断往上翻高层目录可以找到windows所在的位置,进行恶意攻击
3.如何防御目录遍历攻击
-
确保web服务器软件版本最新,并且已经安装所有补丁
-
有效过滤任何用户输入,防范参数中的转义字符,通过utf8编码后只要发现参数包含可能引发目录遍历攻击的非法字符,直接拒绝请求,如果合法再将用户输入提交到服务器。
-
确保权限控制到位,谨慎处理传向文件系统API的参数【与第二点差不多】
-
对文件类型进行白名单控制【只允许请求html文件、css文件、js文件等这些】,对包含恶意字符或者空字符的参数进行拒绝。【windows现在已知的文件名非法字符有 \ / : * ? " < > | 】【 linux文件名非法字符 "/ " 】
-
当然,如有需要,使用全面的web漏洞扫描,把网站安全可能涉及的各种漏洞都进行检查。
心得
- 掌握了两门git漏洞挖掘工具
- 学习到了一些git漏洞挖掘的思路
- 了解了前端方面的知识