一行代碼解決網(wǎng)站防掛IFRAME木馬方案,小鴿子序列(靈兒)
更新時(shí)間:2007年12月20日 23:00:02 作者:
一行代碼解決網(wǎng)站防掛IFRAME木馬方案,小鴿子序列(靈兒)
最近公司和好朋友的網(wǎng)站紛紛被IFRAME了,有的掛上了鴿子,有的瘋狂地彈窗,有的給人家增加流量。一個(gè)個(gè)文件去查找替換那些IFRAME代碼,剛松口氣,不久又加上去了,哎,什么世道!于是他們向我這個(gè)"JS高手"(他們強(qiáng)加給我的)求救,我也不能等閑視之,只好擊鍵殺殺殺了。
因?yàn)镕F(Firefox)不怕IFRAME,于是就拿IE開刀,不知道比爾有沒有獎(jiǎng)發(fā)。我只寫了一句代碼,就搞定了,哈,痛快。就是IE only(特有的)的CSS中的屬性expression,插進(jìn)去試試,果然那些IFRAME不起作用了。
代碼如下:
<style type="text/css" media="all" id="http://nihaoku.cn">
/*<![CDATA[*/
iframe{
v:expression(this.src='about:blank',this.outerHTML='');/*使用IE Only 的樣式會(huì)除所有 IFRAME */
}
#f126{v:expression() !important} //如果要使自己的IFRAME可以執(zhí)行,在自己的IFRAME里加上ID="f126";
/*]]>*/
</style>
分析:
前綴:expression(表達(dá)式);
這個(gè)前綴是可以隨意更換的,我上面取名為"v",例如我可以換成:abc123:expression(this.src='about:blank',this.outerHTML=''); 掛木馬的家伙得先看你的CSS里這個(gè)前綴,然后掛馬的時(shí)候?qū)懗蛇@樣<iframe style="abc123:expression() !important" src="URL"></iframe>,那個(gè)前綴一定要是和你的網(wǎng)站一樣的(abc123),才能掛到馬,哈哈哈!如果把前綴做成動(dòng)態(tài)的,就非常OK了,看你怎么掛!
優(yōu)點(diǎn):
可以解決一些站長(zhǎng)的煩惱,無須去理會(huì)人家插了多少IFRAME木馬,那些IFRAME都不起作用;
保護(hù)了訪客的安全,這些IFRAME不執(zhí)行,不下載,就不會(huì)破壞到訪問的電腦;
代碼簡(jiǎn)單,僅一句CSS樣式,不管你是ASP,ASP.NET,JSP,PHP還是RUBY,都通用;
缺點(diǎn):
只適合防御目前的掛IFRAME方案;
使得人家掛馬的方式要改變了,掛馬者可以構(gòu)造這樣的代碼<iframe style="v:expression() !important" src="URL"></iframe>使我的防御方式失效,不過掛馬都一定得看我的CSS里expression前面的這個(gè)"v"字母,我可以換成任意的如:xgz:expression(...),哈哈哈,他也拿我沒辦法,再如,如果我這個(gè)前綴是變化的,是不是也行吖 *_*
不能防御其他標(biāo)記的馬,如<script>、<applet>、<object>等。
到那時(shí)候再來找我吧,呵呵~ 網(wǎng)頁(yè)里插入的IFRAME還是存在,只是不起作用了;
代碼拿出來分享一下吧!詳細(xì)請(qǐng)進(jìn):http://www.nihaoku.cn/temp/noiframe.html
不過我這個(gè)方法不是最終的解決案,最終的解決方案是找出真正被掛IFRAME的原因,堵住源頭。這可不是我的事,呵~
因?yàn)镕F(Firefox)不怕IFRAME,于是就拿IE開刀,不知道比爾有沒有獎(jiǎng)發(fā)。我只寫了一句代碼,就搞定了,哈,痛快。就是IE only(特有的)的CSS中的屬性expression,插進(jìn)去試試,果然那些IFRAME不起作用了。
代碼如下:
<style type="text/css" media="all" id="http://nihaoku.cn">
/*<![CDATA[*/
iframe{
v:expression(this.src='about:blank',this.outerHTML='');/*使用IE Only 的樣式會(huì)除所有 IFRAME */
}
#f126{v:expression() !important} //如果要使自己的IFRAME可以執(zhí)行,在自己的IFRAME里加上ID="f126";
/*]]>*/
</style>
分析:
前綴:expression(表達(dá)式);
這個(gè)前綴是可以隨意更換的,我上面取名為"v",例如我可以換成:abc123:expression(this.src='about:blank',this.outerHTML=''); 掛木馬的家伙得先看你的CSS里這個(gè)前綴,然后掛馬的時(shí)候?qū)懗蛇@樣<iframe style="abc123:expression() !important" src="URL"></iframe>,那個(gè)前綴一定要是和你的網(wǎng)站一樣的(abc123),才能掛到馬,哈哈哈!如果把前綴做成動(dòng)態(tài)的,就非常OK了,看你怎么掛!
優(yōu)點(diǎn):
可以解決一些站長(zhǎng)的煩惱,無須去理會(huì)人家插了多少IFRAME木馬,那些IFRAME都不起作用;
保護(hù)了訪客的安全,這些IFRAME不執(zhí)行,不下載,就不會(huì)破壞到訪問的電腦;
代碼簡(jiǎn)單,僅一句CSS樣式,不管你是ASP,ASP.NET,JSP,PHP還是RUBY,都通用;
缺點(diǎn):
只適合防御目前的掛IFRAME方案;
使得人家掛馬的方式要改變了,掛馬者可以構(gòu)造這樣的代碼<iframe style="v:expression() !important" src="URL"></iframe>使我的防御方式失效,不過掛馬都一定得看我的CSS里expression前面的這個(gè)"v"字母,我可以換成任意的如:xgz:expression(...),哈哈哈,他也拿我沒辦法,再如,如果我這個(gè)前綴是變化的,是不是也行吖 *_*
不能防御其他標(biāo)記的馬,如<script>、<applet>、<object>等。
到那時(shí)候再來找我吧,呵呵~ 網(wǎng)頁(yè)里插入的IFRAME還是存在,只是不起作用了;
代碼拿出來分享一下吧!詳細(xì)請(qǐng)進(jìn):http://www.nihaoku.cn/temp/noiframe.html
不過我這個(gè)方法不是最終的解決案,最終的解決方案是找出真正被掛IFRAME的原因,堵住源頭。這可不是我的事,呵~
相關(guān)文章
局域網(wǎng)“內(nèi)鬼” 非授權(quán)DHCP服務(wù)器防范策略
本篇文章主要介紹了局域網(wǎng)“內(nèi)鬼” 非授權(quán)DHCP服務(wù)器防范策略,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2007-12-12重裝windows系統(tǒng)備份重要數(shù)據(jù)全攻略
重裝windows系統(tǒng)備份重要數(shù)據(jù)全攻略...2007-01-01Windows網(wǎng)絡(luò)命令行程序參數(shù)說明
Windows網(wǎng)絡(luò)命令行程序參數(shù)說明...2007-03-03用windows自帶的ftp.exe實(shí)現(xiàn)斷點(diǎn)續(xù)傳的方法
用windows自帶的ftp.exe實(shí)現(xiàn)斷點(diǎn)續(xù)傳的方法...2007-07-07提示Outlook/Foxmail收取163郵件失?。篍RR 您沒有權(quán)限使用pop3功能
提示Outlook/Foxmail收取163郵件失?。篍RR 您沒有權(quán)限使用pop3功能...2007-12-12IIS運(yùn)行錯(cuò)誤 Server Application Error 錯(cuò)誤代碼 Error: 8004的解決方法
IIS故障新解...其實(shí)也不是什么新解,呵呵不過網(wǎng)絡(luò)上的大蝦們給的方法結(jié)合了下就搞定了問題2007-09-09