0x01.前言
SPF全稱為Sender Policy Framework,即寄件者原則架構。
當前Email通訊,還是在使用簡易郵件傳輸通訊協定(Simple Mail Transfer Protocol)協議。SMTP是一個非常簡單的傳輸協議,本身並沒有很好的安全措施。根據SMTP的規則,寄件者的郵箱地址是可以由發信方任意聲明的。SPF就是為了防止隨意偽造寄件者。
0x02.SPF記錄原理
SPF記錄實際上是伺服器的一個DNS記錄
假設郵件伺服器收到了一封郵件,來自主機的IP是173.194.72.103,並且聲稱寄件者為email@example.com。為了確認寄件者不是偽造的,郵件伺服器會去查詢example.com的SPF記錄。如果該域的SPF記錄設定允許IP為173.194.72.103的主機發送郵件,則伺服器就認為這封郵件是合法的;如果不允許,則通常會退信,或將其標記為垃圾/仿冒郵件。攻擊者雖然可以設定郵件來自example.com,但是卻無權操作example.com的DNS記錄;同時也無法偽造自己的IP地址。郵件服務提供者驗證SPF記錄就會標記為垃圾/仿冒郵件。
0x03.查看SPF記錄 1 window: nslookup -type=txt domain(-qt=txt domain) 2
3 linux: dig -t=txt domain
0x04.偽造郵件網址
https://emkei.cz
http://www.deadfake.com/Send.aspx
0x05.更多參考
http://drops.wooyun.org/papers/534
http://blog.csdn.net/zzban/Article/details/8997713
http://www.renfei.org/blog/introduction-to-spf.html
http://www.wooyun.org/bugs/wooyun-2011-03257
http://www.wooyun.org/bugs/wooyun-2011-03116