您当前的位置: 首页 > 

wespten

暂无认证

  • 2浏览

    0关注

    899博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

JSP Webshell 免杀

wespten 发布时间:2022-08-01 16:59:21 ,浏览量:2

分享一些利用JSP特性来对抗语法树类引擎的技巧。

一、“非主流”JSP语法

上面提到JSP在第一次运行的时候会先被Web容器,如Tomcat翻译成Java文件,然后才会被Jdk编译成为Class加载到jvm虚拟机中运行。JDK在编译的时候只看java文件的格式是否正确。而Tomcat在翻译JSP的不会检查其是否合乎语法。

所以我们就可以利用这一点,故意构造出不符合语法规范的JSP样本,来对抗检测引擎的AST分析。

可以看到编译后的文件刚好把上下文的try catch闭合,形成了合法的Java源文件,所以能够通过JDK的编译正常运行。

二、“特殊”内置对象

继续来看翻译后的Java文件,可以看的Servlet继承了org.apache.jasper.runtime.HttpJspBase类。

在_jspService中有我们写的业务逻辑,在此之前可以看到一系列包括request,response,pageContext等内置对象的赋值操作。其中发现pageContext会赋值给_jspx_page_context,所以就可以直接使用_jspx_page_context来代替

关注
打赏
1665965058
查看更多评论
立即登录/注册

微信扫码登录

0.0775s