『壹』 用了富文本,怎麼避免xss攻擊
後台過濾就可以了。例如script ,input 標簽直接replace掉 ,onclick. onxxx 之類也replace掉。只允許圖文的html標記和樣式存在。
『貳』 input怎樣能排除JS命令,防止XSS攻擊
1、對input輸入框進行輸入限制,防止輸入一些特殊符號。
2、對input的輸入長度進行限制,因為一般代碼長度會比較長,限制長度就可以有效防止這種情況。
3、表單提交注意使用post方式提交。
4、希望對你有幫助。
『叄』 關於xss過濾器form提交帶附件問題
是不是XSS防禦
如果是XSS防禦 ,我網路搜索了幾條;
解決提交表單時Xss攻擊的問題
『肆』 怎簡單過濾$_GET 防止XSS漏洞。
網路啊!問度娘
『伍』 Chrome 是怎麼過濾反射型 XSS 的呢
首先要說明的是 它是webkit的一個模塊,而非chrome ,所以Safari和360安全瀏覽器極速模式等webkit內核的瀏覽器都有XSS過濾功能.
過濾方式:
通過模糊匹配 輸入參數(GET query| POST form data| Location fragment ) 與 dom樹,如果匹配中的數據中包含跨站腳本則不在輸出到上下文DOM樹中.另外,匹配的規則跟CSP沒有什麼關系,最多是有參考,CSP這種規范類的東西更新速度太慢跟不上現實問題的步伐.
關閉模式:
因為它有可能影響到業務,所以瀏覽器提供了關閉它的HTTP響應頭.
X-XSS-Protection: 0
繞過方式:
因為專門做這方面的原因所以對繞過也有所了解,目前我發布過的一個bypass 0day還可以繼續使用.
<svg><script xlink:href=data:,alert(1)></script></svg>
『陸』 如何防止xss攻擊,需要過濾什麼
XSS攻擊通常是指黑客通過"HTML注入"篡改了網頁,插入了惡意的腳本,從而在用戶瀏覽網頁時,控制用戶瀏覽器的一種攻擊。
一、HttpOnly防止劫取Cookie
HttpOnly最早由微軟提出,至今已經成為一個標准。瀏覽器將禁止頁面的Javascript訪問帶有HttpOnly屬性的Cookie。目前主流瀏覽器都支持,HttpOnly解決是XSS後的Cookie支持攻擊。
我們來看下網路有沒有使用。
未登錄時的Cookie信息
可以看到,所有Cookie都沒有設置HttpOnly,現在我登錄下
發現在個叫BDUSS的Cookie設置了HttpOnly。可以猜測此Cookie用於認證。
下面我用PHP來實現下:
<?php
header("Set-Cookie: cookie1=test1;");
header("Set-Cookie: cookie2=test2;httponly",false);
setcookie('cookie3','test3',NULL,NULL,NULL,NULL,false);
setcookie('cookie4','test4',NULL,NULL,NULL,NULL,true);
?>
<script>
alert(document.cookie);
</script>
js只能讀到沒有HttpOnly標識的Cookie
二、輸入檢查
輸入檢查一般是檢查用戶輸入的數據中是否包含一些特殊字元,如<、>、'、"等,如果發現存在特殊字元,則將這些字元過濾或者編碼。
例如網站注冊經常用戶名只允許字母和數字的組合,或者郵箱電話,我們會在前端用js進行檢查,但在伺服器端代碼必須再次檢查一次,因為客戶端的檢查很容易繞過。
網上有許多開源的「XSS Filter」的實現,但是它們應該選擇性的使用,因為它們對特殊字元的過濾可能並非數據的本意。比如一款php的lib_filter類:
$filter = new lib_filter();
echo $filter->go('1+1>1');
它輸出的是1,這大大歪曲了數據的語義,因此什麼情況應該對哪些字元進行過濾應該適情況而定。
三、輸出檢查
大多人都知道輸入需要做檢查,但卻忽略了輸出檢查。
1、在HTML標簽中輸出
如代碼:
<?php
$a = "<script>alert(1);</script>";
$b = "<img src=# onerror=alert(2) />";
?>
<div><?=$b?></div>
<a href="#"><?=$a?></a>
這樣客戶端受到xss攻擊,解決方法就是對變數使用htmlEncode,php中的函數是htmlentities
<?php
$a = "<script>alert(1);</script>";
$b = "<img src=# onerror=alert(2) />";
?>
<div><?=htmlentities($b)?></div>
<a href="#"><?=htmlentities($a)?></a>
2、在HTML屬性中輸出
<div id="div" name ="$var"></div>
這種情況防禦也是使用htmlEncode
在owasp-php中實現:
$immune_htmlattr = array(',', '.', '-', '_');
$this->htmlEntityCodec->encode($this->immune_htmlattr, "\"><script>123123;</script><\"");
3、在<script>標簽中輸出
如代碼:
<?php
$c = "1;alert(3)";
?>
<script type="text/javascript">
var c = <?=$c?>;
</script>
這樣xss又生效了。首先js變數輸出一定要在引號內,但是如果我$c = "\"abc;alert(123);//",你會發現放引號中都沒用,自帶的函數都不能很好的滿足。這時只能使用一個更加嚴格的JavascriptEncode函數來保證安全——除數字、字母外的所有字元,都使用十六進制"\xHH"的方式進行編碼。這里我採用開源的owasp-php方法來實現
$immune = array("");
echo $this->javascriptCodec->encode($immune, "\"abc;alert(123);//");
最後輸出\x22abc\x3Balert\x28123\x29\x3B\x2F\x2F
4、在事件中輸出
<a href="#" onclick="funcA('$var')" >test</a>
可能攻擊方法
<a href="#" onclick="funcA('');alter(/xss/;//')">test</a>
這個其實就是寫在<script>中,所以跟3防禦相同
5、在css中輸出
在owasp-php中實現:
$immune = array("");
$this->cssCodec->encode($immune, 'background:expression(window.x?0:(alert(/XSS/),window.x=1));');
6、在地址中輸出
先確保變數是否是"http"開頭,然後再使用js的encodeURI或encodeURIComponent方法。
在owasp-php中實現:
$instance = ESAPI::getEncoder();
$instance->encodeForURL(『url』);
四、處理富文體
就像我寫這篇博客,我幾乎可以隨意輸入任意字元,插入圖片,插入代碼,還可以設置樣式。這個時要做的就是設置好白名單,嚴格控制標簽。能自定義 css件麻煩事,因此最好使用成熟的開源框架來檢查。php可以使用htmlpurify
五、防禦DOM Based XSS
DOM Based XSS是從javascript中輸出數據到HTML頁面里。
<script>
var x = "$var";
document.write("<a href='"+x+"'>test</a>");
</script>
按照三中輸出檢查用到的防禦方法,在x賦值時進行編碼,但是當document.write輸出數據到HTML時,瀏覽器重新渲染了頁面,會將x進行解碼,因此這么一來,相當於沒有編碼,而產生xss。
防禦方法:首先,還是應該做輸出防禦編碼的,但後面如果是輸出到事件或腳本,則要再做一次javascriptEncode編碼,如果是輸出到HTML內容或屬性,則要做一次HTMLEncode。
會觸發DOM Based XSS的地方有很多:
document.write()、document.writeln()、xxx.innerHTML=、xxx.outerHTML=、innerHTML.replace、document.attachEvent()、window.attachEvent()、document.location.replace()、document.location.assign()
『柒』 如何過濾掉編輯器例如UEeditor所能產生的xss漏洞
建議騰訊電腦管家修復,系統漏洞經常被黑客利用傳播惡意程序(如網頁掛馬),必須及時修復系統漏洞才能有效防止計算機在上網時被黑客入侵,不過如果安裝了安全軟體,並且漏洞介紹看起來不是那麼嚴重的話,可以選擇不修復。
Windows系統漏洞是指操作系統在開發過程中存在的技術缺陷,這些缺陷可能導致其他用戶在未被授權的情況下非法訪問或攻擊計算機系統。因此,系統開發商一般每月都會發布最新的補丁用以修復新發現的漏洞。目前,騰訊電腦管家支持修復Windows操作系統漏洞和部分第三方軟體漏洞。
『捌』 過濾了html標簽 怎麼進行xss滲透
ailure of dynasty Song Dy
『玖』 富文本編輯器的xss攻擊過濾怎麼實現前端
要測試 、富文本編輯器自編輯看看顯示行麽