探索java动态加载特性实现jsp webshell绕过

访客3年前黑客工具519

整体介绍

共四个jsp webshell 当时用来参加青藤webshell bypass 活动。主要思路是在静态中寻找动态特性:jdk内置javascript引擎class字节码加载

0.jsp webshell裸奔

最直接的写法直接over。另外发现本机PC windows defender也有把0.jsp查杀了。

image

1.jsp 借助JavaScript引擎开始之一次动态化

jdk内置javascript引擎,其中从jdk1.6默认实现是:Rhino jdk,jdk 1.8之后是:nashorn。1.jsp有对jdk不同版本做了适配。

2.jsp 基于动态化后的变形

1.jsp中只是使用了js引擎,但是还没充分发挥动态脚本混淆和变形的能力,2.jsp尝试做简单的替换变形。我们知道xss的防护对正则检测的挑战是很大的,个人的感受是xss经常伴随着html和JavaScript的混合,并且JavaScript的变化多端容易混淆带来的进一步的检测难度,这里我们实现了类似的思路:java 与JavaScript的混合,JavaScript的动态多变能力依然可以发力,所以无论是正则还是静态语法分析的检测方式应该都会带来一些障碍。

3.jsp 字节码动态加载

3.jsp 是基于defineClass0 加载字节码来bypass。当时的思路也是想历次的入侵黑客喜欢用base64做些绕过,java可以动态加载字节码,字节码十六进制传递很难被正则waf抓住。后面在研究 ”冰蟹“ 的时候看到也用了defineclass方式。

内置JavaScript引擎带来的脆弱

JEP提案,开发者 与安全三者的感想

jdk中是否要内置JavaScript引擎值得商榷,的确java开发者有比较强的 动态脚本 的需求,比如我自己做些规则引擎,配置系统的时候常用到这样的特性。这样的需求groovy是个很好的榜样,由第三方jar包提供。现实情况下内置的javascript引擎性可能不满足应用需求,比如jdk从1.8将实现换成nashorn,到了jdk15提案中又有人提议替换掉nashorn。还有在自己研究百度openrasp的时候,可以看到最早期版本java对应的规则引擎是由jdk内置提供的,而到最后还是因为性能问题切换到V8引擎。

solr配置脚本RCE

另记一次solr CVE-2019-0193 远程代码执行漏洞,记得当初这个0day爆出的时候乙方的poc文章对payload打了马赛克,结合官方文档已经猜到是javascript动态配置引起,立马验证确实如此。此处有“default”,脆弱性立马显现。

image

一句话javascript引擎哪家强有由用户自己决定吧

对比其他webshell工具

在写完上面的几个jsp的webshell的时候,和部门做渗透同事交流他提到过一个“冰蟹”。以前对webshell工具的理解上更多的关注自动化,方便,比如“中国菜刀”。但是“冰蟹”不同,他借用了协议交互会话的逻辑去增强bypass能力,开阔了思路值得借鉴。

RASP能做些什么?

以百度rasp为例,针对冰蟹,javascript动态脚本的webshell如何去匹配呢?

我们可以看到rasp会hook住java stacks信息,然后去和已知的黑名单库去匹配,比如上面提到的 javascript引擎手法(关键字nashorn),冰蟹(关键字behinder)。不得不说rasp这种以调用栈作为上下文检测的更加精准,但是软件的生命周期是迭代的,对抗的手法也是升级的。

比如javascript引擎随着jdk版本的迭代而变化,策略脚本中缺失了jdk 1.8 之前Rhino方式 。对于冰蟹关键字”behinder“匹配能够防住工具小子,尽管冰蟹作者没有公布源码,但是拟向这类工具更改包名都不是难事,从而逃脱rasp的检查。

相关文章

一方出轨怎么查开宾馆记录(老婆出轨怎样查酒

一方出轨怎么查开宾馆记录(老婆出轨怎样查酒店记录)男子怀疑老婆出轨,却无真凭实据,想通过他人运用网络技术手段,查询老婆的微信聊天记录,便从网上找来所谓的“私家侦探”团队帮忙。不料,老婆的隐私信息没查到...

dnf生命之息怎么得?dnf生命之息怎么来的快

dnf生命之息怎么得?dnf生命之息怎么来的快

自从DNF中开启了暴走安徒恩后,游戏内的材料市场中各种材料的价值均发生了不同程度的价格涨跌,那么各位玩家应该如何把握这次时机,以及怎么安排以后该刷的材料去赚钱呢?今天小编就为大家带来详细分析。 无尽...

qq密码被黑客盗了怎么找回(黑客怎么知道qq密码)

一、qq密码被黑客盗了怎么找回(黑客怎么知道qq密码) 1、QQ密码被黑客盗后怎么才能找回?找不回来了.我的前一段时间也被盗了一个.你再弄一个新QQ,加密码保护就行了. 2、如何用黑客软件找回自己忘...

浅析,百度SEO,无外链排名的可行性

浅析,百度SEO,无外链排名的可行性

到2020年,这一比例已经高出一半。在已往的两年里,百度搜索经验了庞大的变革。用“雷霆万钧”来形容也不外分。每当百度官员推出相关搜索引擎算法并调解相关机制时,我们老是举办习惯性的深入研究。 因此,我们...

黑客不收定金先办事后付费(收定金会计分录)

黑客收到定金会计分录预收定金时,会计分录为:借:银行存款贷:预收账款收到余款,并且货款全部结清时:借:银行存款预收账款贷:主营业务收入/其他业务。 定金和订金是两个概念。定金如果反悔不退还;订金要退还...

米亚罗山庄(米亚罗红叶最佳时间)

米亚罗的红叶位于高原地区,秋天来得特别早,而米亚罗的红叶也是秋天才绽放,9月中旬的时候米亚罗红叶就开始慢慢的变红了~到10月的时候,红叶是最红。 米亚罗红叶最佳观赏时间是10-11月。主要景点均在川藏...