三、注释是怎么导致信息泄露的?
【注释虽然不会被当做代码执行,但可以在前端的源码中被展示出来】。攻击者可以根据源码中的注释内容进行针对性的攻击。注释的设计本是为了方便开发人员,提高研发的效率,开发人员会在前端页面中写开发过程中的注释,由于安全意识淡薄,在项目上线前并不会将注释删除。这些注释可能会包含但不限于以下敏感信息:
- 敏感目录或文件地址,比如后台登录地址
- 内网接口信息
- 网站的基础架构/技术细节
- 用户相关数据,比如测试用的账号密码
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搜索关键字)
- 【工具分析】爬虫工具爬取网页注释内容,审计敏感信息并利用
五、如何防护
针对注释导致的信息泄露,最有效的方法就是在项目打包上线之前【删除可能的敏感注释】
总结
虽然网络安全的圈子不乏各种灰产,以及高调宣传自己是黑客的脚本小子,但不可否认,这个圈子仍有不少人保持着【举世皆浊我独清,众人皆醉我独醒】的心态,努力磨砺技术,提升自身修养,让互联网变得更加安全。
一、网安学习成长路线图
网安所有方向的技术点做的整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。
二、网安视频合集
观看零基础学习视频,看视频学习是最快捷也是最有效果的方式,跟着视频中老师的思路,从基础到深入,还是很容易入门的。
三、精品网安学习书籍
当我学到一定基础,有自己的理解能力的时候,会去阅读一些前辈整理的书籍或者手写的笔记资料,这些笔记详细记载了他们对一些技术点的理解,这些理解是比较独到,可以学到不一样的思路。
四、网络安全源码合集+工具包
光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。
五、网络安全面试题
最后就是大家最关心的网络安全面试题板块
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!