java.util.Set<java.lang.String> _jspx_imports_classes; static { _jspx_imports_packages = new java.util.HashSet<>(); _jspx_imports_packages.add("javax.servlet"); _jspx_imports_packages.add ("javax.servlet.http"); _jspx_imports_packages.add("javax.servlet.jsp"); _jspx_imports_classes GET".equals(_jspx_method) && !"POST".equals(_jspx_method) && !" (t instanceof javax.servlet.jsp.SkipPageException)){ out = _jspx_out; if (out !
; static { _jspx_dependants = new java.util.HashMap<java.lang.String,java.lang.Long>(1); _ = null; javax.servlet.jsp.PageContext _jspx_page_context = null; try { response.setContentType (t instanceof javax.servlet.jsp.SkipPageException)){ out = _jspx_out; if (out ! = null) _jspx_page_context.handlePageException(t); else throw new ServletException(t); } } finally { _jspxFactory.releasePageContext(_jspx_page_context); } } } 可以看出,只翻译成一个java
java.util.Set<java.lang.String> _jspx_imports_classes; static { _jspx_imports_packages = new java.util.HashSet<>(); _jspx_imports_packages.add("javax.servlet"); _jspx_imports_packages.add ("javax.servlet.http"); _jspx_imports_packages.add("javax.servlet.jsp"); _jspx_imports_classes GET".equals(_jspx_method) && !"POST".equals(_jspx_method) && !" (t instanceof javax.servlet.jsp.SkipPageException)){ out = _jspx_out; if (out !
= null; javax.servlet.jsp.PageContext _jspx_page_context = null; try { response.setContentType jspxFactory.getPageContext(this, request, response, null, true, 8192, true); _jspx_page_context (t instanceof javax.servlet.jsp.SkipPageException)){ out = _jspx_out; if (out ! = null) _jspx_page_context.handlePageException(t); else throw new ServletException(t); } } finally { _jspxFactory.releasePageContext(_jspx_page_context); } }
GET".equals(_jspx_method) && !"POST".equals(_jspx_method) && !"HEAD".equals(_jspx_method) && ! = null; javax.servlet.jsp.PageContext _jspx_page_context = null; try { response.setContentType (t instanceof javax.servlet.jsp.SkipPageException)){ out = _jspx_out; if (out ! = null) _jspx_page_context.handlePageException(t); else throw new ServletException(t); } } finally { _jspxFactory.releasePageContext(_jspx_page_context); } } 我们就看看这个用来响应用户请求的方法
本文通过分析多个历史冰蝎版本及五种脚本(asp|aspx|jsp|jspx|php),结合第二点检测冰蝎上线的静态特征,并总结部分snort规则。 (php|jsp|asp|jspx|aspx) HTTP/1.1" 本文暂未使用此特征。 jspx加密流量下行 ? "Content-Type:text/xml" 弱特征8:长连接(可绕过) 冰蝎通讯默认使用长连接,避免了频繁的握手造成的资源开销。 第二种情况(不满足第一种情况), 1.检测POST请求 jspx 特征 2.检测POST响应 jspx 特征 冰蝎snort规则总结 综上 alert http any any -> any any(msg (php|jsp|asp|jspx|aspx)\?
= null; PageContext _jspx_page_context = null; try { response.setContentType("text/html (t instanceof SkipPageException)){ out = _jspx_out; if (out ! = 0) try { out.clearBuffer(); } catch (java.io.IOException e) {} if (_jspx_page_context = null) _jspx_page_context.handlePageException(t); else log(t.getMessage(), t); } } finally { _jspxFactory.releasePageContext(_jspx_page_context); } } } 声明注释,都可以很详细的看到。
= out; out.write('\r'); out.write('\n'); if (true) { _jspx_page_context.forward (t instanceof javax.servlet.jsp.SkipPageException)){ out = _jspx_out; if (out ! = 0) try { out.clearBuffer(); } catch (java.io.IOException e) {} if (_jspx_page_context = null) _jspx_page_context.handlePageException(t); else throw new ServletException(t); } } finally { _jspxFactory.releasePageContext(_jspx_page_context); } } } 从代码可以看出,类继承于
= out; out.write('\r'); out.write('\n'); if (true) { _jspx_page_context.forward (t instanceof javax.servlet.jsp.SkipPageException)){ out = _jspx_out; if (out ! = 0) try { out.clearBuffer(); } catch (java.io.IOException e) {} if (_jspx_page_context = null) _jspx_page_context.handlePageException(t); else throw new ServletException(t); } } finally { _jspxFactory.releasePageContext(_jspx_page_context); } } } 从代码可以看出,类继承于
html",".htm",".phtml",".pHp",".pHp5",".pHp4",".pHp3",".pHp2",".Html",".Htm",".pHtml",".jsp",".jspa",".jspx ",".jsw",".jsv",".jspf",".jtml",".jSp",".jSpx",".jSpa",".jSw",".jSv",".jSpf",".jHtml",".asp",".aspx", ",".jsw",".jsv",".jspf",".jtml",".jSp",".jSpx",".jSpa",".jSw",".jSv",".jSpf",".jHtml",".asp",".aspx", ",".jsw",".jsv",".jspf",".jtml",".jSp",".jSpx",".jSpa",".jSw",".jSv",".jSpf",".jHtml",".asp",".aspx", ",".jsw",".jsv",".jspf",".jtml",".jSp",".jSpx",".jSpa",".jSw",".jSv",".jSpf",".jHtml",".asp",".aspx",
> 表示内容以utf-8进行内容编码 识别xml格式的方式 1.根据后缀名.jspx或.tagx (文中说明不作讨论)2.后缀名不符合则根据文本内容是否包含有形如<xxx:root格式的文本,如果有也会识别为一个 ){ JspBean bean_jspx = TranslateToBeanEx_jspx(code); if (bean_jspx.getDeclarations( = null) declaration = concatenateStrings(bean_jspx.getDeclarations()); if (bean_jspx.getScriptlets ","jspx_unicode","jspx_double_ibm037" }; Generate() { } public static byte[] GenerateShellLoder(String 比如temp_suffix即使为jspx也进入,因为它无法进入到下面的switch case中 if(temp_suffix!
8.删除jspx文件解析:Tomcat默认是可以解析jspx文件格式的后缀,解析jspx给服务器带来了极大的安全风险,若不需要使用jspx文件,建议删除对jspx的解析,具体操作为修改conf/web.xml 文件:将如下代码注释掉: <url-pattern>*.jspx</url-pattern> 9.文件目录权限配置:Web目录和文件属主不能与tomcat启动用户属主相同。
|.jsw|.jsv|.jspf|.jtml|.jSp|.jSpx|.jSpa|.jSw|.jSv|.jSpf|.jHtml|.asp|.aspx|.asa|.asax|.ascx|.ashx|.asmx ",".jsw",".jsv",".jspf",".jtml",".jSp",".jSpx",".jSpa",".jSw",".jSv",".jSpf",".jHtml",".asp",".aspx", |.jsw|.jsv|.jspf|.jtml|.jSp|.jSpx|.jSpa|.jSw|.jSv|.jSpf|.jHtml|.asp|.aspx|.asa|.asax|.ascx|.ashx|.asmx ",".jsw",".jsv",".jspf",".jtml",".jSp",".jSpx",".jSpa",".jSw",".jSv",".jSpf",".jHtml",".asp",".aspx", ",".jsw",".jsv",".jspf",".jtml",".jSp",".jSpx",".jSpa",".jSw",".jSv",".jSpf",".jHtml",".asp",".aspx",
htm",".phtml",".pht",".pHp",".pHp5",".pHp4",".pHp3",".pHp2",".Html",".Htm",".pHtml",".jsp",".jspa",".jspx ",".jsw",".jsv",".jspf",".jtml",".jSp",".jSpx",".jSpa",".jSw",".jSv",".jSpf",".jHtml",".asp",".aspx", htm",".phtml",".pht",".pHp",".pHp5",".pHp4",".pHp3",".pHp2",".Html",".Htm",".pHtml",".jsp",".jspa",".jspx ",".jsw",".jsv",".jspf",".jtml",".jSp",".jSpx",".jSpa",".jSw",".jSv",".jSpf",".jHtml",".asp",".aspx",
",".jsw",".jsv",".jspf",".jtml",".jSp",".jSpx",".jSpa",".jSw",".jSv",".jSpf",".jHtml",".asp",".aspx", ",".jsw",".jsv",".jspf",".jtml",".jSp",".jSpx",".jSpa",".jSw",".jSv",".jSpf",".jHtml",".asp",".aspx", ",".jsw",".jsv",".jspf",".jtml",".jSp",".jSpx",".jSpa",".jSw",".jSv",".jSpf",".jHtml",".asp",".aspx", ",".jsw",".jsv",".jspf",".jtml",".jSp",".jSpx",".jSpa",".jSw",".jSv",".jSpf",".jHtml",".asp",".aspx", ",".jsw",".jsv",".jspf",".jtml",".jSp",".jSpx",".jSpa",".jSw",".jSv",".jSpf",".jHtml",".asp",".aspx",
ServletConfig config = null; 37 JspWriter out = null; 38 Object page = this; 39 JspWriter _jspx_out = null; 40 PageContext _jspx_page_context = null; 41 42 43 try { 44 response.setContentType (t instanceof SkipPageException)){ 83 out = _jspx_out; 84 if (out ! = 0) 85 try { out.clearBuffer(); } catch (java.io.IOException e) {} 86 if (_jspx_page_context (_jspx_page_context); 90 } 91 } 92 } 我们可以看到,index_jsp这个类是继承 org.apache.jasper.runtime.HttpJspBase
= new java.util.HashSet<>(); _jspx_imports_packages.add("javax.servlet"); _jspx_imports_packages.add ("javax.servlet.http"); _jspx_imports_packages.add("javax.servlet.jsp"); _jspx_imports_classes = null; javax.servlet.jsp.PageContext _jspx_page_context = null; try { response.setContentType response) throws java.io.IOException, javax.servlet.ServletException { final java.lang.String _jspx_method = null; javax.servlet.jsp.PageContext _jspx_page_context = null; try { response.setContentType
= request.getMethod(); if ("OPTIONS".equals(_jspx_method)) { response.setHeader("Allow GET".equals(_jspx_method) && !"POST".equals(_jspx_method) && !" HEAD".equals(_jspx_method)) { response.setHeader("Allow","GET, HEAD, POST, OPTIONS"); (t instanceof javax.servlet.jsp.SkipPageException)){ out = _jspx_out; if (out ! = null) _jspx_page_context.handlePageException(t); else throw new ServletException(t);
影响版本: jeecms V6/v7版本 脆弱接口: /ueditor/getRemoteImage.jspx 描述:源码中寻找getRemoteImage.jspx文件,服务器上未发现该文件了。 数据包转换地址:http://ld8.me/multipart.php 漏洞演示:转换之后服务器端发送的数据包如下: POST /ueditor/getRemoteImage.jspx HTTP/1.1 表单构造内容如下图所示: <form action="http://192.168.231.133:8080/ueditor/getRemoteImage.<em>jspx</em>" method="post" enctype 默认注册地址:http://www.xxx.com/register.jspx @RequestMapping(value = "/member/o_swfAttachsUpload.jspx", method
使用者无需关心免杀实现,只需要在Windows x64位系统运行即可,命令行输入:ByPassBehinder.exe 目前支持格式为常见WebShell全版本格式:ASP,ASP.NET,PHP,JSP,JSPX 速度最快 管理员:是 扫描内容 C:\Users\Administrator\Desktop\Demo\ 扫描结果 未发现安全威胁 Virustotal: ASP: ASPX: PHP: JSP: JSPX : 后门可用性 ASP: ASPX: PHP: JSP: JSPX: 免责声明 本开源工具是由作者按照开源许可证发布的,仅供个人学习和研究使用。