寒假学web--day01
简介
今天学习的主要内容为信息泄露相关的知识
信息泄露的介绍与类型
文件泄露可以达到中危甚至高危
泄露的类型有:
- 版本软件泄露:.git,svn,bzr,CVS
- 敏感文件泄露:robots.txt,www.zip,静态文件注释泄露
- 配置错误信息泄露:DS_Store,WEB_INF,Apache/Nginx错误配置
这里只是一些可能的情况,不要过于死板,可以灵活进行尝试,试错成本不高
利用
基于路由与基于文件
/admin与/admin/是有区别的
/admin/表示访问的是admin目录,会访问admin目录里面的索引文件,比如index.html,index.php,后者表示访问的是admin文件,不会去寻找索引文件,如果admin文件不存在,会直接返回404
但是一些情况下,加不加后面的/都能访问到/admin/,这是因为在配置文件中进行了设置
注意:不能因为访问index.php成功,就认为该网站是基于文件的,服务器端可能不一定将路由绑定在要解析的文件上,而是绑定到返回结果上
状态码
200--正常
301 302--重定向
403--权限问题,目录存在,但不能访问
404--文件不存在
500--服务器内部错误
502--表示转发失败
报错信息泄露
通过让网站报错,返回的错误信息中,可能会泄露一些敏感信息
robots.txt
爬虫协议,规矩了哪些内容可以爬取,哪些不可以爬取,但并不具备强制约束力
具有此地无银三百两的效果,会告诉攻击者该网站存在哪些路径
.git文件泄露
git是一个版本控制器系统,用于多名开发人员共同开发某一项目
git泄露出现在开发人员提交代码的时候,有两个参数,一个是要提交的文件名称,一个是文件的内容,如果我们获取到了提交记录,就间接获取到了某个版本的文件内容,如果我们运气够好,这刚好是最后一次的提交记录,那我们就拿到了最终版的文件内容
恰好这个保存提交记录的文件夹名字为.git,在linux中是一个隐藏文件,如果开发人员不注意,就会在ctrl+a的时候复制到web目录,我们就可以使用githack这个工具来获取提交的文件内容
下载地址
需要配置python环境
githack使用方法
在githack-master目录下进入cmd,执行
python .\GitHack.py -u "http://xxxx/.git/"
注意:必须要访问/.git/,会在githack-master目录下生成一个以该url命名的文件夹
原理:解析.git/index文件,去.git/objects/文件夹下下载对应的文件,然后解压文件,按原始的目录结构写入源代码
CTF中对于信息泄露的考察
在ctf比赛中,这方面的考察难度通常偏低,常见的类型有:
- robots.txt泄露
- .git/svn泄露(访问.git或者.svn目录出现403)
- 页面注释泄露,http头泄露
- 任意文件下载造成的信息泄露(可以下载WEB-INF文件夹里的内容)
- 开源社区信息泄露,比如泄露出项目名称,同时可以在GitHub,gitee等平台上找到整个项目的代码
- 使用vim异常退出,可能存在类似.index.php.swp的临时文件
- 一些冷门的信息泄露:.DS_Store泄露,nginx错误配置导致的文件泄露

浙公网安备 33010602011771号