歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux綜合 >> Linux資訊 >> 更多Linux >> 匿名(垃圾)郵件的根源—網絡上幾乎所有服務器都不可避免的“漏洞”

匿名(垃圾)郵件的根源—網絡上幾乎所有服務器都不可避免的“漏洞”

日期:2017/2/27 9:37:05   编辑:更多Linux

 大家在看到這篇文章的小標題的時候,或許很多人都知道了這個“漏洞”,而有的人在看文章的過程中,知道這個“漏洞”,也有的人或許會驚詫,因為小標題好像說得太過嚴重,不過不管看這篇文章的人是什麼樣的水平,或什麼樣的心理,我的目的只是把網絡上這個缺陷進行一個更細節的介紹,因為我相信,只有大家都看到了這樣的“漏洞”,網絡才會慢慢的改善,才會有進步。   發送匿名郵件在Internet上已經是一個古老的話題,很多電子郵件服務器的管理員都采取了很多措施來防止匿名郵件的發送,比如:IP漫游記錄,SMTP認證等,並且取得了相當不錯的效果,但是近日通過我對發送郵件的過程的追蹤,盡管有了以上方法能防止一部分人發送匿名郵件,但實際上仍然可以暢通無阻的發送的匿名郵件,這種漏洞到目前為止應該是100%的郵件服務器的通病,並且是無法避免的“漏洞”,這主要是因為現在的SMTP服務的不完善造成的,實際上很多發送垃圾郵件的工具,其原理也就是我在這篇文章裡所介紹的原理。目前國內的郵件服務器應該都有這樣的漏洞,包括網易、新浪、搜狐等大型網站都無法逃脫,假如這幾大網站的管理員看到了這篇文章,有興趣的話,可以跟著我來測試。   首先我來簡單的說一下電子郵件傳送的原理,假定自己的郵件服務器的DOMAIN為cdefg.com,要發送一封 [email protected] 的電子郵件,電子郵件的正常的傳送都需要靠DNS的MX紀錄來查找對應服務器的的IP地址,然後再開始發送郵件,同理cdefg.com郵件服務器會查找 abcd.com 的郵件紀錄,然後把郵件發送到 abcd.com所對應的IP地址,假設找到了xxx.xxx.xxx.xxx這個IP,並且xxx.xxx.xxx.xxx有smtp服務,這時服務器會連接到xxx.xxx.xxx.xxx的25號端口(SMTP服務所監聽的端口),並且把郵件發送進去。   說到這裡或許有很多人等不急了吧?好了,讓我開始介紹“漏洞”吧,Internet上的任何服務器都會無條件的接受匿名郵件、垃圾郵件,任何人的電子郵件也都可以被偽造,或許有些人驚詫的想,能偽造所有的?他們是如何做到的?可能也有人說這不是漏洞,只是郵件傳輸的機制。但這確實能對Internet構成很大的威脅,比如偽造電子郵件,網絡上偽造一個人的電子郵件實在太簡單,它不象現實中的書信,能看筆跡。而在網絡,所有的筆都是鍵盤,唯一能進行識別的就是數字認證,但在經濟還不發達的我國,想要每個人都擁有數字認證,是非常困難的事,所以只有完善SMTP服務才是最好的辦法。   網絡上是如何實現這個匿名郵件、偽造郵件發送的過程的呢?很簡單,我來給大家介紹,比如偽造 [email protected][email protected] 發送一封電子郵件,首先由於要給 [email protected] 發送郵件,所以先找要到這個郵件地址的SMTP服務器,在命令行下使用nslookup這個小工具很快就能查出來,如下:   C:\>nslookup   Default Server: ns.hncsptt.net.cn   Address: 202.103.96.68 //開始運行nslookup,並且默認的DNS服務器為該IP地址。   >set type=mx //設置顯示類型為MX紀錄。   >domainname.com //查詢domainame.com 的MX紀錄。   domainname.com MX preference = 10, mail exchanger = mail.domainname.com   mail.domainname.com internet address = xxx.xxx.xxx.xxx   >exit   很快通過上面的命令就查出了domainname.com這個域的STMP服務器地址為xxx.xxx.xxx.xxx   好了,讓我們繼續,   C:\>telnet xxx.xxx.xxx.xxx 25   會出現:   220 mail.domainname.com   在這裡也可能是別的,因為可能默認域不是domianname.com的域,而且其他的,但不管這些,你只要看到220這個數字就行了。   現在再接著輸入命令:   HELO domain.com   返回:   250 mail.domainname.com Hello [x.x.x.x]   這裡表示和郵件服務器握手成功,其中x.x.x.x就是你的IP地址。   好了,我們冒充的最關鍵地方開始了:   MAIL FROM: [email protected]   250 OK   這裡告訴服務器,我們將用 [email protected] 這個電子郵件來發送這封電子郵件,很可惜任何的SMTP服務器都不會驗證這個電子郵件的真實性,所以這裡就被服務器給認可了,於是服務器返回250 OK,表示接受,繼續等待下面的命令。   RCPT TO: [email protected]   250 OK   告訴服務器郵件發送給 [email protected] ,但是服務器在這裡僅僅只檢查domainname.com這個域是不是在自己的轉發列表裡,由於我們是直接查的dommainname.com這個域的SMTP服務器,所以當然也絕對會在列表了,所以服務器的返回OK,而不會做更多的驗證。   DATA   354 Start mail input; end with .   這裡輸入DATA,告訴服務器要開始輸入郵件內容了,郵件服務器會返回354信息,以及上面說的郵件以“.”結束。   開始輸入郵件內容了,但一般郵件都會有郵件頭,為了更真實的偽造郵件,我們可以按下面的輸入:   From: [email protected] //讓Outlook,FoxMail等這樣的客戶端工具顯示發送者為 [email protected]   To:[email protected] //同樣讓客戶端工具顯示接收者為 [email protected]   Subject: send anonymous mail //郵件主題   Test //郵件內容,這裡想怎麼寫就怎麼寫了。   . //最後輸入一個“.”結束郵件。   250 send OK   服務器返回250,說郵件發送成功,這時你就成功的冒充 [email protected][email protected] 發送了一封郵件,不過如果對方看郵件頭,能看到你的IP地址,可是很可惜的是90%以上的電子郵件用戶根本就不會在乎發送電子郵件的人的IP是什麼的,而且更多的人是沒有這樣的專業知識,所以他們只能憑郵件內容來辨別真偽,可是又有多少人很快的想到他現在看的這封郵件是一封偽造的呢?同樣的既然能偽造郵件,自然也就能發送匿名郵件了,因為都是同一個方法。而網絡上所使用的那些專門發送匿名郵件,以及廣告郵件用的工具軟件,所利用的原理基本都是這樣。   看到這裡大家也都知道了吧,只要你知道誰的電子郵件地址,然後根據郵件地址的域,查出SMTP服務器,就能很快的給他發送一封匿名的電子郵件,或偽造的電子郵件,因為所有的SMTP服務器都不會去驗證發送者是真還是假,而服務器對於發送到它自己的用戶的所有郵件,也不會做任何的驗證,這就是SMTP服務的不完善,而導致了這樣一個非常嚴重的“漏洞”,也正是這個漏洞,使得網絡上的垃圾郵件,廣告郵件越來越猖狂,可以說是匿名(垃圾)郵件的根源。   聲明:利用文章所介紹的技術發送惡意的垃圾郵件、偽造郵件是違法的,文章中發送郵件的內容僅供網絡管理員參考使用,請勿做其他用途,否則後果自負!!   






Copyright © Linux教程網 All Rights Reserved