JSP Webshell中的编码问题
2023-12-9 23:22:53 Author: www.freebuf.com(查看原文) 阅读量:11 收藏

freeBuf

主站

分类

漏洞 工具 极客 Web安全 系统安全 网络安全 无线安全 设备/客户端安全 数据安全 安全管理 企业安全 工控安全

特色

头条 人物志 活动 视频 观点 招聘 报告 资讯 区块链安全 标准与合规 容器安全 公开课

官方公众号企业安全新浪微博

FreeBuf.COM网络安全行业门户,每日发布专业的安全资讯、技术剖析。

FreeBuf+小程序

FreeBuf+小程序

前言

前面提及了最普通的JSP Webshell的构造,以及通过分析在java编译过程中对unicode编码的解码过程学习了一些在JSP中的关于unicode编码的绕过方法

这里主要是通过学习了在动态生成java文件的过程中,针对标准的JSP语法和XML格式的语法的编码的获取和解码进行编码~~~~

embed encoding

这里主要是使用在JSP页面中支持的编码进行多次不同的编码进行混淆

主要是Y4tacker师傅的研究成果进行一些代码上面的复现

针对编码的探测主要集中在generateJava方法(通过jsp页面生成等价的servlet页面)中

image-20231107124458984.png

根据注释的内容我们可以明白主要是通过两步

  1. step1: 首先解析jsp中的所有指令

  2. step2: the whole translation unit

指令的解析集中在ParserController#parseDirectives

image-20231107124835548.png

image-20231107124925939.png

我们这仅关注一些关于编码的内容

这里的jspConfigPageEnc变量,是通过getJspConfigPageEncoding方法中Jsp config中获取的,也就是在web.xml中的<page-encoding>标签中的内容

image-20231107125208796.png

之后就是通过determineSyntaxAndEncoding来探测我们需要处理的是标准的JSP语法还是通过XML语法编写的jsp页面,并且获取他们所使用的编码

image-2


文章来源: https://www.freebuf.com/articles/web/386171.html
如有侵权请联系:admin#unsafe.sh