Jsp中的jsp标准语法和XML语法的多重编码混淆
💡
原文中文,约1400字,阅读约需4分钟。
📝
内容提要
本文介绍了在WebShell检测引擎中对编码的探测方法。通过解析JSP页面中的指令和获取web.xml中的配置,可以确定JSP页面所使用的编码。如果没有特定的后缀和配置,会通过自动探测的方式获取编码。探测方法包括通过BOM解析和获取XML语法中的encoding属性值。以上是第一处编码解析的方法。
🎯
关键要点
- WebShell检测引擎中对编码的探测方法主要通过解析JSP页面中的指令和获取web.xml中的配置来实现。
- 如果没有特定的后缀和配置,编码将通过自动探测的方式获取。
- 探测方法包括通过BOM解析和获取XML语法中的encoding属性值。
- 编码探测的过程分为两步:首先解析jsp中的所有指令,其次确定语法和编码。
- jspConfigPageEnc变量通过web.xml中的<page-encoding>标签获取编码。
- 如果没有指定编码,将通过BOM进行探测,默认编码为UTF-8。
- EncodingDetector类用于自动探测编码,核心是通过processBom进行BOM解析。
- XML语法中encoding属性值的优先级高于BOM探测的结果。
🏷️
标签
➡️