二、信息泄露有什么危害?
【千里之堤,毁于蚁穴】,敏感信息泄露虽然被评为危害较低的漏洞,但有些时候,就是这些敏感信息往往会给攻击者攻击提供很大的帮助,一个微小的漏洞,经过攻击者的巧妙利用,也有可能对企业和用户造成巨大的危害
三、注释是怎么导致信息泄露的?
【注释虽然不会被当做代码执行,但可以在前端的源码中被展示出来】。攻击者可以根据源码中的注释内容进行针对性的攻击。注释的设计本是为了方便开发人员,提高研发的效率,开发人员会在前端页面中写开发过程中的注释,由于安全意识淡薄,在项目上线前并不会将注释删除。这些注释可能会包含但不限于以下敏感信息:
- 敏感目录或文件地址,比如后台登录地址
- 内网接口信息
- 网站的基础架构/技术细节
- 用户相关数据,比如测试用的账号密码
1、HTML注释
HTML常用的注释格式是
<!-- 注释内容 -->,很多语言都会支持这种注释,开发人员可能会在注释内容中透漏一些敏感信息,比如下面的这张图片,泄露了测试用的账号和密码
2、JSP注释
并不是只有HTML的页面才会导致信息泄露,JSP页面同样存在这样的问题,这主要是因为JSP页面中支持使用HTML的注释。JSP常用的注释有两种:
<%-- 注释内容 --%>
这种注释方式不会在前端源码中展示<!-- 注释内容 -->
这种HTML的注释会在前端源码中展示,并且很多开发人员习惯用这种HTML注释,而不是使用上面的JSP注释。如果一定要写注释的话,推荐使用上面的JSP注释。
3、JS代码
JavaScript 同HTML和CSS一样,都会在前端源码中展示,这也是其导致信息泄露的原因之一。JavaScript的代码中通常会包含一些【敏感目录或API接口】,比如下面这个JS代码就暴露了目录 /admin
四、利用方式
- 【手动分析】右键查看网页源代码,审计敏感信息并利用(或者Ctrl+f搜索关键字)
- 【工具分析】爬虫工具爬取网页注释内容,审计敏感信息并利用
五、如何防护
针对注释导致的信息泄露,最有效的方法就是在项目打包上线之前【删除可能的敏感注释】
写在最后
在结束之际,我想重申的是,学习并非如攀登险峻高峰,而是如滴水穿石般的持久累积。尤其当我们步入工作岗位之后,持之以恒的学习变得愈发不易,如同在茫茫大海中独自划舟,稍有松懈便可能被巨浪吞噬。然而,对于我们程序员而言,学习是生存之本,是我们在激烈市场竞争中立于不败之地的关键。一旦停止学习,我们便如同逆水行舟,不进则退,终将被时代的洪流所淘汰。因此,不断汲取新知识,不仅是对自己的提升,更是对自己的一份珍贵投资。让我们不断磨砺自己,与时代共同进步,书写属于我们的辉煌篇章。
需要完整版PDF学习资源私我
详情docs.qq.com/doc/DSlhRRFFyU2pVZGhS