什么是目录扫描:
在我们部署了网站之后有很多的敏感文件,比如说配置文件(.cfg)、数据文件(.sql)、目录文件(/backup /conf /admin)。但是有些网站如果配置出现问题,就会被攻击者攻击。
这些配置的问题会导致数据库用户名和密码 、服务器的用户名和密码 、数据库的文件、网站源码等等信息都会被 入侵。如果黑客获得了相应文件后,就能对网站进行进一步的攻击!
目录为什么会泄漏:
配置问题。
2、本地文件包含问题。
比如在一个php文件中,我们经常会有一些公共的文件,在其他的代码文件中不需要重复编码的话,那我们就能用include +文件名 让php文件在当前的代码中生效,如果可以包含其他页面的代码,比如说恶意的代码,那么这个恶意代码就会被执行。如果include没有被限制,那我们可以通过本地文件和相对路径来进行遍历文件,进行攻击。
常见敏感目录和文件:
robots.txt
如果一个网站不让爬虫机器人去爬取里面的文件,那么我们可以默认这里面的文件包含有重要信息。
sitemap.xml
这是指导搜索引擎去网站搜索什么内容的文件。一般的cms都会自动生成这个文件
网站的备份文件和数据
对程序去进行升级或者定期对自己的网站需要进行备份。
这种工具生成的备份总会有类似的后缀和名字,比如wwwroot生成的日期.zip文件,如果路径泄漏,那么这些文件就会是攻击者值得关注的文件,所以我们自己在备份的时候,备份文件也需要路径的迁移。
路径类:
4、后台登录的目录:
一般来说,我们会给用户登录的界面,然后管理员也会有管理员登录的专用界面,虽然这些目录一般不会开放,但是如果我们在做目录扫描的时候扫出来了这样的目录,比如(admin或者manager),如果没有次数限制,那么我们可以尝试用暴力破解的方式进行攻击。
程序的安装包
对于一些非开源的商用系统,如果我们在安装的时候,他在部署网站后,没有及时把自己的压缩包给清理掉,那我们很有可能获得他的源码(1.zip)
上传的目录(/upload.php)
这样的文件如果存在那么就是存在上传功能的,如果有这个功能,那我们就可以把恶意代码进行植入和上传了。
mysql的管理界面:
mysql的管理经常使用phpadmin进行管理。如果用phpadmin进行管理的话,就有很多漏洞可以利用了
程序的安装路径:(/install)
如果install的目录没有被删掉,那么我们可以重新进行安装,并且拥有访问权限
php的探针(phpinfo 雅黑探针)
网站的文本编辑器
文本编辑器也能造成很多的漏洞。
linux /etc/passwd
/etc/shadow SHA512
/etc/sudoers sudo
这些linux的文件也都很重要,需要扫描分析。
macos (.ds-store)
编辑器的临时文件.swp
tomcat WEB-INF
WEB-INF/web.xml : Web应用程序配置文件, 描述了servlet和其他的应 用组件配置及命名规则.
WEB-INF/database.properties : 数据库配置文件
WEB-INF/classes/ : 一般用来存放Java类文件(.class)
WEB-INF/lib/ : 用来存放打包好的库(.jar)
WEB-INF/src/ : 用来放源代码(.asp和.php等)
github里面我们参考查询到一些敏感文件
以上这些文件和目录都是我们在进行目录扫描时需要重点关注的问题,里面经常会存在关键信息。还有一些非常规文件也是我们需要留心的点。
文件扫描思路
我们可以通过字典、递归、暴力破解、爬虫等等方式来进行扫描,
在扫描的过程中除了暴力破解等少量方式不需要字典,大多数扫描都需要字典。
在github上面就能搜索到大量字典进行使用。同时kali里面也可以用wordlists来查询到有大量字典可以使用。
文件扫描工具
kali 自带 dirb
可以用-h去查询相关参数来进行自己需要的操作
diebuster
这是可视化扫描工具,也是在kali中的工具
御剑后台扫描
burp suite又一次出现了,一个很常用的工具