當前位置:首頁 » 凈水方式 » cxss過濾

cxss過濾

發布時間: 2021-02-06 01:45:21

A. 這個xss有過濾方案么

方案一:
避免XSS的方法之一主要是將用戶所提供的內容輸入輸出進行過濾,許多語言都專有提供對屬HTML的過濾:
可以利用下面這些函數對出現xss漏洞的參數進行過濾:
PHP的htmlentities()或是htmlspecialchars()。
Python 的 cgi.escape()。
ASP 的 ServerEncode()。
ASP.NET 的 ServerEncode() 或功能更強的 Microsoft Anti-Cross Site Scripting Library
Java 的 xssprotect(Open Source Library)。
Node.js 的 node-validator。
方案二:使用開源的漏洞修復插件。( 需要站長懂得編程並且能夠修改伺服器代碼 )

B. 如何正確防禦xss攻擊

傳統防禦技術

2.1.1基於特徵的防禦

傳統XSS防禦多採用特徵匹配方式,在所有提交的信息中都進行匹配檢查。對於這種類型的XSS攻擊,採用的模式匹配方法一般會需要對「javascript」這個關鍵字進行檢索,一旦發現提交信息中包含「javascript」,就認定為XSS攻擊。

2.1.2 基於代碼修改的防禦

和SQL注入防禦一樣,XSS攻擊也是利用了Web頁面的編寫疏忽,所以還有一種方法就是從Web應用開發的角度來避免:

1、對所有用戶提交內容進行可靠的輸入驗證,包括對URL、查詢關鍵字、HTTP頭、POST數據等,僅接受指定長度范圍內、採用適當格式、採用所預期的字元的內容提交,對其他的一律過濾。

2、實現Session標記(session tokens)、CAPTCHA系統或者HTTP引用頭檢查,以防功能被第三方網站所執行。

3、確認接收的的內容被妥善的規范化,僅包含最小的、安全的Tag(沒有javascript),去掉任何對遠程內容的引用(尤其是樣式表和javascript),使用HTTP only的cookie。

當然,如上方法將會降低Web業務系統的可用性,用戶僅能輸入少量的制定字元,人與系統間的交互被降到極致,僅適用於信息發布型站點。

並且考慮到很少有Web編碼人員受過正規的安全培訓,很難做到完全避免頁面中的XSS漏洞。

(2)cxss過濾擴展閱讀:

XSS攻擊的危害包括

1、盜取各類用戶帳號,如機器登錄帳號、用戶網銀帳號、各類管理員帳號

2、控制企業數據,包括讀取、篡改、添加、刪除企業敏感數據的能力

3、盜竊企業重要的具有商業價值的資料

4、非法轉賬

5、強制發送電子郵件

6、網站掛馬

7、控制受害者機器向其它網站發起攻擊

受攻擊事件

新浪微博XSS受攻擊事件

2011年6月28日晚,新浪微博出現了一次比較大的XSS攻擊事件。

大量用戶自動發送諸如:

「郭美美事件的一些未注意到的細節」,「建黨大業中穿幫地方」,「讓女人心動的100句詩歌」,「這是傳說中的神仙眷侶啊」等等微博和私信,並自動關注一位名為hellosamy的用戶。

事件的經過線索如下:

20:14,開始有大量帶V的認證用戶中招轉發蠕蟲

20:30,某網站中的病毒頁面無法訪問

20:32,新浪微博中hellosamy用戶無法訪問

21:02,新浪漏洞修補完畢

網路貼吧xss攻擊事件

2014年3月9晚,六安吧等幾十個貼吧出現點擊推廣貼會自動轉發等。並且吧友所關注的每個關注的貼吧都會轉一遍,病毒循環發帖。並且導致吧務人員,和吧友被封禁。

C. 如何防止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()

D. 請上 http://www.guoxue.com/fxyj/cxss/cxss030.htm

這是顯示器造復成的

在屏幕滾動制的時候,顯示器上顯示的顏色塊產生移動,在移動過程中,顏色的顯示會產生灰度系數的變化,不同的顯示器變化也不一樣。

LZ不妨隨便找個網路貼吧進去看看,滾動觀察貼吧帖子的藍色文字也會發生變化。

E. 什麼是XSS攻擊

