敏感目录扫描及响应码
本文介绍了网站安全检测中的敏感目录扫描技术,重点分析了各类HTTP状态码的含义。主要内容包括:1)敏感目录扫描的定义和作用,通过工具扫描可发现网站后台等关键信息;2)常用扫描工具如御剑后台扫描工具;3)详细分类解析HTTP状态码:1xx(临时响应)、2xx(成功)、3xx(重定向)、4xx(客户端错误)和5xx(服务器错误)代码,说明各类代码的具体应用场景和含义。文章为网站安全检测提供了状态码判读
一、网站敏感目录与文件
1.1 简介
网站敏感目录表示在网站目录中容易被恶意人员利用的一些目录。通常恶意人员都是通过工具扫描,来扫除网站的敏感目录,敏感目录扫描是能够得到其他网页的很多信息,找到后台管理页面,尝试进入后台等等,扫描网站的目录结构,看看是不是存在遍历目录这样的漏洞。
二、返回码
2.1 1xx返回码
- 100 继续 请求者应当继续提出请求。服务器返回此代码表示已收到请求的第一部分,正在等待其余部分。
- 101 切换协议 请求者已要求服务器切换协议,服务器已确认并准备切换
2.2 2xx返回码
表示成功处理了请求的状态代码
- 200 成功 服务器已成功处理了请求。通常,表示服务器提供了请求的网页
- 201 已创建 请求成功并且服务器创建了新的资源
- 202 已接收 服务器已接收请求,但尚未处理
- 203 非授权信息 服务器已成功处理了请求,但返回的信息可能来自另一个源
- 204 无内容 服务器成功处理了请求,但没有返回任何内容
- 205 重置内容 服务器成功处理了请求,但没有返回任何内容。
- 206 部分内容 服务器成功处理了部分GET请求
2.3 3xx返回码
完成请求,需要进一步操作。通常这些状态码是用来重定向的。
- 300 多种选择 针对请求,服务器可执行多种操作。服务器可根据请求者(user agent)选择一种操作
- 301 永久移动 请求的网页已永久移动到新的位置。服务器返回此响应(对GET、HEAD请求响应)是,会自动将求情转发至新的地址
- 302 临时移动 服务器目前从不同位置的网页响应请求,但请求者应继续使用原有位置来进行以后得请求
- 303 查看其他位置 请求者应当对不同的位置使用单独的GET请求来检索响应时,服务器返回此代买
- 304 未修改 自从上次请求后,请求的网页未修改过。服务器返回此响应时,不会返回网页内容。
- 305 使用代理 请求者只能使用代理访问请求的网页。如服务器返回此响应,还表示请求者应使用代理
- 307 临时重定向 服务器目前从不同位置的网页响应请求,但请求者应继续使用原有为止来进行以后得请求。
2.4 4xx返回码
这些状态码表示请求可能出错,妨碍了服务器的处理
- 400 错误请求 服务器不理解请求的语法
- 401 未授权 请求要求身份验证。对于需要登录的网页,服务器可能返回磁响应
- 403 禁止 服务器拒绝请求
- 404 未找到 服务器找不到请求的网页
- 405 方法禁用 禁用请求中制定的方法
- 406 不接受 无法使用请求的内容特性响应球球的网页
- 407 需要代理授权 此状态代码与401未授权类似。但指定请求者应当授权使用代理
- 408 请求超时 服务器等候请求时发生超时
- 409 冲突 服务器在完成请求时发生冲突。服务器必须在响应中包含有关冲突信息。
- 410 已删除 如果请求的资源已永久删除,服务器就会返回此响应
- 411 需要有效长度 服务器不接受不含有效内容长度表头字段的请求
- 412 为满足前提条件 服务器为满足请求者在请求中设置的其中一个前提条件
- 413 请求实体过大 服务器无法处理请求,因为请求实体过大,超出服务器的处理能力
- 414 请求的url过长 请求的url(通常为网址)过长,服务器无法处理
- 415 不支持的媒体类型 请求的格式不受请求页面的支持
- 416 请求范围不符合要求 如果页面无法提供请求范围,则服务器会返回此状态码
- 417 为满足期望值 服务器为为满足"期望"请求标头字段的要求
2.5 5xx返回码
表示服务器在尝试处理请求时发生内部错误。这些错误可能是服务器本身的错误,而不是请求出错
- 500 服务器内部错误 服务器遇到错误,无法完成请求
- 501 尚未实施 服务器不具备完成请求的的功能。如:服务器无法识别请求方法时可能返回此代码
- 502 错误网关 服务器作为网关或代理,从上游服务器收到无效响应
- 503 服务不可用 服务器目前木筏使用--由于超载或停机维护。通常这只是暂时状态
- 504 网关超时 服务器作为网关或代理,但是没有及时从上游服务器收到请求
- 505 HTTP版本不收支持 服务器不支持请求中所用的http协议版本。
三、 常用工具
3.1 御剑后台目录扫描工具
御剑后台扫描是一款较好的后台扫描工具,支持DIR、ASP、MDB、ASPX、PHP、JSP多种语言后台扫描。

