对Man-In-The-Middle攻击的一点理解
1) 中间人攻击最容易理解的可能就是fiddler吧,他可以截获request重新组织request的数据,有个专业的攻击工具叫burp.
2) 数据存在immutable,mutable两种,java没有原生immutable支持,string如果是new就是相对意义的immutable,java基本类型和string是有高效缓存池范围
3) 中间人攻击原理大概是用户在正常上网的时候,同网段的恶意用户对其进行欺骗。恶意用户向局域网广播:我是路由器,然后正常用户收到以后认为恶意用户就是路由器,然后想恶意用户发送数据包,恶意用户可以截获数据包,再想路由器发送正常用户的数据包,恶意用户可以截获数据包,路由器将返回的数据包给恶意用户,恶意用户再给正常用户,恶意用户就形成了中间人的效果,,可以向返回的数据包注入html代码,达到劫持用户网站的效果,不过现在大部分网站都是https双向认证,比较难获取到用户发送数据包中的账号和密码。
如果从Java API的角度看,也存在很多可能,即使是https,在连接没有完整建立前,最初的通信并不是安全的,例如,过程中发生proxy authentication之类,其实还是http
4)