鍍金池/ 問答/HTML/ dns rebinding做ssrf怎樣進(jìn)行防御呢~

dns rebinding做ssrf怎樣進(jìn)行防御呢~

問題場(chǎng)景

例如http://axxx.com/?url=http://b.com/
想獲取http://b.com/下的網(wǎng)頁內(nèi)容,則需要向該域名發(fā)起請(qǐng)求
但是需要避免訪問到內(nèi)網(wǎng)

對(duì)b.com域名進(jìn)行ip解析的時(shí)候是外網(wǎng),接著真正請(qǐng)求b.com的時(shí)候解析的ip變成了內(nèi)網(wǎng)
這樣利用了這個(gè)時(shí)間差就構(gòu)造了一個(gè)ssrf攻擊的場(chǎng)景
涉及dns rebinding

目前想到的一種最暴力的就是添加白名單的方式
希望能有大佬分享一下解決方案,不勝感激

目前是用nodejs在對(duì)這個(gè)ssrf做防御,有沒有可能在真正發(fā)送請(qǐng)求的時(shí)候拿到域名對(duì)應(yīng)請(qǐng)求的ip呢

回答
編輯回答
心夠野

問題已解決,有個(gè)req.socket.remoteAddress字段可以判斷請(qǐng)求的地址ip

2018年8月18日 13:21