knownsec / 404StarLink

404StarLink - 推荐优质、有意义、有趣、坚持维护的安全开源项目
7.93k stars 783 forks source link

JspFinder #50

Closed flowerwind closed 2 years ago

flowerwind commented 2 years ago

项目名称

JspFinder

项目链接

https://github.com/flowerwind/JspFinder

项目简介

受4ra1n师傅的JSPKiller项目的启发,开发的一款可实战的,通过污点追踪发现Jsp webshell的工具(A tool to find Jsp Webshell through stain tracking) 。污点跟踪的实现方式为将jsp编译为class后,通过java代码为class中的方法设置污点,然后模拟jvm堆栈的运行,查看污点能否流入危险方法,如:Runtime.exec、ProcessBuilder。这个过程不和web服务器有任何的挂钩和侵入,完全是独立行为,所以该检测方式不会影响服务器,可以在服务器上放心使用。目前可以检测Runtime/ProcessBuilder/冰蝎/哥斯拉/天蝎的webshell。

项目特点、亮点

1、通过逆拓扑排序方法调用链后进行asm分析,可以发现跨越多个嵌套方法调用的恶意webshell 2、asm污点跟踪通过对输入流能否流入恶意方法来判断webshell,相对于只检测恶意方法字串来判断webshell的工具减少了误报 3、可以检测出如天蝎的api_all_jdk_bypass.jsp 等这种通过反射执行defineClass的bypass webshell 4、可以检测出 https://github.com/LandGrey/webshell-detect-bypass/tree/master/webshell/jsp 的反射变形一句话木马

0x7Fancy commented 2 years ago

项目未通过404星链计划技术评审环节,期待项目后续的更新和迭代,随时欢迎再次投稿