相关疑难解决方法(0)

Java Regex,不到和超过签名

我有一个用户可以在互联网上输入的字符串,目前它没有受到XSS攻击的保护.我希望能够替换<和>符号.通常称为"小于","超过","尖括号"等.

我确信这已被问了一百万次,但我找不到一个简单的答案.我认为正则表达式是前进的方向,但无法弄清楚如何选择这些字符.

java regex jsp

5
推荐指数
1
解决办法
1万
查看次数

如何通过单击JSP页面中的超链接或按钮将当前项传递给Java方法?

我有一个HTML表,其中包含从该表中显示的数据库中提取的行.我希望用户能够通过单击每行之外的删除超链接或按钮来删除行.

当用户点击每个删除超链接或按钮时,如何在页面上调用JSP函数,以便我可以从数据库中删除该行的条目?<a>or <button>标签究竟应该调用JSP函数到底是什么?

请注意,我需要调用JSP函数,而不是JavaScript函数.

jsp

4
推荐指数
1
解决办法
2万
查看次数

Struts 2编码输入参数以避免XSS

我有一个使用Struts 2构建的应用程序.它存在跨站点脚本(XSS)攻击的一些问题.我想以类似于JSP的方式编码一些动作输入参数<c:out value="${somevalue}"/>在Struts 2中有什么简单的方法吗?Java API方法会很好.

编辑我找到了这个 - http://www.owasp.org/index.php/Talk:How_to_perform_HTML_entity_encoding_in_Java

有经验吗?

java security xss struts2

4
推荐指数
2
解决办法
2万
查看次数

jsp useBean由servlet的getAttribute为NULL

user在servlet中为null.如果做错了请让我.

我试图获取bean rateCode.jsp中的所有html元素

<%@page import="com.hermes.data.RateCode_" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
    <head>
        <title>Rate Code</title>
    </head>
    <body>      
         <jsp:useBean id="user" class="com.hermes.data.RateCode_" scope="request" >
            <jsp:setProperty name="user" property="*"/></jsp:useBean>
            <form  id="f_rateCode" action="/ratePromoCodes" method="post"  >
                <table align="center" border="1" cellspacing="0">
                    <tr>
                        <td colspan="2" align="center" class="header">Rate Code Administrations</td>
                    </tr>
                    <tr>
                        <td align="right" style="border-style: solid;">Rate Code:</td>
                        <td align="left" style="border-style: solid;">
                            <input type="text" id="code" name="code" value="${user.code}"  size="10" maxlength="32" style="width: 100px"/>
                    </td>
                </tr>

                <tr>
                    <td align="right" style="border-style: solid;">Rate Description:</td>
                    <td align="left" style="border-style: solid;">
                        <input type="text" id="description" name="description" value="<%=user.getDescription()%>" …
Run Code Online (Sandbox Code Playgroud)

jsp servlets javabeans

4
推荐指数
1
解决办法
2万
查看次数

谁在调用我的HttpServletRequest?

我有一个jsp包含一个jquery帖子到我的tomcat服务器上的servlet创建一个HttpServletRequest.我想确保只处理我对我的servlet的jsp调用,并且忽略源自除jsp以外的源的任何请求.是否有保证的方式来查看调用我的服务器的引用页面是什么?我已经读过使用request.getHeader("referer")可以欺骗,所以我知道我不能依赖它.

java security jquery jsp servlets

4
推荐指数
1
解决办法
1217
查看次数

如何在JSP中转义JavaScript?

我完全坚持这个,我试图逃避JSP中的单引号.我有一些数据,我直接输出到JS字符串,单引号似乎导致问题.

这是我的代码:

<dsp:droplet name="/atg/dynamo/droplet/ForEach">
  <dsp:param value="${CommerceItems}" name="array" />
  <dsp:param name="elementName" value="CommerceItem" />
  <dsp:oparam name="outputStart">
    var itemNameList ='
  </dsp:oparam>
  <dsp:oparam name="output">
    <dsp:getvalueof id="Desc" param="CommerceItem.auxiliaryData.productRef.displayName">
      ${fn:replace(Desc, "'", "\\/'")}
    </dsp:getvalueof>
  </dsp:oparam>
  <dsp:oparam name="outputEnd">';</dsp:oparam>
</dsp:droplet>
Run Code Online (Sandbox Code Playgroud)

