五千年(敝帚自珍)

主题:【原创】【注意】针对网上银行的网络欺诈实例之一 -- 梦里依稀

共:💬11 🌺1
全看分页树展 · 主题 跟帖
评论
家园 探讨

当然直接发送SMTP消息是可以的, 但是自然不如自己建立一E-mail

Server容易, 直接发送SMTP至少需要自己编写代码, 但是建一个

E-mail Server 却相当容易.

其实他还可以增加一点欺骗性, 就是在Email 的文字中, 使用真的地址,

但连接中却使用假的地址,如下效果:

https://web.da-us.citibank.com/cgi-bin/citifi/scripts/home/visitor_homepage.jsp

你眼睛在邮件中看到的是真正的网址, 但当你点击连接, 却是被带到假

的地址.

至于改变 DNS Server, 这个难度毕竟就相当大了, 而上面的欺诈过程只

需要自己的一台机器就可以做到,不需要Hack掉任何别人的系统.

假冒IP地址, 我认为难度是比较大的, 除非你同用户是在同一物理网段

上, 否则很难. 当然我的意思并不是Literally假冒IP地址很难,而是:

你固然可以把你的数据报写成是来自某一个IP地址, 并成功地发送给远

端, 远端也确实无法分辨你身份的真假,但是远端回送消息的时候却会

把消息直接送给你所假冒的那个真实的IP地址, 除非你与被假冒者处于

同一物理网段,或者你正好处于从远端到被假冒者的路径上,或者你可以改变沿途所有路由器的信息.

而TCP传输层协议在建立连接的时候会需要 Three-Way Handshake,

过程如下:

机器1(IP1)     机器2(IP2)

|---------CR(seq=x)------------------->|

| |

|<-------ACK(seq=y, ack=x)----------- |

| |

|---------Data(seq=x, ACK=y)---------->|

机器1想与机器2建立连接的时候, 他会

发送一个连接请求给机器2, 带有sequency_number seq=x, 机器2回答

时,回送收到的数字 x 和本机产生的新的sequency_number, seq=y, 机

器1(IP1) 再次回送数据时,必须把收到的数 y 送回去, ACK=y, 连接建

立过程才算完成.

可现在如果是另外一台机器想假冒IP1这个地址,他固然可以成功地把第

一个CR(seq=x)消息送到远端,但是机器2却会把ACK送给真实拥有IP1的那台机器, 你将无法收到机器2发给你的 ACK(seq=y, ack=x)信号, 因此你也就无法在回答中放上正确的 ACK=y这一部分, 这也就意味着假冒IP1的机器地址无法同接受方建立连接, 因此也就无法真正地假冒他的身份进行一些活动.

当然假冒者可以猜测 y 这个数字,这比较容易,但是建立连接以后,机

器2仍然不会把发给IP1的消息发送给假冒者的机器,所以他能做的事情

也比较有限.

全看分页树展 · 主题 跟帖


有趣有益,互惠互利;开阔视野,博采众长。
虚拟的网络,真实的人。天南地北客,相逢皆朋友

Copyright © cchere 西西河