- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我非常担心我构建的网络应用程序的安全性,因此我一直在使用各种工具来抓取我的每个应用程序。
虽然在编程方面可以完成的所有事情都已经完成,但现成的类(如 Active Record)无法预见,但有一个问题我不断收到警报,我不知道从哪里开始解决这个问题。
我在 Nginx
和 Rails 4.1
后面运行 Unicorn
。我不断收到的警报是这样的:
An attacker can manipulate the Host header as seen by the
web application and cause the application to behave in
unexpected ways. Developers often resort to the exceedingly
untrustworthy HTTP Host header (_SERVER["HTTP_HOST"] in PHP).
Even otherwise-secure applications trust this value enough to
write it to the page without HTML-encoding it with code equivalent to:
<link href="https://_SERVER['HOST']" (Joomla)
...and append secret keys and tokens to links containing it:
(Django, Gallery, others)
....and even directly import scripts from it:
(Various)
发出以下建议:
The web application should use the SERVER_NAME instead
of the Host header. It should also create a dummy vhost
that catches all requests with unrecognized Host headers.
This can also be done under Nginx by specifying a non-wildcard
SERVER_NAME, and under Apache by using a non-wildcard serverName
and turning the UseCanonicalName directive on. Consult references
for detailed information.
当然,无论如何..据我所知,这种漏洞通常是无害的,但在各种网络应用程序中可能有害,具体取决于它们的种类。
我该怎么做才能阻止这种攻击?感谢您的任何建议。
最佳答案
我找到了绕过该行为并停止收到警报的方法。我不知道这是否是最好的方法,因此接受评论、建议和新答案。
我们开始吧。
应用程序 Controller .rb
class ApplicationController < ActionController::Base
before_action :debug_headers
private
def debug_headers
if request.env['HTTP_X_FORWARDED_HOST']
request.env.except!('HTTP_X_FORWARDED_HOST') # just drop the variable
end
end # def
end # class
关于ruby-on-rails - rails : HOST Header Attack vulnerability,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24903831/
A Killer Adversary for Quicksort声称有一种方法可以将任何快速排序实现减少到二次时间。我想这意味着它总是会生成一个列表,该列表总是需要 O(n^2) 才能运行。这是在说些
我想将整数矩阵列表转换为数字。我知道lapply对内部结构不友好,但是有没有lapply-solution? mtList = list(matrix(sample(1:10),nrow=5),
我对 Azure AD B2C 的帐户定价和身份验证有几个问题,这些问题都围绕着脚本式 DOS 攻击的问题。 定价页面:https://azure.microsoft.com/en-us/pricin
我对 Azure AD B2C 的帐户定价和身份验证有几个问题,这些问题都围绕着脚本式 DOS 攻击的问题。 定价页面:https://azure.microsoft.com/en-us/pricin
我正在关注基于 spring 框架 3.2.4 的应用程序的本教程 http://springdiaries.blogspot.be/2012/12/web-security-preventing-c
我正在编写一个工具,在给定任何 URL 的情况下,该工具会定期获取其输出。问题是输出可能不是简单轻量级的 HTML 页面(在大多数情况下是预期的),而是一些繁重的数据流(即直接来自/dev/urand
我是一名 iOS 开发人员,开发了一款网络服务应用程序,该应用程序已在 App Store 上架一年。现在,我决定让这款应用跨平台使用 - 从 Android 开始,为此我聘请了一名 Android
代码: void doit() { system("/bin/sh"); exit(0); } int main(int argc, char **ar
题目地址:https://leetcode.com/problems/queens-that-can-attack-the-king/ 题目描述 Onan 8x8 chessboard, ther
我使用了 Rack::Attack 的示例节流代码。 throttle('req/ip', limit: 100, period: 5.minutes) do |req| req.ip unles
为了便于讨论,我们假设我必须创建一个包含具有 INSERT 的 SQL 查询的局部变量: DECLARE @insert NVARCHAR(MAX) SELECT @insert = 'INSER
我陷入了黑客练习。 程序执行时会显示以下内容: Build your own string! Usage: ./4 length command... Each command consist o
当我使用 PHP + Mysql 时,我发现使用与数据库列名称相同的 html 输入名称很方便。这大大简化了 CRUD 操作。 但是,有一个困境。一方面,这种一对一的对应关系简化了事情,但另一方面,攻
我们一直在阅读 Definitive guide to form based website authentication目的是防止快速登录尝试。 这方面的一个例子可能是: 1 次尝试失败 = 没有延
这是我的代码: 类(class): class Player(object): """Base class for the player""" def __init__(self, name, arm
我有一个用 C++ 编写的游戏服务器,我正在使用一个网络库在 Windows 中使用 winsock。我一直在对我的服务器进行压力测试,看看它一次可以接受多少个连接。当我使用我的游戏客户端连接时它工作
我对这个话题的初步理解是,我需要防止一些请求中可用的垃圾字符来避免这些攻击。 我决定在使用之前通过对每个请求参数进行模式匹配来解决这个问题。 Internet 上的大多数帖子都在谈论 Null Byt
如何避免跨站点脚本攻击? Cross-site script attacks (或跨站点脚本)是指,例如,如果您的主页上有留言簿,并且客户发布了一些 javascript 代码,这些代码会将您重定向到
我非常担心我构建的网络应用程序的安全性,因此我一直在使用各种工具来抓取我的每个应用程序。 虽然在编程方面可以完成的所有事情都已经完成,但现成的类(如 Active Record)无法预见,但有一个问题
我知道格式化字符串攻击发生在格式化 I/O 函数需要比提供的参数更多的参数时。 在 C 中, 一个读取内存位置的例子: printf("%x"); // this prints a memory ad
我是一名优秀的程序员,十分优秀!