网安入门须知:注释的危害居然这么大?——注释漏洞导致的信息泄露_jsp页面中包含html注释泄露敏感信息缺陷

73 阅读5分钟

一、什么是信息泄露漏洞?

信息泄露是指【网站无意间向用户泄露敏感信息】,一些安全意识淡薄的管理员或技术人员无法区分普通信息和敏感信息,从而将敏感信息当做普通数据展示在前端源码中或者明文传输。

二、信息泄露有什么危害?

【千里之堤,毁于蚁穴】,敏感信息泄露虽然被评为危害较低的漏洞,但有些时候,就是这些敏感信息往往会给攻击者攻击提供很大的帮助,一个微小的漏洞,经过攻击者的巧妙利用,也有可能对企业和用户造成巨大的危害

在这里插入图片描述

三、注释是怎么导致信息泄露的?

【注释虽然不会被当做代码执行,但可以在前端的源码中被展示出来】。攻击者可以根据源码中的注释内容进行针对性的攻击。注释的设计本是为了方便开发人员,提高研发的效率,开发人员会在前端页面中写开发过程中的注释,由于安全意识淡薄,在项目上线前并不会将注释删除。这些注释可能会包含但不限于以下敏感信息:

  1. 敏感目录或文件地址,比如后台登录地址
  2. 内网接口信息
  3. 网站的基础架构/技术细节
  4. 用户相关数据,比如测试用的账号密码

1、HTML注释

HTML常用的注释格式是 <!-- 注释内容 -->,很多语言都会支持这种注释,开发人员可能会在注释内容中透漏一些敏感信息,比如下面的这张图片,泄露了测试用的账号和密码

在这里插入图片描述

2、JSP注释

并不是只有HTML的页面才会导致信息泄露,JSP页面同样存在这样的问题,这主要是因为JSP页面中支持使用HTML的注释。JSP常用的注释有两种:

  1. <%-- 注释内容 --%>
    这种注释方式不会在前端源码中展示
  2. <!-- 注释内容 -->
    这种HTML的注释会在前端源码中展示,并且很多开发人员习惯用这种HTML注释,而不是使用上面的JSP注释。如果一定要写注释的话,推荐使用上面的JSP注释。

3、JS代码

JavaScript 同HTML和CSS一样,都会在前端源码中展示,这也是其导致信息泄露的原因之一。JavaScript的代码中通常会包含一些【敏感目录或API接口】,比如下面这个JS代码就暴露了目录 /admin

在这里插入图片描述

四、利用方式

  1. 【手动分析】右键查看网页源代码,审计敏感信息并利用(或者Ctrl+f搜索关键字)
  2. 【工具分析】爬虫工具爬取网页注释内容,审计敏感信息并利用

五、如何防护

尾声

面试成功其实都是必然发生的事情,因为在此之前我做足了充分的准备工作,不单单是纯粹的刷题,更多的还会去刷一些Android核心架构进阶知识点,比如:JVM、高并发、多线程、缓存、热修复设计、插件化框架解读、组件化框架设计、图片加载框架、网络、设计模式、设计思想与代码质量优化、程序性能优化、开发效率优化、设计模式、负载均衡、算法、数据结构、高级UI晋升、Framework内核解析、Android组件内核等。

不仅有学习文档,视频+笔记提高学习效率,还能稳固你的知识,形成良好的系统的知识体系。这里,笔者分享一份从架构哲学的层面来剖析的视频及资料分享给大家梳理了多年的架构经验,筹备近6个月最新录制的,相信这份视频能给你带来不一样的启发、收获。

Android进阶学习资料库

一共十个专题,包括了Android进阶所有学习资料,Android进阶视频,Flutter,java基础,kotlin,NDK模块,计算机网络,数据结构与算法,微信小程序,面试题解析,framework源码!

image

大厂面试真题

PS:之前因为秋招收集的二十套一二线互联网公司Android面试真题 (含BAT、小米、华为、美团、滴滴)和我自己整理Android复习笔记(包含Android基础知识点、Android扩展知识点、Android源码解析、设计模式汇总、Gradle知识点、常见算法题汇总。)

《2017-2020字节跳动Android面试历年真题解析》

如果需要PDF版本可以自行领取!