3.2 Dirbuster
是一个多线程的基于java的基于 Java 开发的图形化工具(GUI)。是由 OWASP(开放Web应用安全项目)组织开发的一款经典、开源且免费的 Web 目录和文件暴力破解工具。它主要被用于渗透测试的前期信息收集阶段,通过多线程的方式,利用字典去“碰撞”目标网站,从而发现那些没有公开链接的隐藏目录、后台入口、数据库备份、敏感配置文件等“隐藏房间”。
下载地址:https://sourceforge.net/projects/dirbuster
3.3 Dirsearch
是一款脚本工具,基于python3环境的。
下载地址:https://github.com/maurosoria/dirsearch
使用命令:
# python3 Dirsearch -u "url" -e *
四、敏感目录
- 后台
- 探测cms
五、网站敏感文件
文件泄露,根据泄露的信息敏感程度,在web漏洞中可以算是中危甚至高危的漏洞,一下就来说说常见的敏感文件泄露。
5.1 .git泄露
由于目前的web项目的开发采用前后端完全分离的架构:前端全部使用静态文件,和后端代码完全分离。隶属于两个不同的项目。表态文件使用git来进行同步发布到服务器,然后使用nginx指向到指定目录,以达到被公网访问的目的。
在运行git init初始化代码库的时候,会在当前目录下面产生一个.git的隐藏文件,用来记录代码的变更记录等等。在发布代码的时候,把.git这个目录没有删除,直接发布了。使用这个文件,可以用来恢复源代码。
利用方式:
下载githack脚本:https://github.com/lijiejie/GitHack
使用命令:
# python2 githack.py url/.git/
5.2 svn泄露
svn是Subversion的简称,是一个开放源代码的版本控制系统,相较于RCS、CVS,它采用了分支管理系统,他的设计目标就是取代CVS。互联网上很多版本控制服务已从CVS迁移到Subversion。很多网站都使用了Subersion版本控制系统,和使用git版本控制器类似,很多开发者网站安全意识不足,代码放到生产环境后,没有清理svn的一些信息,导致svn残留,因此攻击者可以使用工具dvcs-ripper下载网站源码。
当可以访问到/.svn/entries的时候,就证明存在了。
利用方式:
# Rip-svc.pl -v -u url/.svn/
5.3 DS_Store文件泄露
DS Store文件MAC系统是用来存储这个文件夹的显示属性的:比如文件图标的摆放位置。如果用户删除以后得副作用就是这些文件信息的丢失。这些文件本来是给Finder使用的,但他们被设想作为一种更通用的有关显示设置的元数据存储,诸如图标位置和视图设置。当你需要把代码上传的时候,安全正确的操作应该把.DS.Store文件删除才正确。通过.DS.Store可以知道这个目录里所有的文件名称。
利用方式:
# Python ds_store_exp.py url/.DS_Store
5.4 phpinfo泄露
PHPInfo函数信息泄露常发生一些默认的安装包,比如phpstudy等,默认安装完成后,没有及时删除这些提供环境测试的文件,比较常见的为phpinfo.php、1.php和test.php,虽然通过phpinfo获取的php环境以及变量等信息,但这些信息的泄露配合一些其他漏洞将有可能导致系统被渗透和提权。
获取到真实ip,配置信息,网站根目录等等
5.5 备份文件泄露
备份文件泄露,在web服务中,常常不局限于网站的源代码泄露,网站的数据库备份文件,以及上传的敏感文件或者一切正常备份,原则不允许访问的文件可被通过访问web路径进行下载得到,造成其信息泄露。有效的帮助攻击者理解网站应用逻辑,为展开其他类型的攻击提供有利信息,降低攻击的难度,可以进一步获取其它敏感数据。
如:.zip .rar .tar .7z .bak .txt .pdf .sql等
六、旁站于C段
旁站指的是统一服务器上的其它网站,很多时候,有些网站可能不是那么容易入侵。那么,可以查看该网站所在的服务器上是否还有其他网站。如果有其他网站的话,可以先拿下其他网站的webshell。然后在提权拿到服务器的权限。最后就自然可以拿下该网站。
旁站在线网站查询:
# http://stool.chinaz.com/same
# http://www.ip138.com
# 搜索引擎 如:百度 谷歌 111.20.33.0/24
# nmap等
# 御剑等扫描工具
C段🈯的是同一网段内的其它服务器,每个IP有ABCD四个段,示例,192.168.0.1,A段就是192,B段是168,C段是0,D段是1,而C段嗅探的意思就是拿下它同一C段中的其中一台机器,也就是说D段1-255中的一台服务器,然后利用工具嗅探拿下该服务器。
openEuler 是由开放原子开源基金会孵化的全场景开源操作系统项目,面向数字基础设施四大核心场景(服务器、云计算、边缘计算、嵌入式),全面支持 ARM、x86、RISC-V、loongArch、PowerPC、SW-64 等多样性计算架构
更多推荐

所有评论(0)