【问题标题】:GWT RPC call from URL来自 URL 的 GWT RPC 调用
【发布时间】:2013-09-22 09:18:08
【问题描述】:

我有一个 servlet,它在提交表单时发送电子邮件,它工作正常。这是从客户端调用在 sendMailServiceImpl 上实现的sendMail() 完成的。

我的问题是关于安全性的:有没有办法让某人输入一个特定的 URL 并发送这些电子邮件?类似http://myproject.appspot.com/myproject/sendmail?name=aaa&email=aa@aa.com

<servlet>
    <servlet-name>sendMailServiceImpl</servlet-name>
    <servlet-class>com.gw.myproject.server.SendMailServiceImpl</servlet-class>
</servlet>
<servlet-mapping>
    <servlet-name>sendMailServiceImpl</servlet-name>
    <url-pattern>/myproject/sendMail</url-pattern>
</servlet-mapping>

【问题讨论】:

  • 如果电子邮件是一个请求参数,为什么不可能呢?您的问题的答案可能是肯定的,但您至少尝试过吗?
  • 我有并且我得到 no-found 错误。不知道是地址输入错误还是被禁止了。
  • 可能不是作为url参数,而是在payload中。
  • 接受一个有效的请求(你可以使用 Chrome 检查器并在 devtools 的 Network 标签中看到它),修改它,看看它是否仍然有效。
  • 您的 URL 看起来像一个 HTTP GET 请求。我相信 GWT servlet 默认使用 POST 请求。您应该发出 POST 请求,并查看这篇文章以了解如何与 GWT RPC 方法交互:stackoverflow.com/questions/6135590/gwt-rpc-data-format

标签: java security gwt servlets rpc


【解决方案1】:

有可能有人通过 GWT-RPC 发送数据。 owasp旁边有一些attacking scenarios decribed

GWT-RPC 使用 POST 请求。 Servlet 不会监听 GET。包含一些机制,这将需要一些关于请求(强名称和序列化策略)和the protocol itself 的知识。

但是如果有人捕获了一个请求,他也可以发送一个请求。

由于同源策略,请求受到 XSS 的保护。但这无助于来自纯 java 或 python 或浏览器的请求,这些请求以 --disable-web-security 开头

更多细节:GWT RPC data format

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-05-15
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多