也许是因为DDOS攻击的威胁吧。。。所以选择使用防火墙。隔开内部与外部。
内部之间假设都是好人 他们可以随便发信息,外部来的请求有可能会被拦截



Evasion Attack的精华:

服务器端会re-order 请求。
我们首先得知道防火墙的离我们的位置以及服务器离我们的位置。使用Traceroute 来探测防火墙与服务器的位置,多少个Hops away from us。然后我们把一个请求break成一个一个字符 发送。每份data发送两份,一份data 的Time to live设置为刚好可以过防火墙,但是会die before server,另一个设置为可以活到服务器的寿命。由于我们把敏感请求变成了一份一份的小请求,防火墙不会拦截掉。最后抵达的碎片由服务器重新construct 变成了完整的请求。 由于要让服务器知道拼接顺序,我们用TCP.seq 来specify。
像GFC 会在请求到防火墙的时候发送一个reset packet回来切断用户的连接。


Trace route output:

更好理解一点的:本地VM运行
从128.32.34.1 一路探测 到219.158.5.157开始收到Reset packet 表示那里开始是防火墙
收到None的时候表示是到服务器。

Evasion Attack的结果:
收到either 200 ok, or 404 Not Found


这个Project最变态的地方就在于NAT 和Bridge。 我在本地电脑+VM里的配置一直接收不到多个Reset packet

后来去Amazon AWS LightSail上面运行才可以。。

网友评论