最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

jQuery使用中可能被XSS攻擊的一些危險(xiǎn)環(huán)節(jié)提醒

 更新時(shí)間:2016年05月24日 18:11:17   作者:哈哈胡子  
XSS指的是跨站腳本攻擊,比如人們常說(shuō)的向$傳入字符串或者字符串轉(zhuǎn)換可執(zhí)行函數(shù)等一些安全方面值得注意的細(xì)節(jié),下面就為大家整理了jQuery使用中可能被XSS攻擊的一些危險(xiǎn)環(huán)節(jié)提醒

$
我們經(jīng)常使用向 $ 內(nèi)傳入一個(gè)字符串的方式來(lái)選擇或生成 DOM 元素,但如果這個(gè)字符串是來(lái)自用戶輸入的話,那么這種方式就是有風(fēng)險(xiǎn)的。

先看一個(gè) DEMO:http://jsbin.com/duwuzonife/1/edit?html,js,output

$("<img src='' onerror='alert();'>");

當(dāng)用戶輸入的字符串是像這樣的時(shí),雖然這個(gè) <img> 元素不會(huì)馬上被插入到網(wǎng)頁(yè)的 DOM 中,但這個(gè) DOM 元素已經(jīng)被創(chuàng)建了,并且暫存在內(nèi)存里。而對(duì)于 <img> 元素,只要設(shè)置了它的 src 屬性,瀏覽器就會(huì)馬上請(qǐng)求 src 屬性所指向的資源。我們也可以利用這個(gè)特性做圖片的預(yù)加載。在上面的示例代碼中,創(chuàng)建元素的同時(shí),也設(shè)置了它的屬性,包括 src 屬性和 onerror 事件監(jiān)聽(tīng)器,所以瀏覽器會(huì)馬上請(qǐng)求圖片資源,顯然請(qǐng)求不到,隨機(jī)觸發(fā) onerror 的回調(diào)函數(shù),也就執(zhí)行了 JavaScript 代碼。

推薦閱讀 $ 的官方文檔:http://api.jquery.com/jQuery/

類似的其他方法

.after()
.append()
.appendTo()
.before()
.html()
.insertAfter()
.insertBefore()
.prepend()
.prependTo()
.replaceAll()
.replaceWith()
.unwrap()
.wrap()
.wrapAll()
.wrapInner()
.prepend()

以上這些方法不僅創(chuàng)建 DOM 元素,并且會(huì)馬上插入到頁(yè)面的 DOM 樹(shù)中。如果使用 <script> 標(biāo)簽插入了內(nèi)聯(lián) JS 會(huì)立即執(zhí)行。

不安全的輸入來(lái)源

document.URL *
document.location.pathname *
document.location.href *
document.location.search *
document.location.hash
document.referrer *
window.name
document.cookie

document 的大多數(shù)屬性都可以通過(guò)全局的 window 對(duì)象訪問(wèn)到。加 * 的屬性返回的時(shí)編碼 (urlencode) 后的字符串,需要解碼才可能造成威脅。

不安全的操作
把可以被用戶編輯的字符串,用在以下場(chǎng)景中,都是有隱患的??傮w來(lái)說(shuō),任何把字符串作為可執(zhí)行的代碼的操作,都是不安全的。

1.通過(guò)字符串創(chuàng)建函數(shù)

(1)eval
(2)new Function
(3)setTimeout/setInterval
2.跳轉(zhuǎn)頁(yè)面

location.replace/location.assign
修改 <script> 標(biāo)簽的 src 屬性
修改事件監(jiān)聽(tīng)器
總結(jié)
如果發(fā)生在用 jQuery 時(shí)被 DOM-XSS 攻擊的情況,大多是因?yàn)楹鲆暳藘蓚€(gè)東西:
1. 在給$傳參數(shù)時(shí),對(duì)參數(shù)來(lái)源的把控。
2. 用戶的輸入途徑不只有表單,還有地址欄,還可以通過(guò)開(kāi)發(fā)者工具直接修改 DOM ,或者直接在控制臺(tái)執(zhí)行 JS 代碼。

相關(guān)文章

最新評(píng)論

盐城市| 乐陵市| 双峰县| 方城县| 津市市| 连江县| 马公市| 屯留县| 陇南市| 芜湖县| 娄底市| 紫阳县| 乌拉特中旗| 留坝县| 铁岭市| 舞钢市| 汉寿县| 乐至县| 永善县| 和静县| 海兴县| 京山县| 郓城县| 岳阳县| 余干县| 桦甸市| 嘉定区| 景德镇市| 高州市| 鹿邑县| 沂水县| 安丘市| 瑞昌市| 邯郸县| 名山县| 中卫市| 安丘市| 永登县| 凌源市| 南陵县| 郓城县|