什麼是XSS攻擊又叫CSS (Cross Site Script) ,跨站腳本攻擊。它指的是惡意攻擊者往Web頁面里插入惡意html代碼,當用戶瀏覽該頁之時,嵌入其中Web裡面的html代碼會被執行,從而達到惡意攻擊用戶的特殊目的。XSS屬於被動式的攻擊,因為其被動且不好利用,所以許多人常忽略其危害性。而本文主要講的是利用XSS得到目標伺服器的shell。技術雖然是老技術,但是其思路希望對大家有幫助。 [編輯本段]如何尋找XSS漏洞就個人而言,我把XSS攻擊分成兩類,一類是來自內部的攻擊,主要指的是利用程序自身的漏洞,構造跨站語句,如:dvbbs的showerror.asp存在的跨站漏洞。另一類則是來來自外部的攻擊,主要指的自己構造XSS跨站漏洞網頁或者尋找非目標機以外的有跨站漏洞的網頁。如當我們要滲透一個站點,我們自己構造一個有跨站漏洞的網頁,然後構造跨站語句,通過結合其它技術,如社會工程學等,欺騙目標伺服器的管理員打開。
然後利用下面的技術得到一個shell. [編輯本段]如何利用傳統的跨站利用方式一般都是攻擊者先構造一個跨站網頁,然後在另一空間里放一個收集cookie的頁面,接著結合其它技術讓用戶打開跨站頁面以盜取用戶的cookie,以便進一步的攻擊。個人認為這種方式太過於落後,對於弊端大家可能都知道,因為即便你收集到了cookie你也未必能進一步滲透進去,多數的cookie裡面的密碼都是經過加密的,如果想要cookie欺騙的話,同樣也要受到其它的條件的限約。而本文提出的另一種思路,則從一定程度上解決上述的問題。對於個人而言,比較成熟的方法是通過跨站構造一個表單,表單的內容則為利用程序的備份功能或者加管理員等功能得到一個高許可權。下面我將詳細的介紹這種技術。 [編輯本段]來自內部的跨站攻擊尋找跨站漏洞
如果有代碼的話比較好辦,我們主要看代碼里對用戶輸入的地方和變數有沒有做長度和對」〈」,」〉」,」;」,」』」等字元是否做過濾。還有要注意的是對於標簽的閉合,像測試QQ群跨站漏洞的時候,你在標題處輸入〈script〉alert(『test』)〈/script〉,代碼是不會被執行的,因為在源代碼里,有其它的標簽未閉合,如少了一個〈/script〉,這個時候,你只要閉合一個〈/script〉,代碼就會執行,如:你在標題處輸入〈/script〉〈script〉alert(『test』)〈/script〉,這樣就可以彈出一個test的框。
如何利用
我先以BBSXP為例,過程已做成動畫,詳情可見光碟中的動畫。我舉BBSXP中其中兩個比較好用的跨站漏洞點為例.
a.先注冊一個普通用戶,我這里注冊的用戶是linzi.然後我們在個人簽名里寫入:
c.然後發個貼子,可以結合其它技術欺騙管理員瀏覽發的貼子。
d.因為是測試,所以我們以管理員身份登陸,然後打開貼子,我們會發現,linzi已經變成了社區區長工,如圖一所示
除此之外我們只要在個人簽名里輸入
同樣發個貼子等,只要管理員打開了,就會加了一個擴展名為asp (有空格)的上傳擴展,這個時候,你只要上傳一個newmm.asp (有空格)就可以得到一個shell.
上面的攻擊多多少少有點局限性,雖然可以得到shell,但是隱蔽性不太好,因為簽名
處受到了長度的限制,不能超過255個字元。我們可以結合flash跨站實現更為隱蔽的
攻擊,對於flash木馬的製作,下面見哥們豐初的介紹。
再利用如下:
修改一下個人頭像的url,輸入代碼如下:
再接著欺騙管理員打開你的資料或者瀏覽你的貼子,當管理員打開後,會在後台自動加個php擴展名的後輟,因為bbsxp在個人頭像url里過濾了空格,%,所以我們只能加個不包括空格的其它擴展,當然你也可以加個shtml的擴展,有了它你就可以用來查看源代碼,然後進一步攻擊。 [編輯本段]來自外部的跨站攻擊有的時候,當我們對於目標程序找不到可以利用的跨站點,這個時候我們可以利用可以從外部入手,利用我們要拿下的是它的論壇,論壇的安全性做的很好,但其留言板卻存在跨站漏洞,這個時候我們可以在留言板里寫入跨站語句,跨站語句為以表單的方式向論壇提交提升許可權的語句,如上面的bbsxp加asp 擴展的語句。當然我們可利用後台的備份功能直接得到一個shell。
例:先上傳一個文件linzi.txt,內容如下:
〈body onload="javascript:document.forms[0].submit()"〉〈form
action=" http://127.0.0.1/bbsxp/admin_fso.asp?menu=bakbf" method="post"〉〈input value="database/bbsxp.mdb" name="yl" 〉〈input value="database/shit.asp" name="bf" 〉〈/body〉〈/html〉
上面的代碼是把論壇的資料庫備份為shit.asp,留言板存在跨站點如下:
http://127.0.0.1/bbsxp/page2.asp?username=
我們構造備份跨站語句如下:
http://127.0.0.1/bbsxp/page2.asp?username=%3C%62%6F%64%79%20%6F%6E%6C%6F%61%64%3D%22%6A%61%76%61%73%63%72%69%70%74%3A%64%6F%63%75%6D%65%6E%74%2E%66%6F%72%6D%73%5B%30%5D%2E%73%75%62%6D%69%74%28%29%22%3E%3C%66%6F%72%6D%20%61%63%74%69%6F%6E%3D%22%68%74%74%70%3A%2F%2F%31%32%37%2E%30%2E%30%2E%31%2F%62%62%73%78%70%2F%61%64%6D%69%6E%5F%66%73%6F%2E%61%73%70%3F%6D%65%6E%75%3D%62%61%6B%62%66%22%20%6D%65%74%68%6F%64%3D%22%70%6F%73%74%22%3E%3C%69%6E%70%75%74%20%76%61%6C%75%65%3D%22%64%61%74%61%62%61%73%65%2F%62%62%73%78%70%2E%6D%64%62%22%20%6E%61%6D%65%3D%22%79%6C%22%20%3E%3C%69%6E%70%75%74%20%76%61%6C%75%65%3D%22%64%61%74%61%62%61%73%65%2F%73%68%69%74%2E%61%73%70%22%20%6E%61%6D%65%3D%22%62%66%22%20%3E%3C%2F%62%6F%64%79%3E%3C%2F%68%74%6D%6C%3E
或者構造跨站語句,利用iframe打開一個0大小的linzi.txt。
當管理員打開後,會自動備份得到一個shell. [編輯本段]XSS與其它技術的結合從上面的實例,我們可以知道,如何欺騙管理打開是一個很重要的步驟,對於欺騙打開,除了社會工程學外,我們可以結合其它的技術,如sql injection.當我們滲透一個網站之時,主站mssql注入漏洞,許可權為public,這個時候我們利用update構造跨站語句,如用iframe打開一個上面的備份得到shell的跨站語句等,同樣,我們可以在社會工程學時,利用QQ的其它跨站漏洞等等。
總是對於欺騙也是一門藝術,具體怎麼利用,大家就發揮自己的想像力吧!
好一個欺騙也是一門藝術,不管是在生活中還是在網路中。生活中難免有些事情不能講真話,這時採用適當的方法使得我們的假話當作真話講,這就靠欺騙的藝術了。

