前幾天的郵箱漏洞反饋給各大服務商后,目前收到了網易的答復,但我表示很不滿意,因為我想他們連我的意思都理解錯了,也許是我的表達能力有問題,也許是他們根本就沒有認真去看。我寫帖出網易的回復:
| 尊敬的用戶: | |
| 您好! |
|
這個根本就與我反饋上去的漏洞不一致,因為那個漏洞根本就沒有所謂的真正發件人,就算有也只有一個ip地址可進行判斷,我給大家看看網易郵件的郵件信頭:

在這個信頭里面他怎么給我列出所謂的真正發件人地址?,我估計他們理解的就是普通的代發郵件,而代發郵件的郵件信頭應該是這樣的:
這樣的代發郵件跟我說的那種完全是兩個區別,
他們的區別就在於他們在服務器直接進行通信時:我那種“MAIL FROM:”時提供就是一個偽郵箱地址,而這種代發的是發送者的真正地址,然后DATA包里面提供的時假地址。
安裝我之前說的解決方案是,驗證一下發送着的ip地址是否與提供的域名地址一致,很多人表示說這個沒法驗證,這個我有點不明白,說驗證不了,我表示很無賴,因為服務器之間通信的時候他們都發送了自己當前發送這個郵件的服務器域名,那么接收服務器只需驗證對方提跟的這個域名是否與當前鏈接的ip地址是否一致就可以了,還有就是可能需要驗證這個郵箱的后綴是否與域名相符,那么這個問題就可以解決掉(至少我認為解決掉了),也有的說如果用Foxmail等軟件發送郵件該怎么驗證了? 其實用什么工具發送都沒關系吧,因為他最終是要登陸到服務商的發送服務器去,然后由服務商的郵箱發送器發送郵件出去的不是嗎?那么也就不存在這個問題了,還有得說這個是很早以前就留下的漏洞,我也找了一下,確實是很久以前就有人發現了點,但為什么很多服務商都沒用修復這個問題,我不知道是什么原因,如果說目前還不能修復我覺得是不可能的,因為我提跟的解決方案就已經能解決大部分問題了,而且據我測試,谷歌的郵箱服務器是有這個驗證的,你們可以測試下。
下面我再來說下我的解決方案:
A 發送服務器 B接收服務器
A:鏈接B
B:220 Welcome to Happy you and me SMTP Server.
A:HELO m1.163.com // 這個時候 接收服務器就應該去驗證這個“m1.163.com” 是否是A的地址,如果怕影響速度也可以創建另外一個線程去驗證是否合法,但可惜的是他們沒有驗證
B:250 ok
A:MAIL FROM:<system@net.cn> // 這個是郵件的真正發送着,這里驗證的就是這個郵箱的后綴“net.cn” 與這個“163.com” 是否是同一個域名,但可惜的是他們沒有驗證
B:250 ok
如果這兩部都驗證了,我想這個問題就基本上解決了,至於網友說的 國外往國內發郵件時可能要通過好幾次周轉,這個我就確實不明白了,還有的說這個是這個協議的問題,都已經普遍了不能改了,但我想說的是,這個沒有需要改到通信協議的任何地方吧?只是多幾個驗證而已,不是嗎?
還有我再說一下,那個那個代發郵件的是只有在DATA數據里面才會是假地址的,在MAIL FROM:后面會是真的地址的,只有我說的這種才是兩個地方都是假地址。
