ES文件浏览器CVE

  ES文件浏览器在启动建立了1个.com网络服务器,在当地开启了59777端口号。网络攻击根据结构特定的payload可以获得客户手机上文档,安裝apk等实际操作。

  从fs0c131y所得出的信息内容而言CVE-2019年-6447危害的ES运用版本号为4.1.9.7.4下列,可是在一些版本号的运用该系统漏洞却没法运用,比如从华为手机和google play店铺免费下载的ES就没法圆满复现该系统漏洞,向59777端口号上传payload始终会回应600 ERROR出错,下边将详尽对该系统漏洞开展剖析。

  先简易看过下lib中的库发觉运用沒有加壳,用grep产前筛查下列59777明确有关编码将会在classes2.dex中。

  把classses2.dex反编译后,全局变量检索command发觉存有系统漏洞的类在Com/estrongs/android/f/a当中,而开启系统漏洞的涵数为Com/estrongs/android/f/a.a。

  下边看来下全部系统漏洞的开启全过程,因为搞混编码无论是扔进jeb中還是smali阅读文章起來都较为费劲,因此人们可以先动态性的将程序流程跑一面后纪录trace,剖析android trace文档来查询函数调用栈(运用TraceReader载入)。

  在DDMS上取得成功开启Trace以后,人们还要去结构payload去开启该系统漏洞,系统漏洞实际运用payload见github(htpp://github.Com/fs0c131y/ESFileExplorerOpenPortVuln)。

  把tracer文档扔到TraceReader查询启用栈,可以发觉程序流程进到Com/estrongs/android/f/c$a.run()V来解决了人们的恳求,留意这儿的类的实例化另一半我觉得是a.class而并不是c.class。:

  label_189中,实行了v2_7 = this.a.a_parse_网页地址_other_data(v9, v10, v11, v6, v7);来深化分析并实行相对的command。

  这儿有个难题,假如JEB立即双击鼠标来追踪涵数会自动跳转到自身类中的涵数,而实际上真实启用的是a.class(Com/Com/estrongs/android/f/a)中的涵数a_parse_网页地址_other_data(这儿我对搞混涵数名重新命名了事实上本来的涵数名是a)。

  最终进到Com/estrongs/android/f/c$a.a(Ljava/lang/String;Ljava/lang/String;Ljava/util/Properties;Ljava/io/InputStream;)V将response写回。

  这儿有个必须留意的地区,假如是找不到系统漏洞的ES运用v2_7是为null的也就会进到this.a(“600 Internal Server Error”, “SERVER INTERNAL ERROR: Serve() returned a null response.”);中,这都是许多应用商店上的ES运用都是到报600不正确的缘故。

  拆包静态数据看完,编码大部分還是在f包中,可是多了许多别的的类,a.class仍然是ESHttpServer保持的地区。

  静态数据剖析编码,发觉前边的逻辑性和以前app类似,可是在实行完Com.estrongs.android.f.h.a(Ljava/lang/String;Ljava/util/Properties;)V后又启用了bJ。

  再次向下追踪,人们赶到难题点!bp.q() || !f.e(v8)) !f.a(v8, v2_5)这儿回到了true造成flag_object为null值因此服务器返回了600。

  而FexApplication.a().getSystemService(“uimode”).getCurrentModeType() == 4创立的那时候bp.p()能够为true,依据官方网文本文档4的uimode为电商_MODE_TYPE_TELEVISION。

  除此之外存有另一个这种状况是当你的ip为127.0.0.1那时候flag_object能不以null,但最先你可以考虑v4=null这一先觉标准。

  查询v4 = as.bJ(v9),以前早已说过bJ涵数承担校检了网页地址,人们再再次返回bJ发觉return null仿佛不大可能,v9无论uri怎样结构都是以’/刚开始。

  换句话说在应用商店上的ES版本号无论是走if((!bp.q() || !f.e(v8)) !f.a(v8, v2_5))還是走if(v4 != null as.I(v4) != 0)好像都不可以去往到flag_object = v8_1.a(v9, v10, v11, v6, v7)的逻辑性,那样该系统漏洞就无法开启,但或许也有别的的绕开方式,期待大伙儿可以多多的填补。



免责声明:文章《ES文件浏览器CVE》来至网络,文章表达观点不代表本站观点,文章版权属于原作者所有,若有侵权,请联系本站站长处理!



上一篇:ecshop的前台写shell 0day
下一篇:Fsociety Hacking Tools Pack
您可能感兴趣:
  • 黑客接单黑客头像
  • QQ:33653634