黑客技术:一个“登录框”引发的安全问题(7)

目录浏览漏洞是由于网站存在配置缺陷,存在目录可浏览漏洞,这会导致网站很多隐私文件与目录泄露,比如数据库备份文件、配置文件等,攻击者利用该信息可以更容易得到网站权限,导致网站被黑。

测试方法:

可以利用web漏洞扫描器扫描web应用进行检测,也可通过搜索,网站标题包含“index of”关键词的网站进行访问。

示例:

一般目录遍历都是输入…/…/这种,或者通过御剑进行目录扫描,有的时候会有一些路径可以遍历里面的目录内容

alt

风险分析:

攻击者通过访问网站某一目录时,该目录没有默认首页文件或没有正确设置默认首页文件,将会把整个目录结构列出来,将网站结构完全暴露给攻击者; 攻击者可能通过浏览目录结构,访问到某些隐秘文件(如PHPINFO文件、服务器探针文件、网站管理员后台访问地址、数据库连接文件等)。

修复方案:

目前存在该漏洞的常见中间件为apache和IIS,以下列出其相关的修复方式:

1、 IIS中关闭目录浏览功能:在IIS的网站属性中,勾去“目录浏览”选项,重启IIS。

2、 Apache中关闭目录浏览功能:打开Apache配置文件httpd.conf,查找“Options Indexes FollowSymLinks”,修改为“ Options -Indexes”(减号表示取消,保存退出,重启Apache。

3、 Nginx中默认不会开启目录浏览功能,若您发现当前已开启该功能,可以编辑nginx.conf文件,删除如下两行:autoindex on;autoindex_exact_size on;重启Nginx。

敏感文件信息泄漏

漏洞描述:

敏感数据包括但不限于:口令、密钥、证书、会话标识、License、隐私数据(如短消息的内容)、授权凭据、个人数据(如姓名、住址、电话等)等,在程序文件、配置文件、日志文件、备份文件及数据库中都有可能包含敏感数据。(这里的信息泄露,我包含了常见的已经类似于robots文件等等,包括入侵痕迹残留、打包备份文件遗留等等)

测试方法:

1、检测形式多样,工具爬虫扫描得到敏感文件的路径,从而找到敏感数据,

2、手工挖掘,根据web容器或者网页源代码的查看,找到敏感信息。

示例:

这里我给大家带来了最近比较火的锐捷信息泄露,在源代码中泄露了用户名密码信息

alt

泄露了用户名以及MD5加密的密码

当然了还有一些奇葩的,会直接弹出来测试用户名密码、甚至是用户名密码自动填充等等我觉得只有这些才配成为信息泄露,剩下的泄露个什么加密方式、中间件版本信息啥的太边缘了,懒得测
风险分析:攻击者可通过上述方式获取网站敏感文件,收集网站敏感信息,从而有针对性的进行利用。

修复方案:

1、禁止在代码中存储敏感数据:禁止在代码中存储如数据库连接字符串、口令和密钥之类的敏感数据,这样容易导致泄密。用于加密密钥的密钥可以硬编码在代码中。

2、禁止密钥或帐号的口令以明文形式存储在数据库或者文件中:密钥或帐号的口令必须经过加密存储。例外情况,如果Web容器的配置文件中只能以明文方式配置连接数据库的用户名和口令,那么就不用强制遵循该规则,将该配置文件的属性改为只有属主可读写。

3、禁止在 cookie 中以明文形式存储敏感数据:cookie信息容易被窃取,尽量不要在cookie中存储敏感数据;如果条件限制必须使用cookie存储敏感信息时,必须先对敏感信息加密再存储到cookie。

4、禁止在隐藏域中存放明文形式的敏感数据。

5、禁止用自己开发的加密算法,必须使用公开、安全的标准加密算法。

6、禁止在日志中记录明文的敏感数据:禁止在日志中记录明文的敏感数据(如口令、会话标识jsessionid等), 防止敏感信息泄漏。

7、禁止带有敏感数据的Web页面缓存:带有敏感数据的Web页面都应该禁止缓存,以防止敏感信息泄漏或通过代理服务器上网的用户数据互窜问题。

框架漏洞

漏洞描述:

开发框架存在的漏洞,如Struts2框架漏洞、shiro等(weblogic反序列化中间件的就不写了)

测试方法:

以Struts2远程命令执行为例:

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zyxsdz.html