我在Rails 4应用程序上遇到以下错误:
ActionDispatch :: RemoteIp :: IpSpoofAttackError:IP欺骗攻击?!HTTP_CLIENT_IP ="xx.xx.xx.xx"HTTP_X_FORWARDED_FOR ="xx.xx.xx.xx"
我们不需要这种类型的安全检查,所以经过一些谷歌搜索我发现:
https://github.com/rails/rails/issues/10780
当中间代理在HTTP_CLIENT_IP和HTTP_X_FORWARDED_FOR中插入用户IP地址,并且此地址是私有的时,ActionDispatch :: RemoteIp会引发IpSpoofAttackError异常.
当企业代理在标头中包含用户的IP地址时,这通常是私有的.只有当地址与HTTP_CLIENT_IP中找到的地址不完全匹配时,才应该从HTTP_X_FORWARDED_FOR中包含的链中删除私有IP地址.如果匹配,那应该是用户的IP地址.
例如,在以下环境中会发生这种情况:
HTTP_CLIENT_IP:172.17.19.51 HTTP_X_BLUECOAT_VIA:ffffffffffffffff HTTP_X_FORWARDED_FOR:172.17.19.51 REMOTE_ADDR:xxx.xxx.xxx.xxx(这将是一个公共IP地址)
这里有一个修复:
作为解决方法,我在config/application.rb中禁用了此检查:
config.action_dispatch.ip_spoofing_check = false
然而,这似乎不适用于Rails 4.什么是新的调用,如何在网站范围内设置它?
我经常在一个使用公告板软件的社区闲逛.
我在浏览器中查看此软件保存为cookie的内容.
如您所见,它可以节省6个cookie.其中,我认为对认证很重要的是:
那些是我的假设.我不确定是否使用了ngilastactivity和ngilastvisit是出于同样的原因.
我的问题是:为什么要使用所有这些cookie进行身份验证?我的猜测是,生成一个会话哈希可能很容易,所以使用hashedpassword和userid增加安全性,但cookie欺骗呢?我基本上是在客户端留下所有基本信息.
你怎么看?
更新#1
这些cookie的内容是我认为它们包含的内容.我不确定.当然如果调用cookie ngivbpassword并包含一个哈希,我的猜测是hashedpassword.可能它可能是密码+盐.
我主要担心的是这些解决方案在cookie欺骗攻击下提供了大量信息.
更新#2 这个问题不想批评这些特定软件的工作方式,但是,我希望这些答案只是为了了解更多关于在Web环境中保护软件的知识.
可能重复:
如何计算数据包校验和而不发送它?
我已经在捕获的数据包中欺骗了源IP和MAC地址,但是现在我需要重新计算校验和,以便在收到它之后检查它(当然在注入网络之后).我自己并不想真正实现校验和,我认为scapy可以为我做这个.我读到该show2()函数应该重新计算校验和,但我似乎无法让它工作.
那么,我如何使用scapy重新计算(和替换)捕获+欺骗数据包的校验和?
谢谢!
我有两台机器,每台机器有两个有效的网络接口,一个以太网接口eth0和一个tun/tap接口gr0.目标是使用接口在机器A上启动TCP连接,gr0然后让机器B的响应(ACK等)通过以太网接口返回eth0.因此,机器A发出SYN gr0并且机器B自己接收SYN,gr0然后通过它发送它的SYN/ACK eth0.tun/tap设备是GNU Radio无线链路,我们只希望响应来自以太网.
最简单的方法是什么?我需要更多地研究TCP/IP,但我最初认为源欺骗传出数据包会告诉接收器响应欺骗地址(应该被路由到eth0).这将涉及从tun/tap接口路由IP gr0并将其他流量留给eth0.
我们使用Linux并且Python解决方案更可取.
谢谢你的期待!
这里和其他各种网站上的答案通常都充满警告,不要信任HTTP Referrer标题,因为它们"很容易"被欺骗或伪造.
在我再进一步之前 - 不,我没有好处 - 但我确实想要运行一些与推荐人相关的测试.
虽然我不怀疑关于虚假推荐人的警告是真的,但我真的找不到关于它们如何被操纵的详细信息.甚至维基百科的文章也只是笼统地谈论它.
我即将玩FireFox 的RefControl插件.
以编程方式(在ASP.NET中)UrlReferrer是一个只读属性,所以我不知道如果我无法设置它,我怎么能用假引用数据来触发请求?我真的必须手动完成吗?
我如何使用ASP.NET使用用户提供的变量向我的站点发送请求以填充referrer标头?
编辑:根据我下面的评论,我理想地想要接收传入的请求,管理引用者数据,然后将请求传递到另一个页面,完好无损.如果我可以通过从头开始构建一个新的并且复制原始属性来使其看起来完好无损,那么这也很好.
有没有办法欺骗来自C#代码的Web请求,因此它看起来不像机器人或垃圾邮件到网站?我正在尝试网络抓取我的网站,但在一定数量的电话后不断被阻止.我想表现得像一个真正的浏览器.我在HTML Agility Pack中使用此代码.
var web = new HtmlWeb();
web.UserAgent =
"Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.97 Safari/537.11";
Run Code Online (Sandbox Code Playgroud) 我一直在使用wire-shark来分析套接字程序的数据包,现在我想看到其他主机流量的流量,因为我发现我需要使用仅在Linux平台上支持的监控模式,所以我试过但是我无法捕获在我的网络中传输的任何数据包,列为捕获的0数据包.
场景:
我有一个由50多台主机组成的网络(所有网络都由Windows驱动除外),我的IP地址是192.168.1.10,当我在任何192.168.1.xx之间启动通信时,它显示捕获的流量.但我的要求是从我的主机i监控192.168.1.21 b/w 192.168.1.22的流量.从192.168.1.10.
1:如上所述,是否可以捕获流量?
2:如果有可能那么线鲨是正确的工具(或者我应该使用不同的工具)?
3:如果不可能,为什么呢?
我的错误报告服务收到大量关于IP欺骗攻击的电子邮件,频率越来越高.如果我理解正确,当请求设置HTTP标头指定请求来自的IP地址不是原始IP地址时,就会发生这种情况.
错误消息如下所示:
IP spoofing attack?!HTTP_CLIENT_IP="10.212.0.172"HTTP_X_FORWARDED_FOR="10.212.0.172, 68.180.224.232"
Run Code Online (Sandbox Code Playgroud)
如果我正确读取此错误,则此错误消息中的两个IP地址是本地IP地址(10.xxx)和Yahoo! IP地址(68.180.224.232).
我不确定我是否正确阅读,但似乎这可能是由Yahoo抓取工具引起的.错误会报告许多不同的URL,使其看起来像一个爬虫.此外,它似乎是一个合法的请求,因为它是通过外部IP路由的内部IP.
我的问题是:
更新:我查看了请求参数,用户代理确实是Yahoo抓取工具:
Mozilla/5.0(兼容; Yahoo!Slurp; http://help.yahoo.com/help/us/ysearch/slurp)
谷歌有一个用于下载搜索建议的API:
不幸的是,据我所知,这些结果特定于您的位置.对于分析,我希望能够定义谷歌认为它正在提出建议的城市/位置.这是当我从坦桑尼亚的dar es salaam刮掉时会发生什么:
http://suggestqueries.google.com/complete/search?client=firefox&q=insurance
["insurance",["insurance","insurance companies in tanzania","insurance group of tanzania","insurance principles","insurance act","insurance policy","insurance act tanzania","insurance act 2009","insurance definition","insurance industry in tanzania"]]
Run Code Online (Sandbox Code Playgroud)
我知道一个VPN会部分解决这个问题,但只能给我一个不同的位置,而不是很多位置.有没有合理的方法可以快速轻松地从美国100个最大的城市复制这类东西?
确认结果在使用中有所不同

谢谢!
是否可以欺骗Chrome插件?
我注意到,他们的名字被存储在Preferences和Local State文件中/Users/mainuser/Library/Application\ Support/Google/Chrome/Default/Preferences,并/Users/mainuser/Library/Application\ Support/Google/Chrome/Local\ State分别在Mac上,但手动更改这些文件的内容被作为文件损坏处理.知道如何欺骗吗?
插件信息是公开的,可以通过以下方式轻松检查:
var x=navigator.plugins.length; // store the total no of plugin stored
console.log(x);
var txt="";
for(var i=0;i<x;i++)
{
txt=navigator.plugins[i].name;
console.log(txt);
}
Run Code Online (Sandbox Code Playgroud) spoofing ×10
ip ×2
linux ×2
security ×2
web-scraping ×2
asp.net ×1
browser ×1
c# ×1
geolocation ×1
javascript ×1
networking ×1
php ×1
plugins ×1
python ×1
r ×1
referrer ×1
scapy ×1
vpn ×1
wireshark ×1