从Java源码来看Native命令执行方法|天天微头条
在RASP等安全产品防护严密的现在,普通的寻找Runtime.getRuntime().exec(cmds)的调用已经成为了一件不现实的事情。
(资料图片仅供参考)
同样的,在Java中盛行的反序列化漏洞中,如果将RCE的功能简单的通过Runtime.getRuntime().exec(cmds)这种结构来进行实现可能大概率也不能达到我们的目的,所以探索一下Runtime的底层实现,使用更加底层且复杂的调用来进行RCE功能的实现相对来说更加的可行。
这里主要是对Java中多种命令执行的方式跟踪源码进行原理分析、构造利用代码、集成自研工具。
前置首先需要对Java中的反射机制有着基本的掌握
通过反射的方式,我们可以获取到任何类的构造方法,类方法,成员变量,且能够获取对应类对象进行对应方法的调用等等目的
获取Class类对象对于类对象的获取,主要可以通过Class.forName / loadClass的方式来获取,值得注意的是,在调用Class.forName进行类的加载的时候,将会调用static方法Class.forName("java.lang.Runtime")
获取对应类的构造方法对于获取类的构造方法,主要可以通过getConstructor或者getDeclaredConstructor这两种方法来进行实现两者的区别主要是前者不能够反射获取private修饰的构造方法,而后者能够获取。
所以通常使用后者进行构造函数的获取,传入的参数就是对应构造方法的参数类。
clazz.getDeclaredConstructor(type.class)clazz.getConstructor(type.class)
反射获取成员变量和构造方法类似的,存在有getField和getDeclaredField两个不同的获取方法,区别和构造函数类似。clazz.getField(name)clazz.getDeclaredField(name)
反射获取类方法同样具有getMethod和getDeclaredMethod两种。...............一个普通的命令执行是
Runtime.getRuntime().exec("calc");
如果使用反射机制可以是
Class.forName("java.lang.Runtime").getMethod("exec", String.class).invoke(runtime, "calc");
或者是其他的一些使用反射机制的变形。
command跟踪Runtime首先我们跟踪Runtime执行命令的过程。
在这里接收一个String类型的参数,调用exec的另一个重在方法对参数进行处理,将其通过分隔符,将其封装成了数组对象(这里就是一个字符串)。
之后通过参数是String[]类型的另一个重载方法,通过调用ProcessBuilder类的方法进行执行。
在ProcessBuilder#start方法中,将命令传递给了ProcessImpl#start方法进行处理
windows在windows中主要是在ProcessImpl的构造方法中调用了create方法。
。这个create方法是通过win32的方式创建了一个进程。
linux在linux下,在ProcessImpl#start的调用中将会创建一个UNIXProcess对象并返回
在UNIXProcess类的构造方法中,调用了forkAndExec这个native方法
创建了一个一个进程,并返回了对应进程的pid
构造命令执行ProcessBuilder#start在上面的流程分析中,知道了在Runtime.getRuntime().exec()方法调用的下一层就是使用ProcessBuilder#start方法。
如果hook掉了我们可以通过使用ProcessBuilder类来进行命令执行的构造。
new ProcessBuilder("calc").start();
或者使用反射的思路构造
//method_1 Class pro = Class.forName("java.lang.ProcessBuilder"); ((ProcessBuilder) pro.getConstructor(List.class).newInstance(Arrays.asList("calc.exe"))).start(); //method_2 Class pro = Class.forName("java.lang.ProcessBuilder"); pro.getMethod("start").invoke(pro.getConstructor(List.class).newInstance(Arrays.asList("calc.exe"))); //method_3 Class pro = Class.forName("java.lang.ProcessBuilder"); ((ProcessBuilder) pro.getConstructor(String[].class).newInstance(new String[][]{{"calc.exe"}})).start(); //method_4 Class pro = Class.forName("java.lang.ProcessBuilder"); pro.getMethod("start").invoke(pro.getConstructor(String[].class).newInstance(new String[][]{{"calc.exe"}}));
ProcessImpl从上面的分析可以知道,在windows环境下的JDK。
ProcessImpl类的构造方法将会调用create方法执行native方法进行命令执行。
所以我们只需要反射获取ProcessImpl类的构造方法并实例化就会执行我们的恶意逻辑。
UNIXProcess上面是针对windows的方式
针对linux,在前面的分析中知道主要是在其start方法中调用了UNIXProcess类的构造方法。
执行forkAndExec这个native方法进行命令执行。
other甚至于,我们知道最后主要是在create方法(windows)、forkAndExec方法(linux)中执行命令,我们同样可以通过反射这两个方法进行命令执行。
本文作者:superLeeH,转载请注明来自
标签:
-
2022-09-15 14:23:06
杨莉娜租借加盟巴黎圣日耳曼 与姆巴佩梅西拉莫斯一起共事<
北京时间9月13日下午,法甲女足俱乐部巴黎圣日耳曼正式官宣中国女足国脚杨莉娜完成租借加盟,合同期至2023年6月。杨莉娜成为目前国家队中第
-
2022-02-07 14:57:45
奇迹!绝杀!女足亚洲杯逆转夺冠!<
刚刚,中国女足上演逆转绝杀奇迹!她们在亚洲杯决赛中3:2力克韩国队,时隔16年再夺亚洲杯冠军!
-
2022-02-07 14:57:45
中国政府与阿根廷共和国政府签署共建“一带一路”谅解备忘录<
新华社北京2月6日电(记者安蓓)国家发展改革委6日称,国家发展改革委主任何立峰与阿根廷外交、国际贸易和宗教事
-
2022-02-07 14:57:43
中华人民共和国和阿根廷共和国关于深化中阿全面战略伙伴关系的联合声明(全文)<
新华社北京2月6日电中华人民共和国和阿根廷共和国关于深化中阿全面战略伙伴关系的联合声明一、应中方邀请,阿根廷
-
2022-02-07 14:57:40
春节假期国内旅游出游2.51亿人次<
春节遇冬奥,旅游年味浓。根据文化和旅游部数据中心测算,2022年春节假期7天,全国国内旅游出游2 51亿人次,同比
-
2023-04-28 13:32:28
从Java源码来看Native命令执行方法|天天微头条
概述在RASP等安全产品防护严密的现在,普通的寻找Runtime getRuntime() exec(cmds)的调用已经成为了一件不
-
2023-04-28 12:55:12
环球讯息:美人江湖录_丽人江湖
美人江湖录,丽人江湖这个很多人还不知道,现在让我们一起来看看吧!1、武侠类的变身小说(注意,是男变女,
-
2023-04-28 12:21:31
焦点滚动:午评:沪指重返3300点,游戏ETF“涨停”,AI概念节前再度上演逼空行情
早盘A股增量资金入场,各大指数振荡走高,游戏板块集体大涨,游戏ETF甚至涨停了,AI概念集体暴动,节前再度
-
2023-04-28 12:00:31
天天即时看!“五一”期间,温州这些办事场所营业时间有变化
“五一”小长假期间,温州市民中心以及各供电营业厅、公用便民服务大厅等场所的营业时间也有所调整。
-
2023-04-28 11:30:47
中国男篮归化又生变化!李凯尔经纪团队发声,或是钱不够多!
中国男篮归化又生变化!李凯尔经纪团队发声,或是钱不够多!,李凯尔,奥运会,安德森,CBA,中国男篮,中国女篮,
-
2023-04-28 11:11:48
金都城:低位横盘走区间,越是横盘区间越是小!
低位横盘较为明显,上下空间基本锁死,所以短期走势结构较为明显,区间小上下幅度不是很大,围绕2000点上下
-
2023-04-28 10:33:36
多措并举稳定和扩大就业
原标题:多措并举稳定和扩大就业(权威发布)一季度全国城镇新增就业297万人,同比增加12万人;3月城镇
-
2023-04-28 10:22:51
临街商铺突“走水” 扑救及时无人伤
南通网讯昨天中午,位于崇川区濠东路的一家路边商铺突发火灾。现场扑救人员告诉记者,事故中没有人受伤。本
-
2023-04-28 09:49:15
天天速读:嘉凯城一季度归母净亏损1.47亿 净资产减少151.21%至-2.44亿
截至报告期末,嘉凯城总资产102 23亿元,比上年度末减少2 1%;归属于上市公司股东的所有者权益为-2 44亿元
-
2023-04-28 09:37:34
水蜜桃适合放冰箱保存吗 水蜜桃放冰箱还是常温
水蜜桃可以放冰箱保存,但需要注意以下几点:选择成熟的水蜜桃。过硬或未成熟的水蜜桃不宜冷藏,将水蜜桃放
-
2023-04-28 09:04:55
廖启川事件-每日消息
1、廖启川,1911年生,毕业于日本东京帝国大学法律系。2、1955年在南投县某校任教务主任时,曾参加竞选南投
-
2023-04-28 08:22:39
居然之家2022年营收129.81亿元|年报|天天观焦点
4月27日,居然之家(SZ000785)发布2022年年度报告。公告显示,2022年公司实现营业收入129 81亿元;实
-
2023-04-28 07:56:18
环球短讯!青海首条穿越采油区公路——茫油石公路G315改线工程通车(图)
4月26日,位于青海省海西州茫崖市境内的茫油石公路G315改线工程实现通车。
-
2023-04-28 06:55:28
暗黑佣兵II_对于暗黑佣兵II简单介绍
1、《暗黑佣兵II》是一本网络小说。2、其作者其他作品还有:《暗黑佣兵》。文章到此就分享结束,希望对大家
-
2023-04-28 05:59:00
英镑下滑打响1.29保卫战!若再次失守,接下去恐跌向1.27?-天天热门
英镑兑美元上周一度跌破1 29关键支撑,市场普遍预测其将进一步下滑。德国商业银行认为,接下去将测试55日均
-
2023-04-28 04:52:22
电脑上ppt打不开怎么回事_电脑上的ppt打不开怎么回事
1、office2003版文与office2007版本不同的常规问题:低版本创建,高版本容易打不开,有时高版本创
-
2023-04-28 03:07:30
【3店通用·炭火匠人】美团产品!随时可退!69元抢购164元套餐1:【闭眼屯】撸串双人餐套餐内容|动态焦点
营业执照媒体支持购买方式长按图片二维码即可购买各路吃货速速集结炭火匠人广受好评打动食客味蕾的秘诀不仅
-
2023-04-28 00:56:37
速看:女主是高智商变态法医的小说_女主是高智商变态
1、黑配绿茶婊白莲花重命贵妻重才鬼医狂医圣手至尊弃些变态情节强宠文。本文分享完毕,希望对大家有所帮助
-
2023-04-27 23:03:23
最快年内发布,新款宾利欧陆GT谍照曝光 环球热点
日前,我们从外媒获取了一组宾利欧陆(图片|配置|询价)(参数|询价)GT的测试谍照。据悉,新车应该是现款欧陆G
-
2023-04-27 22:02:20
观焦点:V观财报|西王食品一季度亏损翻番 控股股东减持200余万股
V观财报|西王食品一季度亏损翻番控股股东减持200余万股,持股,西王食品,上市公司,东吴证券,西王集团
-
2023-04-27 20:48:33
天天观察:猫和证书图猜成语_看图猜成语车猫证书
1、火冒三丈huǒ mào sān zhàng[释义]怒火上升三丈高。2、形容十分愤怒。3、[辨形]三;不能写作“山”。
-
2023-04-27 20:14:49
环球即时:渤海化学(600800.SH)发布一季度业绩 净亏损1.09亿元
智通财经APP讯,渤海化学(600800 SH)披露2023年第一季度报告,该公司报告期实现营业收入5 20亿元,同比下降
-
2023-04-27 19:44:55
步步高2022年归母净亏损25.44亿元 同比减少1281.4%|天天热消息
2022年步步高关闭扭亏无望门店共139家,并在2022年下半年做出战略收缩调整:超市业务全面退出四川和江西市
-
2023-04-27 19:12:05
《逆水寒》老兵服新赛季即将开启 参与预约领限定外观 天天看热讯
今日,《逆水寒》老兵服正式开启了新赛季【白石神殿】的预约活动,感兴趣的玩家可以前往预约站扫码预约,并
-
2023-04-27 18:50:04
时讯:湖北:加快县域医院建设 让群众就近看得好病
近年来,湖北部署实施“双百县”三甲医院创建及“千县工程”,三级医院对口帮扶县级医院、临床重点专科建设
-
2023-04-27 18:28:57
调查:美国纽约市约半数有劳动适龄人口的家庭入不敷出|当前观点
[新闻页-台海网]一份25日发布的调查报告显示,在美国纽约市有劳动适龄人口的家庭当中约半数入不敷出,难以
-
2023-04-27 17:49:01
环球今头条!太平鸟飞不动了?
净利大幅下滑,高管仓促离职,这家总市值近百亿的老牌服饰品牌,风光已不复往日。来源|《经理人》杂志融媒
-
2023-04-27 17:13:47
天天热讯:烟雨江湖典妻换钱任务攻略(烟雨江湖典妻换钱任务怎么做)
烟雨江湖典妻换钱任务怎么做?典妻换钱任务其实就是哭声风波,于烟雨江湖3月30日更新中新增,我们需要前往
-
2023-04-27 17:05:09
quattro ultra四驱系统到底强在哪?开着奥迪Q5L去试试!
不知你是否发现,时下越来越火热的新能源车已经从当初的“卷”豪华、加速、续航、安全等,从年初开始“卷”
-
2023-04-27 16:22:16
美股异动|新能源车盘前普涨菲斯克涨约4%
美股异动|新能源车盘前普涨菲斯克涨约4%:菲斯克盘前继续涨约4%,此前3日连涨35%,LucidGroup、理想汽车、