XSS攻擊通常指的是透過利用網頁開發時留下的漏洞,透過巧妙的方法注入惡意指令程式碼到網頁,使使用者載入並執行攻擊者惡意製造的網頁程式。這些惡意網頁程式通常是JavaScript,但實際上也可以包括Java、 VBScript、ActiveX、 Flash 或者甚至是普通的HTML。攻擊成功後,攻擊者可能得到包括但不限於更高的許可權(如執行一些操作)、私密網頁內容、會話和cookie等各種內容。
HTML是一種超文字標記語言,透過將一些字元特殊地對待來區別文字和標記,例如,小於符號(<)被看作是HTML標籤的開始,<title>與</title>之間的字元是頁面的標題等等。當動態頁面中插入的內容含有這些特殊字元(如<)時,使用者瀏覽器會將其誤認為是插入了HTML標籤,當這些HTML標籤引入了一段JavaScript指令碼時,這些指令碼程式就將會在使用者瀏覽器中執行。所以,當這些特殊字元不能被動態頁面檢查或檢查出現失誤時,就將會產生XSS漏洞。
預防XSS攻擊
從根本上說,解決辦法是消除網站的XSS漏洞,這就需要網站開發者運用轉義安全字元等手段,始終把安全放在心上。
簡單點,就是過濾從表單提交來的資料,使用php過濾函式就可以達到很好的目的。
htmlspecialchars() 函式
程式碼例項:
<?php
if (isset($_POST["name"])){
$str = trim($_POST["name"]); //清理空格
$str = strip_tags($str); //過濾html標籤
$str = htmlspecialchars($str); //將字元內容轉化為html實體
$str = addslashes($str); //防止SQL注入
echo $str;
}
?>
<form method="post" action="">
<input name="name" type="text">
<input type="submit" value="提交" >
</form>
具體操作無法一一寫出,需要你邊實踐邊摸索
XSS攻擊通常指的是透過利用網頁開發時留下的漏洞,透過巧妙的方法注入惡意指令程式碼到網頁,使使用者載入並執行攻擊者惡意製造的網頁程式。這些惡意網頁程式通常是JavaScript,但實際上也可以包括Java、 VBScript、ActiveX、 Flash 或者甚至是普通的HTML。攻擊成功後,攻擊者可能得到包括但不限於更高的許可權(如執行一些操作)、私密網頁內容、會話和cookie等各種內容。
HTML是一種超文字標記語言,透過將一些字元特殊地對待來區別文字和標記,例如,小於符號(<)被看作是HTML標籤的開始,<title>與</title>之間的字元是頁面的標題等等。當動態頁面中插入的內容含有這些特殊字元(如<)時,使用者瀏覽器會將其誤認為是插入了HTML標籤,當這些HTML標籤引入了一段JavaScript指令碼時,這些指令碼程式就將會在使用者瀏覽器中執行。所以,當這些特殊字元不能被動態頁面檢查或檢查出現失誤時,就將會產生XSS漏洞。
預防XSS攻擊
從根本上說,解決辦法是消除網站的XSS漏洞,這就需要網站開發者運用轉義安全字元等手段,始終把安全放在心上。
簡單點,就是過濾從表單提交來的資料,使用php過濾函式就可以達到很好的目的。
htmlspecialchars() 函式
程式碼例項:
<?php
if (isset($_POST["name"])){
$str = trim($_POST["name"]); //清理空格
$str = strip_tags($str); //過濾html標籤
$str = htmlspecialchars($str); //將字元內容轉化為html實體
$str = addslashes($str); //防止SQL注入
echo $str;
}
?>
<form method="post" action="">
<input name="name" type="text">
<input type="submit" value="提交" >
</form>
具體操作無法一一寫出,需要你邊實踐邊摸索