那些伪造IP的软件都是什么原理

很多人可能都有过这个念头, 如何伪装客户端IP? 还有那些投票刷票的工具是怎么个原理?

先复习下TCP

要明白伪装IP的原理,首先要回顾一下TCP的三次握手。 总所周知在链接初始化的阶段, 需要一次三次握手来建立链接, 之后客户端和服务端会依据初始的这个IP地址来通信。

从这个角度上来说, 想真正的伪装一个IP地址是不可能的。

因为即使从链路层把IP地址改了, 后续发出去的请求也回不来, 除非你只是想用来作为DDOS攻击,要不没什么意义。

所以要另辟蹊径。

代理转发规则

用过代理吧? 不管是VPN,还是局域网代理, 都是通过代理服务器转发客户端的消息到服务端。

这里就引出主角,一个在 Header里的字段 X-Forwarded-For, 很多地方简称 XFF。

XFF不是一个标准的HTTP协议, 但是它被广泛接受用作于标识代理转发的规则。

通常一个 XFF字段会像下面这样,

X-Forwarded-For: 127.0.0.1, IP2, ..., IP N

从左到右, 依次记录的是距离服务器距离远的代理服务器的IP。

通过这个字段, 服务端就能知道这个请求是通过哪些代理转发过来的了。

而有些服务端的bug在于, 他们不关心这个请求的原始地址,而只关心最后那个转发给他的 IP N的代理。

正常来说, 应该把三次握手的 IP 作为 Remote IP记录, 以这个为客户端的唯一 IP,这样才是准确的。

实现

说了那么多理论, 下面来看看如何使用这个 XFF字段。 首先我们用 postman 模拟一个 HTTP 请求,看看返回的字段里携带的客户端信息是怎样的。

这里随意找了个服务器发了个模拟请求, 下面的 device字段不仅包含了 IP 地址,也包括了经纬度。

然后我们再人为的添加上 XFF 字段, 看看 device信息变成了什么。

看到了吗, 现在已经变成了一个假的位置。

而且即使这个IP地址明显错误,

服务端也没用校验这个异常。

总结

今天介绍的这个伪造IP的方法, 只是希望做服务端的朋友知道这个bug的存在, 进而避免很多违规的刷单行为。 技术本身没有错, 但如果把技术用在歧途上就不对了。

原文发布于微信公众号 - Android每日一讲(gh_f053f29083b9)

原文发表时间:2018-05-21

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏pythonlove

DNS服务器的基础应用及主从同步

域名系统(英文:Domain Name System,缩写:DNS)是因特网的一项服务。它作为将域名和IP地址相互映射的一个分布式数据库,能够使人更方便的访问互...

1872
来自专栏信安之路

Linux 应急响应流程及实战演练

当企业发生黑客入侵、系统崩溃或其它影响业务正常运行的安全事件时,急需第一时间进行处理,使企业的网络信息系统在最短时间内恢复正常工作,进一步查找入侵来源,还原入侵...

7403
来自专栏阿北的知识分享

浅谈csrf攻击以及yii2对其的防范措施

今天北哥就给大家普及下csrf是啥?如果你已经知道了可以直接拉文章到底部点个赞。:smile:

1966
来自专栏Python数据科学

Python爬虫之模拟登录京东商城

首先感谢大家的大力支持,博主会持续更新精彩文章,分享更多技术干货。另外,最近在新建的QQ群中结识了一些朋友,气氛很好,大家互相分享技术内容,博主也从中收获了不少...

3422
来自专栏散尽浮华

Linux下开源邮件系统Postfix+Extmail+Extman环境部署记录

一、基础知识梳理 MUA (Mail User Agent)  MUA 既是"邮件使用者代理人",因为除非你可以直接利用类似 telnet 之类的软件登入邮件主...

5034
来自专栏北京马哥教育

运维需要懂的那些安全技能

运维行业正在变革,推荐阅读:30万年薪Linux运维工程师成长魔法 以前的认知 以前刚接触IT行业,而我身为运维,我以为我所需要做的安全就是修改服务器密码为复...

5955
来自专栏张善友的专栏

TCPView for Windows

TCPView是一个用来显示系统中所有的TCP和UDP端点(endpoint)列表的Windows程序,包括本地和远程的网络地址,以及TCP连接的状态。在Win...

2267
来自专栏同步博客

CSRF攻击与防御

  CSRF的全名为Cross-site request forgery,它的中文名为 跨站请求伪造(伪造跨站请求【这样读顺口一点】)

1933
来自专栏黑白安全

跨站点请求伪造(CSRF)攻击

跨站点请求伪造(CSRF),也称为XSRF,Sea Surf或会话骑马,是一种攻击媒介,它会诱使Web浏览器在用户登录的应用程序中执行不需要的操作。

1033
来自专栏FreeBuf

利用Pentestbox打造MS17-010移动杀器

1、前言 前段时间Shadow Broker披露了 Windows大量漏洞,甚至爆出黑客组织 Equation Group 对于Windows 远程漏洞 MS1...

3497

扫码关注云+社区

领取腾讯云代金券