學完了基本 sql 漏洞,也需要進行下一步的學習,繼續看著書學習吧,等學完之後就去 buu 刷一下 web 題。
跨站指令碼攻擊(cross site scripting,為避免與層疊樣式表 css 混淆,通常簡稱為 xss )是一種**應用程式的安全漏洞,是**注入漏洞的一種。它使得攻擊者可以通過巧妙的方法向網頁中注入惡意**,導致使用者瀏覽器在載入網頁、渲染 html 文件時就會執行攻擊者的惡意**。
以漏洞成因可分為三類:反射型、儲存型、dom 型。
也可以根據輸出點的不同分為三類:
關於反射型:
我覺得這個反射是指當我們進行漏洞的利用的時候,漏洞利用**馬上就會執行,如同反射一般。
關於漏洞的利用:
我們首先假設具有漏洞的**的 php **為:(來自:xss的原理分析與解剖 - freebuf網路安全行業門戶)
把我們輸入的字串 輸出到input裡的value屬性裡<?php
$xss = $_get['xss_input_value'];
if(isset($xss))else
?>
頁面的顯示情況為:
所以我們可以通過注入以下**來利用其存在的漏洞:
//">
//其中前面的 ' "> ' 使用於將前方的 '
關於儲存型:
其和反射型 xss 的區別在於所提交的 xss **是否會被儲存在服務端,是否可以在將來再次被利用。
關於漏洞利用:
我們以下面的**為漏洞原型:(來自:《ctf 特訓營》)
<?php
$conn = mysql_connect("localhost","root","root");
if (!$conn)
mysql_select_db("guestbook", $conn);
if (isset($_post['submit]'))
mysql_close($conn);
?>
此時,我們如果在內容處提交了
,那麼在我們下一次訪問被漏洞利用的使用者的時候,會再一次的彈出彈窗。
關於 dom 型:
dom 型 xss與反射型 xss、儲存型 xss 的主要區別在於 dom 型 xss 的 xss **不需要服務端解析響應的直接參與,觸發 xss 的是瀏覽器端的 dom 解析。
關於漏洞利用:
總結: 個人感覺就是利用html
頁面本身存在的漏洞問題,而這個漏洞問題可能存在於 js **、css **、html**等。
關於注意點:
當輸出點在 html **中時,我們需要注意標籤的閉合問題。如
name
="user"
value
="}"
/>
name
="user"
value="
" onclick
="alert(/xss/)"
>
name
="user"
value="
">
xss攻擊總結
顧名思義,非持久型xss攻擊是一次性的,僅對當次的頁面訪問產生影響。非持久型xss攻擊要求使用者訪問乙個被攻擊者篡改後的鏈結,使用者訪問該鏈結時,被植入的攻擊指令碼被使用者遊覽器執行,從而達到攻擊目的。持久型xss,會把攻擊者的資料儲存在伺服器端,攻擊行為將伴隨著攻擊資料一直存在。dom 不經過後端...
前端XSS攻擊
什麼是xss攻擊?xss原稱為css cross site scripting 即跨站指令碼攻擊,因為和層疊樣式表 cascading style sheets 重名,所以改稱為xss x一般有未知的含義,還有擴充套件的含義 xss攻擊可能造成的後果 獲取頁面資料 獲取cookie 劫持前端邏輯 傳...
XSS攻擊總結
本文由 整理總結而來 xss又稱css cross site script 譯為跨站指令碼攻擊,是web程式中常見的漏洞。原理 攻擊者向有xss漏洞的 輸入惡意 耗時間 當使用者瀏覽該 時 被動 此 自動執行,從而攻擊。多用於盜取cookie 破壞頁面結構 重定向。優點 幾乎所有 都有 缺點 1.耗...