`

jsp页面高危漏洞的解决办法

阅读更多
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE html  PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<%@ page language="java" import="java.util.*,java.lang.*"
	pageEncoding="UTF-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jstl/core_rt"%>
<%@ taglib prefix="sql" uri="http://java.sun.com/jstl/sql_rt"%>
<%@taglib uri="http://java.sun.com/jstl/fmt_rt" prefix="fmt"%>
<html>
 <head>
  <title> New Document </title>
  <meta name="Generator" content="EditPlus">
  <meta name="Author" content="">
  <meta name="Keywords" content="">
  <meta name="Description" content="">
<script type="text/javascript">

var kw = "<%=request.getParameter("sword")%>";

</script>
 </head>

 <body>
  
 </body>
</html>

注入漏洞:

http://wap.51bi.com/wap/search/searchindex.jsp?page=1&sword=";alert('hacker');"

 

解决办法:

<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE html  PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<%@ page language="java" import="java.util.*,java.lang.*"
    pageEncoding="UTF-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jstl/core_rt"%>
<%@ taglib prefix="sql" uri="http://java.sun.com/jstl/sql_rt"%>
<%@taglib uri="http://java.sun.com/jstl/fmt_rt" prefix="fmt"%>
<%
String sword = request.getParameter("sword");
    sword = sword.replace('<', ' ');
    sword = sword.replace('>', ' ');
    sword = sword.replace('"', ' ');
    sword = sword.replace('\'', ' ');
    sword = sword.replace('/', ' ');
    sword = sword.replace('%', ' ');
    sword = sword.replace(';', ' ');
    sword = sword.replace('(', ' ');
    sword = sword.replace(')', ' ');
    sword = sword.replace('&', ' ');
    sword = sword.replace('+', '_');

%>
<html>
 <head>
  <title> New Document </title>
  <meta name="Generator" content="EditPlus">
  <meta name="Author" content="">
  <meta name="Keywords" content="">
  <meta name="Description" content="">
<script type="text/javascript">
var kw = "<%=sword%>";
</script>
 </head>

 <body>
 
 </body>
</html>

 

参考方案:

http://knowledge.twisc.ntust.edu.tw/doku.php?id=3%E4%BC%BA%E6%9C%8D%E7%AB%AF%E5%AE%89%E5%85%A8:3-3%E5%AE%89%E5%85%A8%E7%A8%8B%E5%BC%8F%E7%A2%BC%E5%AF%AB%E4%BD%9C:jsp%E9%81%BF%E5%85%8Dxss%E6%96%B9%E6%B3%95

分享到:
评论

相关推荐

    WebLogic SSRF 及漏洞修复

    该漏洞主要出现在版本10.0.2和10.3.6的`SearchPublicRegistries.jsp`页面中,该页面存在不当的用户输入验证机制,使得攻击者可以通过构造恶意URL来触发SSRF攻击。 **2. 攻击原理** - **构造恶意URL**: 攻击者可以...

    apache-tomcat-7.0.11-src

    - `jasper`:用于编译和执行JSP页面,将JSP转化为Servlet。 - `jk`和`mod_jk`:这部分是Apache HTTP服务器与Tomcat之间的连接器,实现负载均衡和通信。 3. **配置文件**: - `server.xml`:整个Tomcat服务器的...

    如何从高赏金项目中拿到高危.pdf

    本文档《如何从高赏金项目中拿到高危》由雷石安全实验室的唐小风编制,系统介绍了渗透测试的技巧和方法。文档中提出了三个主要的研究方向:如何处理无法访问的页面、如何进展渗透任务以及如何从小程序入手进行渗透...

    泛微OA9前台无限制getshell1

    描述中提到的“/page/exportImport/uploadOperation.jsp”是问题的核心,这是一个处理文件上传的页面。在JSP(JavaServer Pages)代码流程中,程序检查了请求是否为multipart类型,但之后并未进行任何安全过滤或限制...

    struts2教程(完全版)

    Struts2曾曝出过一些高危的安全漏洞,如CVE-2017-5638,因此,保持框架和相关依赖的及时更新,以及遵循最佳安全实践,是避免安全风险的关键。 总的来说,Struts2教程(完全版)将引导你逐步了解并掌握Struts2的各个...

    struts-2.3.14-all

    3. **结果(Result)**:Action执行后的结果通常会映射到一个视图,如JSP页面、FreeMarker模板等。Struts 2支持多种结果类型,允许开发者灵活控制视图的呈现方式。2.3.14版本可能对结果处理进行了优化,提升了渲染...

    strust2.1应用包

    4. **OGNL(Object-Graph Navigation Language)**:OGNL是Struts2中用于表达式语言,它用于在Action对象和JSP页面之间传递数据,提供了强大的数据访问和操作能力。 5. **插件支持**:Struts2支持许多插件,如...

    struts-6.0.3-all.rar

    然而,历史上Struts2曾爆出过一些高危安全漏洞,如著名的CVE-2017-5638,这提醒我们在使用Struts2时必须保持框架版本的及时更新,避免使用已知有安全问题的旧版本。 为了更好地利用Struts2,开发者还需要了解OGNL...

Global site tag (gtag.js) - Google Analytics