xss獲取管理員cookie java怎么解決跨站腳本xss?
java怎么解決跨站腳本xss?跨站點(diǎn)漏洞需要其他普通用戶進(jìn)入漏洞頁面,執(zhí)行攻擊者構(gòu)造的惡意JS代碼竊取cookie。如果攻擊者獲得高權(quán)限用戶的cookie,他就有機(jī)會(huì)以高權(quán)限用戶的身份進(jìn)入系統(tǒng),然后
java怎么解決跨站腳本xss?
跨站點(diǎn)漏洞需要其他普通用戶進(jìn)入漏洞頁面,執(zhí)行攻擊者構(gòu)造的惡意JS代碼竊取cookie。如果攻擊者獲得高權(quán)限用戶的cookie,他就有機(jī)會(huì)以高權(quán)限用戶的身份進(jìn)入系統(tǒng),然后進(jìn)一步入侵。所以根本的解決方案是過濾攻擊者提交的數(shù)據(jù),而不是給它執(zhí)行的機(jī)會(huì)。
js中cookie可以跨域取值嗎?
在正常情況下,瀏覽器禁止跨域訪問Cookie。通常,跨域cookies可以通過SSO服務(wù)獲得。其思想是:域a頁面訪問位于域a中的服務(wù)器,驗(yàn)證權(quán)限,域a服務(wù)器與域B服務(wù)器通信,記錄認(rèn)證域的唯一加密字符串(并向域B服務(wù)器發(fā)送cookie信息),域a服務(wù)器返回302跳到域B,并將加密字符串作為URL的一部分,從a域跳轉(zhuǎn)到B域,B域服務(wù)器通過加密字符串從a域服務(wù)器獲取cookie信息,并在響應(yīng)頭中添加set cookie字段來設(shè)置cookie
正常情況下,禁止瀏覽器獲取跨域Cookie
通常可以通過SSO服務(wù)獲取跨域Cookie。其思想如下:
域a頁面訪問位于域a中的服務(wù)器以驗(yàn)證權(quán)限
域a服務(wù)器與域B服務(wù)器通信,記錄一個(gè)唯一的加密字符串作為身份驗(yàn)證域(并向域B服務(wù)器發(fā)送cookie信息)
域a服務(wù)器返回302跳轉(zhuǎn),跳轉(zhuǎn)到域B,并將加密字符串作為url的一部分
頁面從域a跳轉(zhuǎn)到域B,域B服務(wù)器通過加密字符串獲取預(yù)先從域a服務(wù)器獲得的cookie信息,并在響應(yīng)頭中添加set cookie字段來設(shè)置cookie
XXS攻擊的原理是網(wǎng)頁沒有嚴(yán)格過濾用戶輸入的字符串,導(dǎo)致瀏覽器在提交輸入信息時(shí)執(zhí)行黑客嵌入的XXS腳本,導(dǎo)致用戶信息泄露。黑客可以將偽裝意思腳本語句的鏈接發(fā)送給受害者。當(dāng)受害者單擊鏈接時(shí),由于網(wǎng)頁不過濾腳本語句,瀏覽器將執(zhí)行腳本語句。腳本語句的功能是將用戶的cookie發(fā)送到黑客指定的地址,然后黑客就可以利用受害者的cookie竊取受害者的個(gè)人信息等。這種攻擊對服務(wù)器危害不大,但對用戶危害很大。為了防止這種攻擊,我們在設(shè)計(jì)網(wǎng)站時(shí)應(yīng)該嚴(yán)格過濾用戶提交的內(nèi)容。