信息收集
1.1 查看源代码
1.查看源代码的方式
-
1.右键查看源代码
-
2.F12打开开发者工具
-
3.Ctrl+U查看
-
Burp抓包(抓包过程中可以同时注意cookie的设置,副武器的类型等等)
-
从js代码中获取flag
2.需要注意的地方
-
1.主要主义源代码中的注释,类似于<!-->
-
2.源代码中的一些奇怪路径
1.2扫目录
1.常见的扫描工具
-
1.DirBuster
-
2.御剑
-
3.Webdirscan
-
4.Dirmap
-
...
2.robots协议:访问url/robots.txt,该文件会告诉我们哪些文件可以爬,哪些文件不能用爬虫,但在ctf题目中,常用来提示题目有关的重要文件。
3.install安装目录:install目录会提示安装有关操作对稳健进行修改
1.3源码泄露
1.git泄露:当前大量开发人员使用git进行版本控制,对站点自动部署。如果配置不当,可能会将.git文件夹直接部署到线上环境。这就引起了git泄露漏洞。
-
1.如果服务器将'.git'文件夹放在了web目录下,就可能导致攻击者利用'.git'文件夹内的信息获取应用程序所有源代码
-
2.修复建议:
(1)删除网站目录下的'.git'文件
(2)中间件上设置'.git'目录访问权限,禁止访问
2.svn泄露:使用'svn'管理本地代码的过程,会自动生成一个'.svn'的文件夹——包含着网站的重要信息. 如果网站管理员在发布网站的时候,没有使用到处功能,而是直接复制微网站后台的文件夹,就会导致.svn
文件暴露在外网环境。黑客可以借助其中包含的用于版本信息追踪的entries
文件,获取站点信息
-
漏洞危害:
*攻击者可以利用
.svn/entries
文件,查找网站的应用程序源代码、svn 服务器账号密码等信息。
* SVN 产生的
.svn
目录还包含了.svn-base
结尾的源代码文件副本(低版本 SVN 具体路径为
text-base
目录,高版本 SVN 为pristine
目录),如果服务器没有对此类后缀做解析,黑客则可以直接获得文件源代码。
(1) 攻击者利用该漏洞可下载网站源代码,获得数据库的连接账号密码等敏感信息
(2) 攻击者可通过获取的源代码进一步分析出新的系统漏洞,从而进一步入侵系统
-
修复建议:
(1)查找服务器上所有.svn 隐藏文件夹,删除。
(2)开发人员在使用 SVN 时,严格使用导出功能,禁止直接复制代码
3.HG泄露:Mercurial 是⼀种轻量级分布式版本控制系统,使⽤ hg init 的时候会⽣成.hg。
漏洞利⽤⼯具:dvcs-ripper
4.文件恢复(vim临时文件缓存):有时候扫⽬录会出现 filename.swp ,这就是在 vim 编辑 filename 时意外退出⽽产⽣的恢复⽂件
-
1.临时文件是在vim编辑文本时就会创建的文件,如果程序正常退出,临时文件自动删除,如果意外退出就会保留,当vim异常退出后,因为未处理缓存文件,导致可以通过缓存文件恢复原始文件内容
以 index.php 为例 第一次产生的缓存文件名为 .index.php.swp 第二次意外退出后,文件名为.index.php.swo 第三次产生的缓存文件则为 .index.php.swn 注意:index前有 " . "
vim
编辑的文件,在修改的时候,会自动生成一个备份文件(修改之前的版本) -
2.恢复⽂件的命令:
vi -r .filename.swp
5.网站备份文件泄露
1.4收集域名信息
1.whios查询:查询域名是否已被注册以及已被注册域名的详细信息(域名所有⼈,域名注册商等)
-
收集⽹络注册信息、注册的域名、IP地址
-
收集注册⼈姓名、邮箱、电话、地址等,然后可通过⼤量的 搜索引擎 与 社交网站 得
到域名所有⼈的很多信息
-
中⼩站点⽽⾔,域名所有⼈经常是 管理员
-
在线⼯具:
站⻓之家 域名Whois查询 - 站长之家
Virus Total VirusTotal
爱站⼯具⽹ nuc.edu.cn的综合查询_爱站网
2.备案信息查询:国家信息产业部对⽹站的⼀种管理,为防⽌在⽹上从事⾮法活动。主要针对国内⽹站,搭建在国外的⽹站,不需要备案。
-
天眼查