这是我得到的输出:

var itemNameList ='
Weyland Estate Santa Barbara Pinot Noir
Raymond \/'Prodigal\/' North Coast Cabernet Sauvignon
Chateau Haute Tuque'; 
Run Code Online (Sandbox Code Playgroud)

但这是错误的,我只需要/'Prodigal'/或根本不需要单引号!


编辑:或者我实际上需要用\反斜杠来逃避引号?

javascript string jsp escaping

4
推荐指数
1
解决办法
2万
查看次数

用java中的HTML实体替换字符

我想在过滤器内的HTML响应中用它们各自的HTML实体替换某些字符.字符包括<,>,&.我无法使用replaceAll(),因为它将替换所有字符,甚至是HTML标记的一部分.

这样做的最佳方法是什么?

html escaping html-entities java-ee

4
推荐指数
2
解决办法
2万
查看次数

如何在jstl代码中混合href

当我使用下面的jstl代码

  <a href="http://mysite.com?id="<c:out value="${myid}"/>/><c:out value="${myid}"/></a> 
Run Code Online (Sandbox Code Playgroud)

输出是:

"1234"

值1234对应于myid的变量值,但生成的url是" http://mysite.com?id= ",因此myid的值不会作为href的一部分生成.

如何修改href以显示整个href:

" http://mysite.com?id=1234 "

代替 :

" http://mysite.com?id= "

jstl

4
推荐指数
1
解决办法
2万
查看次数

在复制JSESSIONID cookie时防止复制会话

背景:我在tomcat上部署了一个使用基于表单的身份验证的javaee webapp.当Web服务器收到登录请求时,它会将请求发送到专用的身份验证服务,该服务验证用户登录(用户ID和密码).成功验证后,用户的会话将在Web服务器中维护.

问题:在这里编写了一个简单的webpp 源代码,以模拟场景.成功登录后,当前HttpSession实例将失效并创建新实例.对于后登录页面的每个请求,会话都经过验证.设置了一个新JSESSIONIDcookie,用于在会话期间识别用户,直到会话过期或用户注销.可以在浏览器的开发工具中轻松查看此cookie.如果我复制cookie并通过JavaScript(document.cookie="JSESSIONID=xyzz")在不同的浏览器中设置它,然后尝试访问帖子登录页面,则服务器将其识别为有效请求并成功验证会话.提供帖子登录页面,用户不会因用户ID和密码而受到质疑.

POC:用户打开浏览器和输入网址http://localhost:8080/mywebapp/与和日志adminpass1234.成功登录后http://localhost:8080/mywebapp/home会显示主页.现在,JSESSIONIDCookie被复制并在FireFox中设置.用户进入http://localhost:8080/mywebapp/homeFirefox并显示主页而不会受到userId和密码的质询.

问题:如何通过多个浏览器复制相同的会话,如何防止这种情况?

在此输入图像描述

cookies session tomcat servlets java-ee

4
推荐指数
1
解决办法
5143
查看次数

XSS跨站点脚本-Jsp &lt;Input&gt;标记

我的JSP中的以下代码段在input标签上造成了跨站点脚本漏洞。

<form name="acctFrm" method="post" action="<%=contextPath%>/form/acctSummary?rpt_nm=FIMM_ACCT_SUMM_RPT">
<table>
 <tr>
  <td>Account Id:</td>
  <td>
   <input class="tbl1" type="text" id="acctId" name="acctId" size="20" maxlength="10" value="<%=rptBean.getAcctId()%>"/>
   <a href="javascript:doAcctSubmit()"><img class="tbl1" src="<%=contextPath%>/img/Submit.gif" border="0" /></a>
  </td>
 </tr>
</table>
</form>
Run Code Online (Sandbox Code Playgroud)

在渗透测试期间,他们可以通过在标签的value属性中注入警报脚本来向用户发出一些随机消息,如下所示

<input class="tbl1" type="text" id="acctId" name="acctId" size="20" maxlength="10" value="1"><script>alert(12345)</script>" />
Run Code Online (Sandbox Code Playgroud)

这里的问题是什么,将会解决什么。

我正在阅读有关XSS的一些在线参考资料,但我仍然不确定100%是什么问题。

任何帮助将不胜感激。

谢谢,黛娜

xss cross-site

3
推荐指数
1
解决办法
2万
查看次数