F. 最近網上流行的XSS是什麼意思

最近網上流行的XSS是小學生的惡稱,罵小學生的。

一是指某些人的想法、思維方回式、對事物的認知和答思考能力如孩子般幼稚、單純、天真。

二是特指某類相對於同齡的人,在游戲競技或者社交網路中, 態度傲慢、技術水準較差、拒絕與隊友溝通、獨斷專行、忽視團隊合作、甚至喜歡惡語相向的網遊玩家。

三是指對沒有接觸過社會或社會經驗不足。



(6)cxss過濾擴展閱讀:

1、小學生技術菜,愛罵人,玻璃心(說他一句就掛機送人頭,不管說什麼,比如:中路的你不要再送了,然後他就說「我就送」,接著就開始了。)小學生的心思就像星空,摸不著猜不透。

2、大噴子(網路中對喜歡肆意謾罵、地域黑、招黑、互黑等網友的一種廣泛性定義。),不分青紅皂白就開噴。

3、說話不經過大腦考慮,以自我為中心,可能是在家被寵慣了。

4、沒有接觸過社會大家庭或接觸社會經驗不足。比如:參加工作,你要是不讓新人上,永遠都是新人。這也是小學生。

G. asp網站如何防止XSS攻擊

asp中防止xss攻擊的方法如下:

  1. 確保所有輸出內容都經過 HTML 編碼。

  2. 禁止用戶提供的文本進入任何 HTML 元素屬性字元串。

  3. 根據msdn.microsoft.com/library/3yekbd5b中的概述,檢查 Request.Browser,以阻止應用程序使用 Internet Explorer 6。

  4. 了解控制項的行為以及其輸出是否經過 HTML 編碼。如果未經過 HTML 編碼,則對進入控制項的數據進行編碼。

  5. 使用 Microsoft 防跨站點腳本庫 (AntiXSS) 並將其設置為您的默認 HTML 編碼器。

  6. 在將 HTML 數據保存到資料庫之前,使用 AntiXSS Sanitizer 對象(該庫是一個單獨的下載文件,將在下文中介紹)調用 GetSafeHtml 或 GetSafeHtmlFragment;不要在保存數據之前對數據進行編碼。

  7. 對於 Web 窗體,不要在網頁中設置 EnableRequestValidation=false。遺憾的是,Web 上的大多數用戶組文章都建議在出現錯誤時禁用該設置。該設置的存在是有原因的,例如,如果向伺服器發送回「<X」之類的字元組合,該設置將阻止請求。如果您的控制項將 HTML 發送回伺服器並收到圖 5所示的錯誤,那麼理想情況下,您應該在將數據發布到伺服器之前對數據進行編碼。這是 WYSIWYG 控制項的常見情形,現今的大多數版本都會在將其 HTML 數據發布回伺服器之前對該數據進行正確編碼。

  8. 對於 ASP.NET MVC 3 應用程序,當您需要將 HTML 發布回模型時,不要使用 ValidateInput(false) 來關閉請求驗證。只需向模型屬性中添加 [AllowHtml] 即可,如下所示:

