第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會有你想問的

為什么跨域Ajax是安全問題?

為什么跨域Ajax是安全問題?

白衣非少年 2019-11-27 11:19:27
為什么決定使用XMLHTTPRequest進(jìn)行XML調(diào)用不應(yīng)該跨域邊界進(jìn)行調(diào)用?您可以檢索JavaScript,圖像,CSS,iframe以及我可以想到的來自其他域的幾乎所有其他內(nèi)容。為什么不允許Ajax HTTP請求跨越域邊界?考慮到我可以看到它被濫用的唯一方法,這似乎是一個(gè)奇怪的限制,那就是如果有人要向頁面中注入Javascript。但是,在這種情況下,您只需在文檔中添加一個(gè)img,腳本或iframe元素即可獲取該文件以請求第三方URL并將其發(fā)送到服務(wù)器。[編輯]一些答案指出了以下原因,讓我們指出了它們沒有創(chuàng)建不允許這樣做的主要原因的原因。XSRF(跨站點(diǎn)請求偽造,也稱為CSRF,XSRF)您可以完全不使用XSRF進(jìn)行攻擊。通常,根本不使用XMLHTTPRequest,只是因?yàn)楹茈y以與所有主要瀏覽器兼容的方式創(chuàng)建XMLHTTPRequest。如果希望他們加載URL,只需在URL上添加一個(gè)img標(biāo)記就容易得多。發(fā)布到第三方網(wǎng)站<script type="text/javascript">  $.post("http://some-bank.com/transfer-money.php",          { amount: "10000", to_account: "xxxx" })</script>可以完成<body onload="document.getElementById('InvisbleForm').submit()"    <div style="display:none">        <form id="InvisbleForm" action="http://some-bank.com/transfer-money.php" method="POST">            <input type="hidden" name="amount" value="10000">            <input type="hidden" name="to_account" value="xxxxx">        </form>    </div></body>JPunyon:為什么要將該漏洞保留為新功能您不會再造成任何不安全感。您只是給想要以某種方式使用它的開發(fā)人員帶來不便。任何想將此功能用于邪惡(又稱“真棒”)的人都可以使用其他方法來實(shí)現(xiàn)。結(jié)論我將bobince的答案標(biāo)記為正確,因?yàn)樗赋隽岁P(guān)鍵問題。因?yàn)閄MLHTTPRequest允許您使用憑據(jù)(cookie)將其發(fā)布到目標(biāo)站點(diǎn),并讀取從站點(diǎn)發(fā)送回的數(shù)據(jù)以及發(fā)送人員憑據(jù),所以您可以編排一些javascript,這些javascript可以提交一系列表單,包括確認(rèn)表單,并附有為防止XSRF而生成的隨機(jī)密鑰。這樣,您就可以像銀行一樣瀏覽目標(biāo)站點(diǎn),而銀行的網(wǎng)絡(luò)服務(wù)器將無法斷定,不僅僅是提交所有這些表格的普通用戶。
查看完整描述

3 回答

?
阿波羅的戰(zhàn)車

TA貢獻(xiàn)1862條經(jīng)驗(yàn) 獲得超6個(gè)贊

為什么不允許Ajax HTTP請求跨越域邊界。


因?yàn)锳JAX請求是(a)使用用戶憑據(jù)提交的,并且(b)允許調(diào)用方讀取返回的數(shù)據(jù)。


這些因素的組合可能導(dǎo)致漏洞。有建議添加一種省略用戶憑據(jù)的跨域AJAX形式。


您只需將img,腳本或iframe元素添加到文檔中


這些方法均不允許調(diào)用者讀取返回的數(shù)據(jù)。


(除非腳本經(jīng)過故意設(shè)置以允許這種情況,允許的跨域腳本編寫,或者有人進(jìn)行了可怕的模仿)。


您可以完全不使用XSS進(jìn)行攻擊。發(fā)布到第三方網(wǎng)站


這不是XSS攻擊。這是跨站點(diǎn)請求偽造攻擊(XSRF)。有解決XSRF攻擊的已知方法,例如包含一次性令牌或加密令牌,以驗(yàn)證提交是否有意來自用戶并且不是從攻擊者代碼啟動(dòng)的。


如果您允許跨域AJAX,則將失去此保護(hù)措施。攻擊代碼可以從銀行網(wǎng)站請求一個(gè)頁面,讀取其中的所有授權(quán)令牌,然后在第二個(gè)AJAX請求中提交它們以執(zhí)行轉(zhuǎn)移。那將是跨站點(diǎn)腳本攻擊。


查看完整回答
反對 回復(fù) 2019-11-27
  • 3 回答
  • 0 關(guān)注
  • 684 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號