public class BlogEntry

{

public int UserId {get;set;}

[AllowHtml]

public string BlogText {get;set;}

}


H. 關於ASP網站XSS漏洞,請幫忙過濾一下,謝謝

FunctionCheckxss(byValChkStr)

DimStr
Str=ChkStr
IfIsNull(Str)Then
CheckStr=""
ExitFunction
EndIf

Str=Replace(Str,"&","&")
Str=Replace(Str,"'","´")
Str=Replace(Str,"""",""")
Str=Replace(Str,"<","<")
Str=Replace(Str,">",">")
Str=Replace(Str,"/","/")
Str=Replace(Str,"*","*")

Dimre
Setre=NewRegExp
re.IgnoreCase=True
re.Global=True
re.Pattern="(w)(here)"
Str=re.Replace(Str,"$1here")
re.Pattern="(s)(elect)"
Str=re.Replace(Str,"$1elect")
re.Pattern="(i)(nsert)"
Str=re.Replace(Str,"$1nsert")
re.Pattern="(c)(reate)"
Str=re.Replace(Str,"$1reate")
re.Pattern="(d)(rop)"
Str=re.Replace(Str,"$1rop")
re.Pattern="(a)(lter)"
Str=re.Replace(Str,"$1lter")
re.Pattern="(d)(elete)"
Str=re.Replace(Str,"$1elete")
re.Pattern="(u)(pdate)"
Str=re.Replace(Str,"$1pdate")
re.Pattern="(s)(or)"
Str=re.Replace(Str,"$1or")
re.Pattern="( )"
Str=re.Replace(Str,"$1or")
'----------------------------------
re.Pattern="(java)(script)"
Str=re.Replace(Str,"$1script")
re.Pattern="(j)(script)"
Str=re.Replace(Str,"$1script")
re.Pattern="(vb)(script)"
Str=re.Replace(Str,"$1script")
'----------------------------------
IfInstr(Str,"expression")>0Then
Str=Replace(Str,"expression","e­xpression",1,-1,0)'防止xss注入
EndIf
Setre=Nothing
Checkxss=Str

EndFunction

使用方法:Checkxss(request.QueryString("變數")),或者Checkxss(request.form("表單名"))

熱點內容
丁度巴拉斯情人電影推薦 發布:2024-08-19 09:13:07 瀏覽:886
類似深水的露點電影 發布:2024-08-19 09:10:12 瀏覽:80
《消失的眼角膜》2電影 發布:2024-08-19 08:34:43 瀏覽:878
私人影院什麼電影好看 發布:2024-08-19 08:33:32 瀏覽:593
干 B 發布:2024-08-19 08:30:21 瀏覽:910
夜晚看片網站 發布:2024-08-19 08:20:59 瀏覽:440
台灣男同電影《越界》 發布:2024-08-19 08:04:35 瀏覽:290
看電影選座位追女孩 發布:2024-08-19 07:54:42 瀏覽:975
日本a級愛情 發布:2024-08-19 07:30:38 瀏覽:832
生活中的瑪麗類似電影 發布:2024-08-19 07:26:46 瀏覽:239