'Kali Linux實戰篇:XSS跨站腳本攻擊實戰教程'

"

聲明:本頭條號【Kali技術】所有分享,僅限學習交流!請勿他用!

"

聲明:本頭條號【Kali技術】所有分享,僅限學習交流!請勿他用!

Kali Linux實戰篇:XSS跨站腳本攻擊實戰教程

一、課程概要

本課程主要分享XSS跨站腳本攻擊實戰教程!

二、內容概要

  1. XSS漏洞原理
  2. 反射型挖掘
  3. 存儲型挖掘

三、漏洞簡介

在實踐漏洞之前,筆者準備先簡單介紹一下XSS漏洞,不過XSS的相關概念介紹並不是本文的重點,因此不會過多細講;XSS的漏洞類型主要分為三類:反射型、存儲型、DOM型

3.1 漏洞成因

XSS的漏洞主要成因是後端接收參數時未經過濾,導致參數改變了HTML的結構,如下圖所示

"

聲明:本頭條號【Kali技術】所有分享,僅限學習交流!請勿他用!

Kali Linux實戰篇:XSS跨站腳本攻擊實戰教程

一、課程概要

本課程主要分享XSS跨站腳本攻擊實戰教程!

二、內容概要

  1. XSS漏洞原理
  2. 反射型挖掘
  3. 存儲型挖掘

三、漏洞簡介

在實踐漏洞之前,筆者準備先簡單介紹一下XSS漏洞,不過XSS的相關概念介紹並不是本文的重點,因此不會過多細講;XSS的漏洞類型主要分為三類:反射型、存儲型、DOM型

3.1 漏洞成因

XSS的漏洞主要成因是後端接收參數時未經過濾,導致參數改變了HTML的結構,如下圖所示

Kali Linux實戰篇:XSS跨站腳本攻擊實戰教程

在圖中可以看到攻擊者的參數被原樣放到了HTML代碼當中,導致原本的結構被改變,當這份代碼被瀏覽器執行之後,將執行alert事件。

3.2 反射型

反射型XSS在筆者鬧鐘的定義是,如果URL地址當中的惡意參數會直接被輸出到頁面中,導致攻擊代碼被觸發,便稱之為反射型XSS,如下圖所示

"

聲明:本頭條號【Kali技術】所有分享,僅限學習交流!請勿他用!

Kali Linux實戰篇:XSS跨站腳本攻擊實戰教程

一、課程概要

本課程主要分享XSS跨站腳本攻擊實戰教程!

二、內容概要

  1. XSS漏洞原理
  2. 反射型挖掘
  3. 存儲型挖掘

三、漏洞簡介

在實踐漏洞之前,筆者準備先簡單介紹一下XSS漏洞,不過XSS的相關概念介紹並不是本文的重點,因此不會過多細講;XSS的漏洞類型主要分為三類:反射型、存儲型、DOM型

3.1 漏洞成因

XSS的漏洞主要成因是後端接收參數時未經過濾,導致參數改變了HTML的結構,如下圖所示

Kali Linux實戰篇:XSS跨站腳本攻擊實戰教程

在圖中可以看到攻擊者的參數被原樣放到了HTML代碼當中,導致原本的結構被改變,當這份代碼被瀏覽器執行之後,將執行alert事件。

3.2 反射型

反射型XSS在筆者鬧鐘的定義是,如果URL地址當中的惡意參數會直接被輸出到頁面中,導致攻擊代碼被觸發,便稱之為反射型XSS,如下圖所示

Kali Linux實戰篇:XSS跨站腳本攻擊實戰教程

在圖中可以看到,此處原本是輸入一個名字,單實際傳遞了一個script標籤,此標籤也被原樣放到了HTML結構當中,結果script標籤代碼中的代碼被觸發

3.3 存儲型

存儲型XSS,顧名思義便是惡意參數被存儲起來了,通常存儲在後端服務器當中,所以存儲型XSS在URL地址當中不會包含惡意參數,對於受害者來說,很難發現已經被攻擊了,如下圖存儲型XSS被觸發

"

聲明:本頭條號【Kali技術】所有分享,僅限學習交流!請勿他用!

Kali Linux實戰篇:XSS跨站腳本攻擊實戰教程

一、課程概要

本課程主要分享XSS跨站腳本攻擊實戰教程!

二、內容概要

  1. XSS漏洞原理
  2. 反射型挖掘
  3. 存儲型挖掘

三、漏洞簡介

在實踐漏洞之前,筆者準備先簡單介紹一下XSS漏洞,不過XSS的相關概念介紹並不是本文的重點,因此不會過多細講;XSS的漏洞類型主要分為三類:反射型、存儲型、DOM型

3.1 漏洞成因

XSS的漏洞主要成因是後端接收參數時未經過濾,導致參數改變了HTML的結構,如下圖所示

Kali Linux實戰篇:XSS跨站腳本攻擊實戰教程

在圖中可以看到攻擊者的參數被原樣放到了HTML代碼當中,導致原本的結構被改變,當這份代碼被瀏覽器執行之後,將執行alert事件。

3.2 反射型

反射型XSS在筆者鬧鐘的定義是,如果URL地址當中的惡意參數會直接被輸出到頁面中,導致攻擊代碼被觸發,便稱之為反射型XSS,如下圖所示

Kali Linux實戰篇:XSS跨站腳本攻擊實戰教程

在圖中可以看到,此處原本是輸入一個名字,單實際傳遞了一個script標籤,此標籤也被原樣放到了HTML結構當中,結果script標籤代碼中的代碼被觸發

3.3 存儲型

存儲型XSS,顧名思義便是惡意參數被存儲起來了,通常存儲在後端服務器當中,所以存儲型XSS在URL地址當中不會包含惡意參數,對於受害者來說,很難發現已經被攻擊了,如下圖存儲型XSS被觸發

Kali Linux實戰篇:XSS跨站腳本攻擊實戰教程

在圖中筆者並沒有在URL地址當中看到script代碼,但是攻擊代碼依然被觸發,說明攻擊代碼來自於服務器,而這個攻擊代碼確實是由攻擊者傳遞到服務器當中去的。

一般情況下,當攻擊者將攻擊代碼通過表單傳遞到服務器當中去,會得到一個新頁面的地址,這個地址中URL並沒有明顯異常,比如如下URL地址

http://permeate.songboy.net/article/1

但當存在存儲型XSS時,受害者打開此URL,攻擊代碼將會被觸發,這種情況下筆者便稱之為存儲型XSS漏洞。


AD:歡迎在以下專欄,學習完整Kali Linux滲透測試實戰課程!


3.4 DOM型

DOM型XSS較為特殊,筆者前面反射型XSS和存儲型XSS都是以傳播方式來區分的,而DOM型XSS和傳參方式無關,而是當開發者做了一些安全防護之後,任出現安全問題的一種現象,如下圖所示

"

聲明:本頭條號【Kali技術】所有分享,僅限學習交流!請勿他用!

Kali Linux實戰篇:XSS跨站腳本攻擊實戰教程

一、課程概要

本課程主要分享XSS跨站腳本攻擊實戰教程!

二、內容概要

  1. XSS漏洞原理
  2. 反射型挖掘
  3. 存儲型挖掘

三、漏洞簡介

在實踐漏洞之前,筆者準備先簡單介紹一下XSS漏洞,不過XSS的相關概念介紹並不是本文的重點,因此不會過多細講;XSS的漏洞類型主要分為三類:反射型、存儲型、DOM型

3.1 漏洞成因

XSS的漏洞主要成因是後端接收參數時未經過濾,導致參數改變了HTML的結構,如下圖所示

Kali Linux實戰篇:XSS跨站腳本攻擊實戰教程

在圖中可以看到攻擊者的參數被原樣放到了HTML代碼當中,導致原本的結構被改變,當這份代碼被瀏覽器執行之後,將執行alert事件。

3.2 反射型

反射型XSS在筆者鬧鐘的定義是,如果URL地址當中的惡意參數會直接被輸出到頁面中,導致攻擊代碼被觸發,便稱之為反射型XSS,如下圖所示

Kali Linux實戰篇:XSS跨站腳本攻擊實戰教程

在圖中可以看到,此處原本是輸入一個名字,單實際傳遞了一個script標籤,此標籤也被原樣放到了HTML結構當中,結果script標籤代碼中的代碼被觸發

3.3 存儲型

存儲型XSS,顧名思義便是惡意參數被存儲起來了,通常存儲在後端服務器當中,所以存儲型XSS在URL地址當中不會包含惡意參數,對於受害者來說,很難發現已經被攻擊了,如下圖存儲型XSS被觸發

Kali Linux實戰篇:XSS跨站腳本攻擊實戰教程

在圖中筆者並沒有在URL地址當中看到script代碼,但是攻擊代碼依然被觸發,說明攻擊代碼來自於服務器,而這個攻擊代碼確實是由攻擊者傳遞到服務器當中去的。

一般情況下,當攻擊者將攻擊代碼通過表單傳遞到服務器當中去,會得到一個新頁面的地址,這個地址中URL並沒有明顯異常,比如如下URL地址

http://permeate.songboy.net/article/1

但當存在存儲型XSS時,受害者打開此URL,攻擊代碼將會被觸發,這種情況下筆者便稱之為存儲型XSS漏洞。


AD:歡迎在以下專欄,學習完整Kali Linux滲透測試實戰課程!


3.4 DOM型

DOM型XSS較為特殊,筆者前面反射型XSS和存儲型XSS都是以傳播方式來區分的,而DOM型XSS和傳參方式無關,而是當開發者做了一些安全防護之後,任出現安全問題的一種現象,如下圖所示

Kali Linux實戰篇:XSS跨站腳本攻擊實戰教程

在圖片中,可以看到參數name已經使用函數轉義了,按理說此時將參數傳遞到前端頁面是不會產生XSS漏洞的;但當JavaScript代碼將參數進行DOM節點操作之後,原本被轉義的代碼又會被還原,因此還是會被觸發,如下圖所示

"

聲明:本頭條號【Kali技術】所有分享,僅限學習交流!請勿他用!

Kali Linux實戰篇:XSS跨站腳本攻擊實戰教程

一、課程概要

本課程主要分享XSS跨站腳本攻擊實戰教程!

二、內容概要

  1. XSS漏洞原理
  2. 反射型挖掘
  3. 存儲型挖掘

三、漏洞簡介

在實踐漏洞之前,筆者準備先簡單介紹一下XSS漏洞,不過XSS的相關概念介紹並不是本文的重點,因此不會過多細講;XSS的漏洞類型主要分為三類:反射型、存儲型、DOM型

3.1 漏洞成因

XSS的漏洞主要成因是後端接收參數時未經過濾,導致參數改變了HTML的結構,如下圖所示

Kali Linux實戰篇:XSS跨站腳本攻擊實戰教程

在圖中可以看到攻擊者的參數被原樣放到了HTML代碼當中,導致原本的結構被改變,當這份代碼被瀏覽器執行之後,將執行alert事件。

3.2 反射型

反射型XSS在筆者鬧鐘的定義是,如果URL地址當中的惡意參數會直接被輸出到頁面中,導致攻擊代碼被觸發,便稱之為反射型XSS,如下圖所示

Kali Linux實戰篇:XSS跨站腳本攻擊實戰教程

在圖中可以看到,此處原本是輸入一個名字,單實際傳遞了一個script標籤,此標籤也被原樣放到了HTML結構當中,結果script標籤代碼中的代碼被觸發

3.3 存儲型

存儲型XSS,顧名思義便是惡意參數被存儲起來了,通常存儲在後端服務器當中,所以存儲型XSS在URL地址當中不會包含惡意參數,對於受害者來說,很難發現已經被攻擊了,如下圖存儲型XSS被觸發

Kali Linux實戰篇:XSS跨站腳本攻擊實戰教程

在圖中筆者並沒有在URL地址當中看到script代碼,但是攻擊代碼依然被觸發,說明攻擊代碼來自於服務器,而這個攻擊代碼確實是由攻擊者傳遞到服務器當中去的。

一般情況下,當攻擊者將攻擊代碼通過表單傳遞到服務器當中去,會得到一個新頁面的地址,這個地址中URL並沒有明顯異常,比如如下URL地址

http://permeate.songboy.net/article/1

但當存在存儲型XSS時,受害者打開此URL,攻擊代碼將會被觸發,這種情況下筆者便稱之為存儲型XSS漏洞。


AD:歡迎在以下專欄,學習完整Kali Linux滲透測試實戰課程!


3.4 DOM型

DOM型XSS較為特殊,筆者前面反射型XSS和存儲型XSS都是以傳播方式來區分的,而DOM型XSS和傳參方式無關,而是當開發者做了一些安全防護之後,任出現安全問題的一種現象,如下圖所示

Kali Linux實戰篇:XSS跨站腳本攻擊實戰教程

在圖片中,可以看到參數name已經使用函數轉義了,按理說此時將參數傳遞到前端頁面是不會產生XSS漏洞的;但當JavaScript代碼將參數進行DOM節點操作之後,原本被轉義的代碼又會被還原,因此還是會被觸發,如下圖所示

Kali Linux實戰篇:XSS跨站腳本攻擊實戰教程

在圖中看到XSS代碼已經被觸發,這種DOM型XSS相對來說更加隱蔽,所以防禦XSS漏洞的不能僅僅依靠後端開發者,前端開發者也應當瞭解XSS漏洞。

四、反射型挖掘

經過上一節的原理介紹,筆者相信大家對XSS已經有一些瞭解,現在筆者需要進行手工XSS漏洞挖掘,在手工挖掘之前筆者需要先逛逛網站有哪些功能點,如下圖是permeate的界面

"

聲明:本頭條號【Kali技術】所有分享,僅限學習交流!請勿他用!

Kali Linux實戰篇:XSS跨站腳本攻擊實戰教程

一、課程概要

本課程主要分享XSS跨站腳本攻擊實戰教程!

二、內容概要

  1. XSS漏洞原理
  2. 反射型挖掘
  3. 存儲型挖掘

三、漏洞簡介

在實踐漏洞之前,筆者準備先簡單介紹一下XSS漏洞,不過XSS的相關概念介紹並不是本文的重點,因此不會過多細講;XSS的漏洞類型主要分為三類:反射型、存儲型、DOM型

3.1 漏洞成因

XSS的漏洞主要成因是後端接收參數時未經過濾,導致參數改變了HTML的結構,如下圖所示

Kali Linux實戰篇:XSS跨站腳本攻擊實戰教程

在圖中可以看到攻擊者的參數被原樣放到了HTML代碼當中,導致原本的結構被改變,當這份代碼被瀏覽器執行之後,將執行alert事件。

3.2 反射型

反射型XSS在筆者鬧鐘的定義是,如果URL地址當中的惡意參數會直接被輸出到頁面中,導致攻擊代碼被觸發,便稱之為反射型XSS,如下圖所示

Kali Linux實戰篇:XSS跨站腳本攻擊實戰教程

在圖中可以看到,此處原本是輸入一個名字,單實際傳遞了一個script標籤,此標籤也被原樣放到了HTML結構當中,結果script標籤代碼中的代碼被觸發

3.3 存儲型

存儲型XSS,顧名思義便是惡意參數被存儲起來了,通常存儲在後端服務器當中,所以存儲型XSS在URL地址當中不會包含惡意參數,對於受害者來說,很難發現已經被攻擊了,如下圖存儲型XSS被觸發

Kali Linux實戰篇:XSS跨站腳本攻擊實戰教程

在圖中筆者並沒有在URL地址當中看到script代碼,但是攻擊代碼依然被觸發,說明攻擊代碼來自於服務器,而這個攻擊代碼確實是由攻擊者傳遞到服務器當中去的。

一般情況下,當攻擊者將攻擊代碼通過表單傳遞到服務器當中去,會得到一個新頁面的地址,這個地址中URL並沒有明顯異常,比如如下URL地址

http://permeate.songboy.net/article/1

但當存在存儲型XSS時,受害者打開此URL,攻擊代碼將會被觸發,這種情況下筆者便稱之為存儲型XSS漏洞。


AD:歡迎在以下專欄,學習完整Kali Linux滲透測試實戰課程!


3.4 DOM型

DOM型XSS較為特殊,筆者前面反射型XSS和存儲型XSS都是以傳播方式來區分的,而DOM型XSS和傳參方式無關,而是當開發者做了一些安全防護之後,任出現安全問題的一種現象,如下圖所示

Kali Linux實戰篇:XSS跨站腳本攻擊實戰教程

在圖片中,可以看到參數name已經使用函數轉義了,按理說此時將參數傳遞到前端頁面是不會產生XSS漏洞的;但當JavaScript代碼將參數進行DOM節點操作之後,原本被轉義的代碼又會被還原,因此還是會被觸發,如下圖所示

Kali Linux實戰篇:XSS跨站腳本攻擊實戰教程

在圖中看到XSS代碼已經被觸發,這種DOM型XSS相對來說更加隱蔽,所以防禦XSS漏洞的不能僅僅依靠後端開發者,前端開發者也應當瞭解XSS漏洞。

四、反射型挖掘

經過上一節的原理介紹,筆者相信大家對XSS已經有一些瞭解,現在筆者需要進行手工XSS漏洞挖掘,在手工挖掘之前筆者需要先逛逛網站有哪些功能點,如下圖是permeate的界面

Kali Linux實戰篇:XSS跨站腳本攻擊實戰教程

4.1 思路分析

在知道反射型XSS,是通過URL地址傳播的,那麼筆者就需要思考那些地方會讓URL地址的參數在頁面中顯示;相信讀者都用過一些網站的站內搜索,在站內搜索的位置往往會將搜索的關鍵詞展示在頁面當中,如下圖所示

"

聲明:本頭條號【Kali技術】所有分享,僅限學習交流!請勿他用!

Kali Linux實戰篇:XSS跨站腳本攻擊實戰教程

一、課程概要

本課程主要分享XSS跨站腳本攻擊實戰教程!

二、內容概要

  1. XSS漏洞原理
  2. 反射型挖掘
  3. 存儲型挖掘

三、漏洞簡介

在實踐漏洞之前,筆者準備先簡單介紹一下XSS漏洞,不過XSS的相關概念介紹並不是本文的重點,因此不會過多細講;XSS的漏洞類型主要分為三類:反射型、存儲型、DOM型

3.1 漏洞成因

XSS的漏洞主要成因是後端接收參數時未經過濾,導致參數改變了HTML的結構,如下圖所示

Kali Linux實戰篇:XSS跨站腳本攻擊實戰教程

在圖中可以看到攻擊者的參數被原樣放到了HTML代碼當中,導致原本的結構被改變,當這份代碼被瀏覽器執行之後,將執行alert事件。

3.2 反射型

反射型XSS在筆者鬧鐘的定義是,如果URL地址當中的惡意參數會直接被輸出到頁面中,導致攻擊代碼被觸發,便稱之為反射型XSS,如下圖所示

Kali Linux實戰篇:XSS跨站腳本攻擊實戰教程

在圖中可以看到,此處原本是輸入一個名字,單實際傳遞了一個script標籤,此標籤也被原樣放到了HTML結構當中,結果script標籤代碼中的代碼被觸發

3.3 存儲型

存儲型XSS,顧名思義便是惡意參數被存儲起來了,通常存儲在後端服務器當中,所以存儲型XSS在URL地址當中不會包含惡意參數,對於受害者來說,很難發現已經被攻擊了,如下圖存儲型XSS被觸發

Kali Linux實戰篇:XSS跨站腳本攻擊實戰教程

在圖中筆者並沒有在URL地址當中看到script代碼,但是攻擊代碼依然被觸發,說明攻擊代碼來自於服務器,而這個攻擊代碼確實是由攻擊者傳遞到服務器當中去的。

一般情況下,當攻擊者將攻擊代碼通過表單傳遞到服務器當中去,會得到一個新頁面的地址,這個地址中URL並沒有明顯異常,比如如下URL地址

http://permeate.songboy.net/article/1

但當存在存儲型XSS時,受害者打開此URL,攻擊代碼將會被觸發,這種情況下筆者便稱之為存儲型XSS漏洞。


AD:歡迎在以下專欄,學習完整Kali Linux滲透測試實戰課程!


3.4 DOM型

DOM型XSS較為特殊,筆者前面反射型XSS和存儲型XSS都是以傳播方式來區分的,而DOM型XSS和傳參方式無關,而是當開發者做了一些安全防護之後,任出現安全問題的一種現象,如下圖所示

Kali Linux實戰篇:XSS跨站腳本攻擊實戰教程

在圖片中,可以看到參數name已經使用函數轉義了,按理說此時將參數傳遞到前端頁面是不會產生XSS漏洞的;但當JavaScript代碼將參數進行DOM節點操作之後,原本被轉義的代碼又會被還原,因此還是會被觸發,如下圖所示

Kali Linux實戰篇:XSS跨站腳本攻擊實戰教程

在圖中看到XSS代碼已經被觸發,這種DOM型XSS相對來說更加隱蔽,所以防禦XSS漏洞的不能僅僅依靠後端開發者,前端開發者也應當瞭解XSS漏洞。

四、反射型挖掘

經過上一節的原理介紹,筆者相信大家對XSS已經有一些瞭解,現在筆者需要進行手工XSS漏洞挖掘,在手工挖掘之前筆者需要先逛逛網站有哪些功能點,如下圖是permeate的界面

Kali Linux實戰篇:XSS跨站腳本攻擊實戰教程

4.1 思路分析

在知道反射型XSS,是通過URL地址傳播的,那麼筆者就需要思考那些地方會讓URL地址的參數在頁面中顯示;相信讀者都用過一些網站的站內搜索,在站內搜索的位置往往會將搜索的關鍵詞展示在頁面當中,如下圖所示

Kali Linux實戰篇:XSS跨站腳本攻擊實戰教程

而在首頁筆者也看見此網站有搜索功能,因此可以從搜索位置著手,可以在搜索位置輸入一個簡單的payload,參考如下

<script>alert(123)</script>

當點擊搜索後,會自動跳轉到以下URL當中,此時瀏覽器的URL地址已經發生了變化,URL地址如下:

http://permeate.songboy.net/home/search.php?keywords=<script>alert(123)</script>

搜索的表單是使用了GET傳參,滿足了測試反射型的第一步要求

4.2 漏洞檢驗

接下來就需要看看筆者的payload有沒有被觸發,結果很意外,不但沒有被觸發還被瀏覽器所阻止了,如下圖

"

聲明:本頭條號【Kali技術】所有分享,僅限學習交流!請勿他用!

Kali Linux實戰篇:XSS跨站腳本攻擊實戰教程

一、課程概要

本課程主要分享XSS跨站腳本攻擊實戰教程!

二、內容概要

  1. XSS漏洞原理
  2. 反射型挖掘
  3. 存儲型挖掘

三、漏洞簡介

在實踐漏洞之前,筆者準備先簡單介紹一下XSS漏洞,不過XSS的相關概念介紹並不是本文的重點,因此不會過多細講;XSS的漏洞類型主要分為三類:反射型、存儲型、DOM型

3.1 漏洞成因

XSS的漏洞主要成因是後端接收參數時未經過濾,導致參數改變了HTML的結構,如下圖所示

Kali Linux實戰篇:XSS跨站腳本攻擊實戰教程

在圖中可以看到攻擊者的參數被原樣放到了HTML代碼當中,導致原本的結構被改變,當這份代碼被瀏覽器執行之後,將執行alert事件。

3.2 反射型

反射型XSS在筆者鬧鐘的定義是,如果URL地址當中的惡意參數會直接被輸出到頁面中,導致攻擊代碼被觸發,便稱之為反射型XSS,如下圖所示

Kali Linux實戰篇:XSS跨站腳本攻擊實戰教程

在圖中可以看到,此處原本是輸入一個名字,單實際傳遞了一個script標籤,此標籤也被原樣放到了HTML結構當中,結果script標籤代碼中的代碼被觸發

3.3 存儲型

存儲型XSS,顧名思義便是惡意參數被存儲起來了,通常存儲在後端服務器當中,所以存儲型XSS在URL地址當中不會包含惡意參數,對於受害者來說,很難發現已經被攻擊了,如下圖存儲型XSS被觸發

Kali Linux實戰篇:XSS跨站腳本攻擊實戰教程

在圖中筆者並沒有在URL地址當中看到script代碼,但是攻擊代碼依然被觸發,說明攻擊代碼來自於服務器,而這個攻擊代碼確實是由攻擊者傳遞到服務器當中去的。

一般情況下,當攻擊者將攻擊代碼通過表單傳遞到服務器當中去,會得到一個新頁面的地址,這個地址中URL並沒有明顯異常,比如如下URL地址

http://permeate.songboy.net/article/1

但當存在存儲型XSS時,受害者打開此URL,攻擊代碼將會被觸發,這種情況下筆者便稱之為存儲型XSS漏洞。


AD:歡迎在以下專欄,學習完整Kali Linux滲透測試實戰課程!


3.4 DOM型

DOM型XSS較為特殊,筆者前面反射型XSS和存儲型XSS都是以傳播方式來區分的,而DOM型XSS和傳參方式無關,而是當開發者做了一些安全防護之後,任出現安全問題的一種現象,如下圖所示

Kali Linux實戰篇:XSS跨站腳本攻擊實戰教程

在圖片中,可以看到參數name已經使用函數轉義了,按理說此時將參數傳遞到前端頁面是不會產生XSS漏洞的;但當JavaScript代碼將參數進行DOM節點操作之後,原本被轉義的代碼又會被還原,因此還是會被觸發,如下圖所示

Kali Linux實戰篇:XSS跨站腳本攻擊實戰教程

在圖中看到XSS代碼已經被觸發,這種DOM型XSS相對來說更加隱蔽,所以防禦XSS漏洞的不能僅僅依靠後端開發者,前端開發者也應當瞭解XSS漏洞。

四、反射型挖掘

經過上一節的原理介紹,筆者相信大家對XSS已經有一些瞭解,現在筆者需要進行手工XSS漏洞挖掘,在手工挖掘之前筆者需要先逛逛網站有哪些功能點,如下圖是permeate的界面

Kali Linux實戰篇:XSS跨站腳本攻擊實戰教程

4.1 思路分析

在知道反射型XSS,是通過URL地址傳播的,那麼筆者就需要思考那些地方會讓URL地址的參數在頁面中顯示;相信讀者都用過一些網站的站內搜索,在站內搜索的位置往往會將搜索的關鍵詞展示在頁面當中,如下圖所示

Kali Linux實戰篇:XSS跨站腳本攻擊實戰教程

而在首頁筆者也看見此網站有搜索功能,因此可以從搜索位置著手,可以在搜索位置輸入一個簡單的payload,參考如下

<script>alert(123)</script>

當點擊搜索後,會自動跳轉到以下URL當中,此時瀏覽器的URL地址已經發生了變化,URL地址如下:

http://permeate.songboy.net/home/search.php?keywords=<script>alert(123)</script>

搜索的表單是使用了GET傳參,滿足了測試反射型的第一步要求

4.2 漏洞檢驗

接下來就需要看看筆者的payload有沒有被觸發,結果很意外,不但沒有被觸發還被瀏覽器所阻止了,如下圖

Kali Linux實戰篇:XSS跨站腳本攻擊實戰教程

這裡就需要跟讀者說明一下,谷歌內核瀏覽器自帶XSS篩選器,所以對於反射型XSS測試,儘量不使用谷歌瀏覽器,筆者建議使用火狐瀏覽器進行測試;

4.3 結果分析

現在筆者將上面的URL地址複製下來,並粘貼到火狐瀏覽器當中,並按下回車,看到效果如下圖

"

聲明:本頭條號【Kali技術】所有分享,僅限學習交流!請勿他用!

Kali Linux實戰篇:XSS跨站腳本攻擊實戰教程

一、課程概要

本課程主要分享XSS跨站腳本攻擊實戰教程!

二、內容概要

  1. XSS漏洞原理
  2. 反射型挖掘
  3. 存儲型挖掘

三、漏洞簡介

在實踐漏洞之前,筆者準備先簡單介紹一下XSS漏洞,不過XSS的相關概念介紹並不是本文的重點,因此不會過多細講;XSS的漏洞類型主要分為三類:反射型、存儲型、DOM型

3.1 漏洞成因

XSS的漏洞主要成因是後端接收參數時未經過濾,導致參數改變了HTML的結構,如下圖所示

Kali Linux實戰篇:XSS跨站腳本攻擊實戰教程

在圖中可以看到攻擊者的參數被原樣放到了HTML代碼當中,導致原本的結構被改變,當這份代碼被瀏覽器執行之後,將執行alert事件。

3.2 反射型

反射型XSS在筆者鬧鐘的定義是,如果URL地址當中的惡意參數會直接被輸出到頁面中,導致攻擊代碼被觸發,便稱之為反射型XSS,如下圖所示

Kali Linux實戰篇:XSS跨站腳本攻擊實戰教程

在圖中可以看到,此處原本是輸入一個名字,單實際傳遞了一個script標籤,此標籤也被原樣放到了HTML結構當中,結果script標籤代碼中的代碼被觸發

3.3 存儲型

存儲型XSS,顧名思義便是惡意參數被存儲起來了,通常存儲在後端服務器當中,所以存儲型XSS在URL地址當中不會包含惡意參數,對於受害者來說,很難發現已經被攻擊了,如下圖存儲型XSS被觸發

Kali Linux實戰篇:XSS跨站腳本攻擊實戰教程

在圖中筆者並沒有在URL地址當中看到script代碼,但是攻擊代碼依然被觸發,說明攻擊代碼來自於服務器,而這個攻擊代碼確實是由攻擊者傳遞到服務器當中去的。

一般情況下,當攻擊者將攻擊代碼通過表單傳遞到服務器當中去,會得到一個新頁面的地址,這個地址中URL並沒有明顯異常,比如如下URL地址

http://permeate.songboy.net/article/1

但當存在存儲型XSS時,受害者打開此URL,攻擊代碼將會被觸發,這種情況下筆者便稱之為存儲型XSS漏洞。


AD:歡迎在以下專欄,學習完整Kali Linux滲透測試實戰課程!


3.4 DOM型

DOM型XSS較為特殊,筆者前面反射型XSS和存儲型XSS都是以傳播方式來區分的,而DOM型XSS和傳參方式無關,而是當開發者做了一些安全防護之後,任出現安全問題的一種現象,如下圖所示

Kali Linux實戰篇:XSS跨站腳本攻擊實戰教程

在圖片中,可以看到參數name已經使用函數轉義了,按理說此時將參數傳遞到前端頁面是不會產生XSS漏洞的;但當JavaScript代碼將參數進行DOM節點操作之後,原本被轉義的代碼又會被還原,因此還是會被觸發,如下圖所示

Kali Linux實戰篇:XSS跨站腳本攻擊實戰教程

在圖中看到XSS代碼已經被觸發,這種DOM型XSS相對來說更加隱蔽,所以防禦XSS漏洞的不能僅僅依靠後端開發者,前端開發者也應當瞭解XSS漏洞。

四、反射型挖掘

經過上一節的原理介紹,筆者相信大家對XSS已經有一些瞭解,現在筆者需要進行手工XSS漏洞挖掘,在手工挖掘之前筆者需要先逛逛網站有哪些功能點,如下圖是permeate的界面

Kali Linux實戰篇:XSS跨站腳本攻擊實戰教程

4.1 思路分析

在知道反射型XSS,是通過URL地址傳播的,那麼筆者就需要思考那些地方會讓URL地址的參數在頁面中顯示;相信讀者都用過一些網站的站內搜索,在站內搜索的位置往往會將搜索的關鍵詞展示在頁面當中,如下圖所示

Kali Linux實戰篇:XSS跨站腳本攻擊實戰教程

而在首頁筆者也看見此網站有搜索功能,因此可以從搜索位置著手,可以在搜索位置輸入一個簡單的payload,參考如下

<script>alert(123)</script>

當點擊搜索後,會自動跳轉到以下URL當中,此時瀏覽器的URL地址已經發生了變化,URL地址如下:

http://permeate.songboy.net/home/search.php?keywords=<script>alert(123)</script>

搜索的表單是使用了GET傳參,滿足了測試反射型的第一步要求

4.2 漏洞檢驗

接下來就需要看看筆者的payload有沒有被觸發,結果很意外,不但沒有被觸發還被瀏覽器所阻止了,如下圖

Kali Linux實戰篇:XSS跨站腳本攻擊實戰教程

這裡就需要跟讀者說明一下,谷歌內核瀏覽器自帶XSS篩選器,所以對於反射型XSS測試,儘量不使用谷歌瀏覽器,筆者建議使用火狐瀏覽器進行測試;

4.3 結果分析

現在筆者將上面的URL地址複製下來,並粘貼到火狐瀏覽器當中,並按下回車,看到效果如下圖

Kali Linux實戰篇:XSS跨站腳本攻擊實戰教程

此時payload已經被觸發,說明找到了一個反射型XSS的漏洞,這種漏洞相對來說非常初級,隨著瀏覽器的XSS篩選器變得更加智能,這種漏洞也越來越少,在下面的內容當中筆者將會提到存儲型XSS挖掘與繞過。

五、存儲型挖掘

現在筆者來尋找存儲型XSS,存儲型的攻擊代碼是存儲在服務端,因此需要找出一些會將表單內容存儲到服務端的位置,筆者在之前已經對permeate做了一番瞭解,因此知道permeate擁有發帖和回帖功能,這些功能正是需要將參數存儲起來並展示的地方。

5.1 發現漏洞

在首頁點擊XSS板塊,進入到了板塊列表當中,如下圖

"

聲明:本頭條號【Kali技術】所有分享,僅限學習交流!請勿他用!

Kali Linux實戰篇:XSS跨站腳本攻擊實戰教程

一、課程概要

本課程主要分享XSS跨站腳本攻擊實戰教程!

二、內容概要

  1. XSS漏洞原理
  2. 反射型挖掘
  3. 存儲型挖掘

三、漏洞簡介

在實踐漏洞之前,筆者準備先簡單介紹一下XSS漏洞,不過XSS的相關概念介紹並不是本文的重點,因此不會過多細講;XSS的漏洞類型主要分為三類:反射型、存儲型、DOM型

3.1 漏洞成因

XSS的漏洞主要成因是後端接收參數時未經過濾,導致參數改變了HTML的結構,如下圖所示

Kali Linux實戰篇:XSS跨站腳本攻擊實戰教程

在圖中可以看到攻擊者的參數被原樣放到了HTML代碼當中,導致原本的結構被改變,當這份代碼被瀏覽器執行之後,將執行alert事件。

3.2 反射型

反射型XSS在筆者鬧鐘的定義是,如果URL地址當中的惡意參數會直接被輸出到頁面中,導致攻擊代碼被觸發,便稱之為反射型XSS,如下圖所示

Kali Linux實戰篇:XSS跨站腳本攻擊實戰教程

在圖中可以看到,此處原本是輸入一個名字,單實際傳遞了一個script標籤,此標籤也被原樣放到了HTML結構當中,結果script標籤代碼中的代碼被觸發

3.3 存儲型

存儲型XSS,顧名思義便是惡意參數被存儲起來了,通常存儲在後端服務器當中,所以存儲型XSS在URL地址當中不會包含惡意參數,對於受害者來說,很難發現已經被攻擊了,如下圖存儲型XSS被觸發

Kali Linux實戰篇:XSS跨站腳本攻擊實戰教程

在圖中筆者並沒有在URL地址當中看到script代碼,但是攻擊代碼依然被觸發,說明攻擊代碼來自於服務器,而這個攻擊代碼確實是由攻擊者傳遞到服務器當中去的。

一般情況下,當攻擊者將攻擊代碼通過表單傳遞到服務器當中去,會得到一個新頁面的地址,這個地址中URL並沒有明顯異常,比如如下URL地址

http://permeate.songboy.net/article/1

但當存在存儲型XSS時,受害者打開此URL,攻擊代碼將會被觸發,這種情況下筆者便稱之為存儲型XSS漏洞。


AD:歡迎在以下專欄,學習完整Kali Linux滲透測試實戰課程!


3.4 DOM型

DOM型XSS較為特殊,筆者前面反射型XSS和存儲型XSS都是以傳播方式來區分的,而DOM型XSS和傳參方式無關,而是當開發者做了一些安全防護之後,任出現安全問題的一種現象,如下圖所示

Kali Linux實戰篇:XSS跨站腳本攻擊實戰教程

在圖片中,可以看到參數name已經使用函數轉義了,按理說此時將參數傳遞到前端頁面是不會產生XSS漏洞的;但當JavaScript代碼將參數進行DOM節點操作之後,原本被轉義的代碼又會被還原,因此還是會被觸發,如下圖所示

Kali Linux實戰篇:XSS跨站腳本攻擊實戰教程

在圖中看到XSS代碼已經被觸發,這種DOM型XSS相對來說更加隱蔽,所以防禦XSS漏洞的不能僅僅依靠後端開發者,前端開發者也應當瞭解XSS漏洞。

四、反射型挖掘

經過上一節的原理介紹,筆者相信大家對XSS已經有一些瞭解,現在筆者需要進行手工XSS漏洞挖掘,在手工挖掘之前筆者需要先逛逛網站有哪些功能點,如下圖是permeate的界面

Kali Linux實戰篇:XSS跨站腳本攻擊實戰教程

4.1 思路分析

在知道反射型XSS,是通過URL地址傳播的,那麼筆者就需要思考那些地方會讓URL地址的參數在頁面中顯示;相信讀者都用過一些網站的站內搜索,在站內搜索的位置往往會將搜索的關鍵詞展示在頁面當中,如下圖所示

Kali Linux實戰篇:XSS跨站腳本攻擊實戰教程

而在首頁筆者也看見此網站有搜索功能,因此可以從搜索位置著手,可以在搜索位置輸入一個簡單的payload,參考如下

<script>alert(123)</script>

當點擊搜索後,會自動跳轉到以下URL當中,此時瀏覽器的URL地址已經發生了變化,URL地址如下:

http://permeate.songboy.net/home/search.php?keywords=<script>alert(123)</script>

搜索的表單是使用了GET傳參,滿足了測試反射型的第一步要求

4.2 漏洞檢驗

接下來就需要看看筆者的payload有沒有被觸發,結果很意外,不但沒有被觸發還被瀏覽器所阻止了,如下圖

Kali Linux實戰篇:XSS跨站腳本攻擊實戰教程

這裡就需要跟讀者說明一下,谷歌內核瀏覽器自帶XSS篩選器,所以對於反射型XSS測試,儘量不使用谷歌瀏覽器,筆者建議使用火狐瀏覽器進行測試;

4.3 結果分析

現在筆者將上面的URL地址複製下來,並粘貼到火狐瀏覽器當中,並按下回車,看到效果如下圖

Kali Linux實戰篇:XSS跨站腳本攻擊實戰教程

此時payload已經被觸發,說明找到了一個反射型XSS的漏洞,這種漏洞相對來說非常初級,隨著瀏覽器的XSS篩選器變得更加智能,這種漏洞也越來越少,在下面的內容當中筆者將會提到存儲型XSS挖掘與繞過。

五、存儲型挖掘

現在筆者來尋找存儲型XSS,存儲型的攻擊代碼是存儲在服務端,因此需要找出一些會將表單內容存儲到服務端的位置,筆者在之前已經對permeate做了一番瞭解,因此知道permeate擁有發帖和回帖功能,這些功能正是需要將參數存儲起來並展示的地方。

5.1 發現漏洞

在首頁點擊XSS板塊,進入到了板塊列表當中,如下圖

Kali Linux實戰篇:XSS跨站腳本攻擊實戰教程

在右下角能看到有一個發帖按鈕,點擊發帖按鈕後,即可進入發帖界面,如下圖

"

聲明:本頭條號【Kali技術】所有分享,僅限學習交流!請勿他用!

Kali Linux實戰篇:XSS跨站腳本攻擊實戰教程

一、課程概要

本課程主要分享XSS跨站腳本攻擊實戰教程!

二、內容概要

  1. XSS漏洞原理
  2. 反射型挖掘
  3. 存儲型挖掘

三、漏洞簡介

在實踐漏洞之前,筆者準備先簡單介紹一下XSS漏洞,不過XSS的相關概念介紹並不是本文的重點,因此不會過多細講;XSS的漏洞類型主要分為三類:反射型、存儲型、DOM型

3.1 漏洞成因

XSS的漏洞主要成因是後端接收參數時未經過濾,導致參數改變了HTML的結構,如下圖所示

Kali Linux實戰篇:XSS跨站腳本攻擊實戰教程

在圖中可以看到攻擊者的參數被原樣放到了HTML代碼當中,導致原本的結構被改變,當這份代碼被瀏覽器執行之後,將執行alert事件。

3.2 反射型

反射型XSS在筆者鬧鐘的定義是,如果URL地址當中的惡意參數會直接被輸出到頁面中,導致攻擊代碼被觸發,便稱之為反射型XSS,如下圖所示

Kali Linux實戰篇:XSS跨站腳本攻擊實戰教程

在圖中可以看到,此處原本是輸入一個名字,單實際傳遞了一個script標籤,此標籤也被原樣放到了HTML結構當中,結果script標籤代碼中的代碼被觸發

3.3 存儲型

存儲型XSS,顧名思義便是惡意參數被存儲起來了,通常存儲在後端服務器當中,所以存儲型XSS在URL地址當中不會包含惡意參數,對於受害者來說,很難發現已經被攻擊了,如下圖存儲型XSS被觸發

Kali Linux實戰篇:XSS跨站腳本攻擊實戰教程

在圖中筆者並沒有在URL地址當中看到script代碼,但是攻擊代碼依然被觸發,說明攻擊代碼來自於服務器,而這個攻擊代碼確實是由攻擊者傳遞到服務器當中去的。

一般情況下,當攻擊者將攻擊代碼通過表單傳遞到服務器當中去,會得到一個新頁面的地址,這個地址中URL並沒有明顯異常,比如如下URL地址

http://permeate.songboy.net/article/1

但當存在存儲型XSS時,受害者打開此URL,攻擊代碼將會被觸發,這種情況下筆者便稱之為存儲型XSS漏洞。


AD:歡迎在以下專欄,學習完整Kali Linux滲透測試實戰課程!


3.4 DOM型

DOM型XSS較為特殊,筆者前面反射型XSS和存儲型XSS都是以傳播方式來區分的,而DOM型XSS和傳參方式無關,而是當開發者做了一些安全防護之後,任出現安全問題的一種現象,如下圖所示

Kali Linux實戰篇:XSS跨站腳本攻擊實戰教程

在圖片中,可以看到參數name已經使用函數轉義了,按理說此時將參數傳遞到前端頁面是不會產生XSS漏洞的;但當JavaScript代碼將參數進行DOM節點操作之後,原本被轉義的代碼又會被還原,因此還是會被觸發,如下圖所示

Kali Linux實戰篇:XSS跨站腳本攻擊實戰教程

在圖中看到XSS代碼已經被觸發,這種DOM型XSS相對來說更加隱蔽,所以防禦XSS漏洞的不能僅僅依靠後端開發者,前端開發者也應當瞭解XSS漏洞。

四、反射型挖掘

經過上一節的原理介紹,筆者相信大家對XSS已經有一些瞭解,現在筆者需要進行手工XSS漏洞挖掘,在手工挖掘之前筆者需要先逛逛網站有哪些功能點,如下圖是permeate的界面

Kali Linux實戰篇:XSS跨站腳本攻擊實戰教程

4.1 思路分析

在知道反射型XSS,是通過URL地址傳播的,那麼筆者就需要思考那些地方會讓URL地址的參數在頁面中顯示;相信讀者都用過一些網站的站內搜索,在站內搜索的位置往往會將搜索的關鍵詞展示在頁面當中,如下圖所示

Kali Linux實戰篇:XSS跨站腳本攻擊實戰教程

而在首頁筆者也看見此網站有搜索功能,因此可以從搜索位置著手,可以在搜索位置輸入一個簡單的payload,參考如下

<script>alert(123)</script>

當點擊搜索後,會自動跳轉到以下URL當中,此時瀏覽器的URL地址已經發生了變化,URL地址如下:

http://permeate.songboy.net/home/search.php?keywords=<script>alert(123)</script>

搜索的表單是使用了GET傳參,滿足了測試反射型的第一步要求

4.2 漏洞檢驗

接下來就需要看看筆者的payload有沒有被觸發,結果很意外,不但沒有被觸發還被瀏覽器所阻止了,如下圖

Kali Linux實戰篇:XSS跨站腳本攻擊實戰教程

這裡就需要跟讀者說明一下,谷歌內核瀏覽器自帶XSS篩選器,所以對於反射型XSS測試,儘量不使用谷歌瀏覽器,筆者建議使用火狐瀏覽器進行測試;

4.3 結果分析

現在筆者將上面的URL地址複製下來,並粘貼到火狐瀏覽器當中,並按下回車,看到效果如下圖

Kali Linux實戰篇:XSS跨站腳本攻擊實戰教程

此時payload已經被觸發,說明找到了一個反射型XSS的漏洞,這種漏洞相對來說非常初級,隨著瀏覽器的XSS篩選器變得更加智能,這種漏洞也越來越少,在下面的內容當中筆者將會提到存儲型XSS挖掘與繞過。

五、存儲型挖掘

現在筆者來尋找存儲型XSS,存儲型的攻擊代碼是存儲在服務端,因此需要找出一些會將表單內容存儲到服務端的位置,筆者在之前已經對permeate做了一番瞭解,因此知道permeate擁有發帖和回帖功能,這些功能正是需要將參數存儲起來並展示的地方。

5.1 發現漏洞

在首頁點擊XSS板塊,進入到了板塊列表當中,如下圖

Kali Linux實戰篇:XSS跨站腳本攻擊實戰教程

在右下角能看到有一個發帖按鈕,點擊發帖按鈕後,即可進入發帖界面,如下圖

Kali Linux實戰篇:XSS跨站腳本攻擊實戰教程

在permeate滲透測試系統當中,筆者如果要發表帖子,那麼就需要有賬號,筆者這裡隨便註冊一個賬號,註冊過程筆者就不詳細講解了

5.2 檢驗漏洞

在註冊賬號完成並登陸之後,筆者再次打開發帖頁面,並在標題處和內容處都填寫payload,參考內容如下:

<script>alert(123)</script>

在標題處和帖子內容中分別填寫payload,填寫好之後,應和與下圖一致

"

聲明:本頭條號【Kali技術】所有分享,僅限學習交流!請勿他用!

Kali Linux實戰篇:XSS跨站腳本攻擊實戰教程

一、課程概要

本課程主要分享XSS跨站腳本攻擊實戰教程!

二、內容概要

  1. XSS漏洞原理
  2. 反射型挖掘
  3. 存儲型挖掘

三、漏洞簡介

在實踐漏洞之前,筆者準備先簡單介紹一下XSS漏洞,不過XSS的相關概念介紹並不是本文的重點,因此不會過多細講;XSS的漏洞類型主要分為三類:反射型、存儲型、DOM型

3.1 漏洞成因

XSS的漏洞主要成因是後端接收參數時未經過濾,導致參數改變了HTML的結構,如下圖所示

Kali Linux實戰篇:XSS跨站腳本攻擊實戰教程

在圖中可以看到攻擊者的參數被原樣放到了HTML代碼當中,導致原本的結構被改變,當這份代碼被瀏覽器執行之後,將執行alert事件。

3.2 反射型

反射型XSS在筆者鬧鐘的定義是,如果URL地址當中的惡意參數會直接被輸出到頁面中,導致攻擊代碼被觸發,便稱之為反射型XSS,如下圖所示

Kali Linux實戰篇:XSS跨站腳本攻擊實戰教程

在圖中可以看到,此處原本是輸入一個名字,單實際傳遞了一個script標籤,此標籤也被原樣放到了HTML結構當中,結果script標籤代碼中的代碼被觸發

3.3 存儲型

存儲型XSS,顧名思義便是惡意參數被存儲起來了,通常存儲在後端服務器當中,所以存儲型XSS在URL地址當中不會包含惡意參數,對於受害者來說,很難發現已經被攻擊了,如下圖存儲型XSS被觸發

Kali Linux實戰篇:XSS跨站腳本攻擊實戰教程

在圖中筆者並沒有在URL地址當中看到script代碼,但是攻擊代碼依然被觸發,說明攻擊代碼來自於服務器,而這個攻擊代碼確實是由攻擊者傳遞到服務器當中去的。

一般情況下,當攻擊者將攻擊代碼通過表單傳遞到服務器當中去,會得到一個新頁面的地址,這個地址中URL並沒有明顯異常,比如如下URL地址

http://permeate.songboy.net/article/1

但當存在存儲型XSS時,受害者打開此URL,攻擊代碼將會被觸發,這種情況下筆者便稱之為存儲型XSS漏洞。


AD:歡迎在以下專欄,學習完整Kali Linux滲透測試實戰課程!


3.4 DOM型

DOM型XSS較為特殊,筆者前面反射型XSS和存儲型XSS都是以傳播方式來區分的,而DOM型XSS和傳參方式無關,而是當開發者做了一些安全防護之後,任出現安全問題的一種現象,如下圖所示

Kali Linux實戰篇:XSS跨站腳本攻擊實戰教程

在圖片中,可以看到參數name已經使用函數轉義了,按理說此時將參數傳遞到前端頁面是不會產生XSS漏洞的;但當JavaScript代碼將參數進行DOM節點操作之後,原本被轉義的代碼又會被還原,因此還是會被觸發,如下圖所示

Kali Linux實戰篇:XSS跨站腳本攻擊實戰教程

在圖中看到XSS代碼已經被觸發,這種DOM型XSS相對來說更加隱蔽,所以防禦XSS漏洞的不能僅僅依靠後端開發者,前端開發者也應當瞭解XSS漏洞。

四、反射型挖掘

經過上一節的原理介紹,筆者相信大家對XSS已經有一些瞭解,現在筆者需要進行手工XSS漏洞挖掘,在手工挖掘之前筆者需要先逛逛網站有哪些功能點,如下圖是permeate的界面

Kali Linux實戰篇:XSS跨站腳本攻擊實戰教程

4.1 思路分析

在知道反射型XSS,是通過URL地址傳播的,那麼筆者就需要思考那些地方會讓URL地址的參數在頁面中顯示;相信讀者都用過一些網站的站內搜索,在站內搜索的位置往往會將搜索的關鍵詞展示在頁面當中,如下圖所示

Kali Linux實戰篇:XSS跨站腳本攻擊實戰教程

而在首頁筆者也看見此網站有搜索功能,因此可以從搜索位置著手,可以在搜索位置輸入一個簡單的payload,參考如下

<script>alert(123)</script>

當點擊搜索後,會自動跳轉到以下URL當中,此時瀏覽器的URL地址已經發生了變化,URL地址如下:

http://permeate.songboy.net/home/search.php?keywords=<script>alert(123)</script>

搜索的表單是使用了GET傳參,滿足了測試反射型的第一步要求

4.2 漏洞檢驗

接下來就需要看看筆者的payload有沒有被觸發,結果很意外,不但沒有被觸發還被瀏覽器所阻止了,如下圖

Kali Linux實戰篇:XSS跨站腳本攻擊實戰教程

這裡就需要跟讀者說明一下,谷歌內核瀏覽器自帶XSS篩選器,所以對於反射型XSS測試,儘量不使用谷歌瀏覽器,筆者建議使用火狐瀏覽器進行測試;

4.3 結果分析

現在筆者將上面的URL地址複製下來,並粘貼到火狐瀏覽器當中,並按下回車,看到效果如下圖

Kali Linux實戰篇:XSS跨站腳本攻擊實戰教程

此時payload已經被觸發,說明找到了一個反射型XSS的漏洞,這種漏洞相對來說非常初級,隨著瀏覽器的XSS篩選器變得更加智能,這種漏洞也越來越少,在下面的內容當中筆者將會提到存儲型XSS挖掘與繞過。

五、存儲型挖掘

現在筆者來尋找存儲型XSS,存儲型的攻擊代碼是存儲在服務端,因此需要找出一些會將表單內容存儲到服務端的位置,筆者在之前已經對permeate做了一番瞭解,因此知道permeate擁有發帖和回帖功能,這些功能正是需要將參數存儲起來並展示的地方。

5.1 發現漏洞

在首頁點擊XSS板塊,進入到了板塊列表當中,如下圖

Kali Linux實戰篇:XSS跨站腳本攻擊實戰教程

在右下角能看到有一個發帖按鈕,點擊發帖按鈕後,即可進入發帖界面,如下圖

Kali Linux實戰篇:XSS跨站腳本攻擊實戰教程

在permeate滲透測試系統當中,筆者如果要發表帖子,那麼就需要有賬號,筆者這裡隨便註冊一個賬號,註冊過程筆者就不詳細講解了

5.2 檢驗漏洞

在註冊賬號完成並登陸之後,筆者再次打開發帖頁面,並在標題處和內容處都填寫payload,參考內容如下:

<script>alert(123)</script>

在標題處和帖子內容中分別填寫payload,填寫好之後,應和與下圖一致

Kali Linux實戰篇:XSS跨站腳本攻擊實戰教程

填寫好內容之後,筆者點擊下方的發表按鈕,即可進行發帖,發帖成功會彈出一個提示成功,如下圖所示

"

聲明:本頭條號【Kali技術】所有分享,僅限學習交流!請勿他用!

Kali Linux實戰篇:XSS跨站腳本攻擊實戰教程

一、課程概要

本課程主要分享XSS跨站腳本攻擊實戰教程!

二、內容概要

  1. XSS漏洞原理
  2. 反射型挖掘
  3. 存儲型挖掘

三、漏洞簡介

在實踐漏洞之前,筆者準備先簡單介紹一下XSS漏洞,不過XSS的相關概念介紹並不是本文的重點,因此不會過多細講;XSS的漏洞類型主要分為三類:反射型、存儲型、DOM型

3.1 漏洞成因

XSS的漏洞主要成因是後端接收參數時未經過濾,導致參數改變了HTML的結構,如下圖所示

Kali Linux實戰篇:XSS跨站腳本攻擊實戰教程

在圖中可以看到攻擊者的參數被原樣放到了HTML代碼當中,導致原本的結構被改變,當這份代碼被瀏覽器執行之後,將執行alert事件。

3.2 反射型

反射型XSS在筆者鬧鐘的定義是,如果URL地址當中的惡意參數會直接被輸出到頁面中,導致攻擊代碼被觸發,便稱之為反射型XSS,如下圖所示

Kali Linux實戰篇:XSS跨站腳本攻擊實戰教程

在圖中可以看到,此處原本是輸入一個名字,單實際傳遞了一個script標籤,此標籤也被原樣放到了HTML結構當中,結果script標籤代碼中的代碼被觸發

3.3 存儲型

存儲型XSS,顧名思義便是惡意參數被存儲起來了,通常存儲在後端服務器當中,所以存儲型XSS在URL地址當中不會包含惡意參數,對於受害者來說,很難發現已經被攻擊了,如下圖存儲型XSS被觸發

Kali Linux實戰篇:XSS跨站腳本攻擊實戰教程

在圖中筆者並沒有在URL地址當中看到script代碼,但是攻擊代碼依然被觸發,說明攻擊代碼來自於服務器,而這個攻擊代碼確實是由攻擊者傳遞到服務器當中去的。

一般情況下,當攻擊者將攻擊代碼通過表單傳遞到服務器當中去,會得到一個新頁面的地址,這個地址中URL並沒有明顯異常,比如如下URL地址

http://permeate.songboy.net/article/1

但當存在存儲型XSS時,受害者打開此URL,攻擊代碼將會被觸發,這種情況下筆者便稱之為存儲型XSS漏洞。


AD:歡迎在以下專欄,學習完整Kali Linux滲透測試實戰課程!


3.4 DOM型

DOM型XSS較為特殊,筆者前面反射型XSS和存儲型XSS都是以傳播方式來區分的,而DOM型XSS和傳參方式無關,而是當開發者做了一些安全防護之後,任出現安全問題的一種現象,如下圖所示

Kali Linux實戰篇:XSS跨站腳本攻擊實戰教程

在圖片中,可以看到參數name已經使用函數轉義了,按理說此時將參數傳遞到前端頁面是不會產生XSS漏洞的;但當JavaScript代碼將參數進行DOM節點操作之後,原本被轉義的代碼又會被還原,因此還是會被觸發,如下圖所示

Kali Linux實戰篇:XSS跨站腳本攻擊實戰教程

在圖中看到XSS代碼已經被觸發,這種DOM型XSS相對來說更加隱蔽,所以防禦XSS漏洞的不能僅僅依靠後端開發者,前端開發者也應當瞭解XSS漏洞。

四、反射型挖掘

經過上一節的原理介紹,筆者相信大家對XSS已經有一些瞭解,現在筆者需要進行手工XSS漏洞挖掘,在手工挖掘之前筆者需要先逛逛網站有哪些功能點,如下圖是permeate的界面

Kali Linux實戰篇:XSS跨站腳本攻擊實戰教程

4.1 思路分析

在知道反射型XSS,是通過URL地址傳播的,那麼筆者就需要思考那些地方會讓URL地址的參數在頁面中顯示;相信讀者都用過一些網站的站內搜索,在站內搜索的位置往往會將搜索的關鍵詞展示在頁面當中,如下圖所示

Kali Linux實戰篇:XSS跨站腳本攻擊實戰教程

而在首頁筆者也看見此網站有搜索功能,因此可以從搜索位置著手,可以在搜索位置輸入一個簡單的payload,參考如下

<script>alert(123)</script>

當點擊搜索後,會自動跳轉到以下URL當中,此時瀏覽器的URL地址已經發生了變化,URL地址如下:

http://permeate.songboy.net/home/search.php?keywords=<script>alert(123)</script>

搜索的表單是使用了GET傳參,滿足了測試反射型的第一步要求

4.2 漏洞檢驗

接下來就需要看看筆者的payload有沒有被觸發,結果很意外,不但沒有被觸發還被瀏覽器所阻止了,如下圖

Kali Linux實戰篇:XSS跨站腳本攻擊實戰教程

這裡就需要跟讀者說明一下,谷歌內核瀏覽器自帶XSS篩選器,所以對於反射型XSS測試,儘量不使用谷歌瀏覽器,筆者建議使用火狐瀏覽器進行測試;

4.3 結果分析

現在筆者將上面的URL地址複製下來,並粘貼到火狐瀏覽器當中,並按下回車,看到效果如下圖

Kali Linux實戰篇:XSS跨站腳本攻擊實戰教程

此時payload已經被觸發,說明找到了一個反射型XSS的漏洞,這種漏洞相對來說非常初級,隨著瀏覽器的XSS篩選器變得更加智能,這種漏洞也越來越少,在下面的內容當中筆者將會提到存儲型XSS挖掘與繞過。

五、存儲型挖掘

現在筆者來尋找存儲型XSS,存儲型的攻擊代碼是存儲在服務端,因此需要找出一些會將表單內容存儲到服務端的位置,筆者在之前已經對permeate做了一番瞭解,因此知道permeate擁有發帖和回帖功能,這些功能正是需要將參數存儲起來並展示的地方。

5.1 發現漏洞

在首頁點擊XSS板塊,進入到了板塊列表當中,如下圖

Kali Linux實戰篇:XSS跨站腳本攻擊實戰教程

在右下角能看到有一個發帖按鈕,點擊發帖按鈕後,即可進入發帖界面,如下圖

Kali Linux實戰篇:XSS跨站腳本攻擊實戰教程

在permeate滲透測試系統當中,筆者如果要發表帖子,那麼就需要有賬號,筆者這裡隨便註冊一個賬號,註冊過程筆者就不詳細講解了

5.2 檢驗漏洞

在註冊賬號完成並登陸之後,筆者再次打開發帖頁面,並在標題處和內容處都填寫payload,參考內容如下:

<script>alert(123)</script>

在標題處和帖子內容中分別填寫payload,填寫好之後,應和與下圖一致

Kali Linux實戰篇:XSS跨站腳本攻擊實戰教程

填寫好內容之後,筆者點擊下方的發表按鈕,即可進行發帖,發帖成功會彈出一個提示成功,如下圖所示

Kali Linux實戰篇:XSS跨站腳本攻擊實戰教程

點擊確定之後,會跳轉到發帖列表,並彈出一個123的提示框,如下圖所示

"

聲明:本頭條號【Kali技術】所有分享,僅限學習交流!請勿他用!

Kali Linux實戰篇:XSS跨站腳本攻擊實戰教程

一、課程概要

本課程主要分享XSS跨站腳本攻擊實戰教程!

二、內容概要

  1. XSS漏洞原理
  2. 反射型挖掘
  3. 存儲型挖掘

三、漏洞簡介

在實踐漏洞之前,筆者準備先簡單介紹一下XSS漏洞,不過XSS的相關概念介紹並不是本文的重點,因此不會過多細講;XSS的漏洞類型主要分為三類:反射型、存儲型、DOM型

3.1 漏洞成因

XSS的漏洞主要成因是後端接收參數時未經過濾,導致參數改變了HTML的結構,如下圖所示

Kali Linux實戰篇:XSS跨站腳本攻擊實戰教程

在圖中可以看到攻擊者的參數被原樣放到了HTML代碼當中,導致原本的結構被改變,當這份代碼被瀏覽器執行之後,將執行alert事件。

3.2 反射型

反射型XSS在筆者鬧鐘的定義是,如果URL地址當中的惡意參數會直接被輸出到頁面中,導致攻擊代碼被觸發,便稱之為反射型XSS,如下圖所示

Kali Linux實戰篇:XSS跨站腳本攻擊實戰教程

在圖中可以看到,此處原本是輸入一個名字,單實際傳遞了一個script標籤,此標籤也被原樣放到了HTML結構當中,結果script標籤代碼中的代碼被觸發

3.3 存儲型

存儲型XSS,顧名思義便是惡意參數被存儲起來了,通常存儲在後端服務器當中,所以存儲型XSS在URL地址當中不會包含惡意參數,對於受害者來說,很難發現已經被攻擊了,如下圖存儲型XSS被觸發

Kali Linux實戰篇:XSS跨站腳本攻擊實戰教程

在圖中筆者並沒有在URL地址當中看到script代碼,但是攻擊代碼依然被觸發,說明攻擊代碼來自於服務器,而這個攻擊代碼確實是由攻擊者傳遞到服務器當中去的。

一般情況下,當攻擊者將攻擊代碼通過表單傳遞到服務器當中去,會得到一個新頁面的地址,這個地址中URL並沒有明顯異常,比如如下URL地址

http://permeate.songboy.net/article/1

但當存在存儲型XSS時,受害者打開此URL,攻擊代碼將會被觸發,這種情況下筆者便稱之為存儲型XSS漏洞。


AD:歡迎在以下專欄,學習完整Kali Linux滲透測試實戰課程!


3.4 DOM型

DOM型XSS較為特殊,筆者前面反射型XSS和存儲型XSS都是以傳播方式來區分的,而DOM型XSS和傳參方式無關,而是當開發者做了一些安全防護之後,任出現安全問題的一種現象,如下圖所示

Kali Linux實戰篇:XSS跨站腳本攻擊實戰教程

在圖片中,可以看到參數name已經使用函數轉義了,按理說此時將參數傳遞到前端頁面是不會產生XSS漏洞的;但當JavaScript代碼將參數進行DOM節點操作之後,原本被轉義的代碼又會被還原,因此還是會被觸發,如下圖所示

Kali Linux實戰篇:XSS跨站腳本攻擊實戰教程

在圖中看到XSS代碼已經被觸發,這種DOM型XSS相對來說更加隱蔽,所以防禦XSS漏洞的不能僅僅依靠後端開發者,前端開發者也應當瞭解XSS漏洞。

四、反射型挖掘

經過上一節的原理介紹,筆者相信大家對XSS已經有一些瞭解,現在筆者需要進行手工XSS漏洞挖掘,在手工挖掘之前筆者需要先逛逛網站有哪些功能點,如下圖是permeate的界面

Kali Linux實戰篇:XSS跨站腳本攻擊實戰教程

4.1 思路分析

在知道反射型XSS,是通過URL地址傳播的,那麼筆者就需要思考那些地方會讓URL地址的參數在頁面中顯示;相信讀者都用過一些網站的站內搜索,在站內搜索的位置往往會將搜索的關鍵詞展示在頁面當中,如下圖所示

Kali Linux實戰篇:XSS跨站腳本攻擊實戰教程

而在首頁筆者也看見此網站有搜索功能,因此可以從搜索位置著手,可以在搜索位置輸入一個簡單的payload,參考如下

<script>alert(123)</script>

當點擊搜索後,會自動跳轉到以下URL當中,此時瀏覽器的URL地址已經發生了變化,URL地址如下:

http://permeate.songboy.net/home/search.php?keywords=<script>alert(123)</script>

搜索的表單是使用了GET傳參,滿足了測試反射型的第一步要求

4.2 漏洞檢驗

接下來就需要看看筆者的payload有沒有被觸發,結果很意外,不但沒有被觸發還被瀏覽器所阻止了,如下圖

Kali Linux實戰篇:XSS跨站腳本攻擊實戰教程

這裡就需要跟讀者說明一下,谷歌內核瀏覽器自帶XSS篩選器,所以對於反射型XSS測試,儘量不使用谷歌瀏覽器,筆者建議使用火狐瀏覽器進行測試;

4.3 結果分析

現在筆者將上面的URL地址複製下來,並粘貼到火狐瀏覽器當中,並按下回車,看到效果如下圖

Kali Linux實戰篇:XSS跨站腳本攻擊實戰教程

此時payload已經被觸發,說明找到了一個反射型XSS的漏洞,這種漏洞相對來說非常初級,隨著瀏覽器的XSS篩選器變得更加智能,這種漏洞也越來越少,在下面的內容當中筆者將會提到存儲型XSS挖掘與繞過。

五、存儲型挖掘

現在筆者來尋找存儲型XSS,存儲型的攻擊代碼是存儲在服務端,因此需要找出一些會將表單內容存儲到服務端的位置,筆者在之前已經對permeate做了一番瞭解,因此知道permeate擁有發帖和回帖功能,這些功能正是需要將參數存儲起來並展示的地方。

5.1 發現漏洞

在首頁點擊XSS板塊,進入到了板塊列表當中,如下圖

Kali Linux實戰篇:XSS跨站腳本攻擊實戰教程

在右下角能看到有一個發帖按鈕,點擊發帖按鈕後,即可進入發帖界面,如下圖

Kali Linux實戰篇:XSS跨站腳本攻擊實戰教程

在permeate滲透測試系統當中,筆者如果要發表帖子,那麼就需要有賬號,筆者這裡隨便註冊一個賬號,註冊過程筆者就不詳細講解了

5.2 檢驗漏洞

在註冊賬號完成並登陸之後,筆者再次打開發帖頁面,並在標題處和內容處都填寫payload,參考內容如下:

<script>alert(123)</script>

在標題處和帖子內容中分別填寫payload,填寫好之後,應和與下圖一致

Kali Linux實戰篇:XSS跨站腳本攻擊實戰教程

填寫好內容之後,筆者點擊下方的發表按鈕,即可進行發帖,發帖成功會彈出一個提示成功,如下圖所示

Kali Linux實戰篇:XSS跨站腳本攻擊實戰教程

點擊確定之後,會跳轉到發帖列表,並彈出一個123的提示框,如下圖所示

Kali Linux實戰篇:XSS跨站腳本攻擊實戰教程

如果看到這個彈框,說明筆者的payload已經被執行,點擊確定就可以看到列表的內容,如下圖所示

"

聲明:本頭條號【Kali技術】所有分享,僅限學習交流!請勿他用!

Kali Linux實戰篇:XSS跨站腳本攻擊實戰教程

一、課程概要

本課程主要分享XSS跨站腳本攻擊實戰教程!

二、內容概要

  1. XSS漏洞原理
  2. 反射型挖掘
  3. 存儲型挖掘

三、漏洞簡介

在實踐漏洞之前,筆者準備先簡單介紹一下XSS漏洞,不過XSS的相關概念介紹並不是本文的重點,因此不會過多細講;XSS的漏洞類型主要分為三類:反射型、存儲型、DOM型

3.1 漏洞成因

XSS的漏洞主要成因是後端接收參數時未經過濾,導致參數改變了HTML的結構,如下圖所示

Kali Linux實戰篇:XSS跨站腳本攻擊實戰教程

在圖中可以看到攻擊者的參數被原樣放到了HTML代碼當中,導致原本的結構被改變,當這份代碼被瀏覽器執行之後,將執行alert事件。

3.2 反射型

反射型XSS在筆者鬧鐘的定義是,如果URL地址當中的惡意參數會直接被輸出到頁面中,導致攻擊代碼被觸發,便稱之為反射型XSS,如下圖所示

Kali Linux實戰篇:XSS跨站腳本攻擊實戰教程

在圖中可以看到,此處原本是輸入一個名字,單實際傳遞了一個script標籤,此標籤也被原樣放到了HTML結構當中,結果script標籤代碼中的代碼被觸發

3.3 存儲型

存儲型XSS,顧名思義便是惡意參數被存儲起來了,通常存儲在後端服務器當中,所以存儲型XSS在URL地址當中不會包含惡意參數,對於受害者來說,很難發現已經被攻擊了,如下圖存儲型XSS被觸發

Kali Linux實戰篇:XSS跨站腳本攻擊實戰教程

在圖中筆者並沒有在URL地址當中看到script代碼,但是攻擊代碼依然被觸發,說明攻擊代碼來自於服務器,而這個攻擊代碼確實是由攻擊者傳遞到服務器當中去的。

一般情況下,當攻擊者將攻擊代碼通過表單傳遞到服務器當中去,會得到一個新頁面的地址,這個地址中URL並沒有明顯異常,比如如下URL地址

http://permeate.songboy.net/article/1

但當存在存儲型XSS時,受害者打開此URL,攻擊代碼將會被觸發,這種情況下筆者便稱之為存儲型XSS漏洞。


AD:歡迎在以下專欄,學習完整Kali Linux滲透測試實戰課程!


3.4 DOM型

DOM型XSS較為特殊,筆者前面反射型XSS和存儲型XSS都是以傳播方式來區分的,而DOM型XSS和傳參方式無關,而是當開發者做了一些安全防護之後,任出現安全問題的一種現象,如下圖所示

Kali Linux實戰篇:XSS跨站腳本攻擊實戰教程

在圖片中,可以看到參數name已經使用函數轉義了,按理說此時將參數傳遞到前端頁面是不會產生XSS漏洞的;但當JavaScript代碼將參數進行DOM節點操作之後,原本被轉義的代碼又會被還原,因此還是會被觸發,如下圖所示

Kali Linux實戰篇:XSS跨站腳本攻擊實戰教程

在圖中看到XSS代碼已經被觸發,這種DOM型XSS相對來說更加隱蔽,所以防禦XSS漏洞的不能僅僅依靠後端開發者,前端開發者也應當瞭解XSS漏洞。

四、反射型挖掘

經過上一節的原理介紹,筆者相信大家對XSS已經有一些瞭解,現在筆者需要進行手工XSS漏洞挖掘,在手工挖掘之前筆者需要先逛逛網站有哪些功能點,如下圖是permeate的界面

Kali Linux實戰篇:XSS跨站腳本攻擊實戰教程

4.1 思路分析

在知道反射型XSS,是通過URL地址傳播的,那麼筆者就需要思考那些地方會讓URL地址的參數在頁面中顯示;相信讀者都用過一些網站的站內搜索,在站內搜索的位置往往會將搜索的關鍵詞展示在頁面當中,如下圖所示

Kali Linux實戰篇:XSS跨站腳本攻擊實戰教程

而在首頁筆者也看見此網站有搜索功能,因此可以從搜索位置著手,可以在搜索位置輸入一個簡單的payload,參考如下

<script>alert(123)</script>

當點擊搜索後,會自動跳轉到以下URL當中,此時瀏覽器的URL地址已經發生了變化,URL地址如下:

http://permeate.songboy.net/home/search.php?keywords=<script>alert(123)</script>

搜索的表單是使用了GET傳參,滿足了測試反射型的第一步要求

4.2 漏洞檢驗

接下來就需要看看筆者的payload有沒有被觸發,結果很意外,不但沒有被觸發還被瀏覽器所阻止了,如下圖

Kali Linux實戰篇:XSS跨站腳本攻擊實戰教程

這裡就需要跟讀者說明一下,谷歌內核瀏覽器自帶XSS篩選器,所以對於反射型XSS測試,儘量不使用谷歌瀏覽器,筆者建議使用火狐瀏覽器進行測試;

4.3 結果分析

現在筆者將上面的URL地址複製下來,並粘貼到火狐瀏覽器當中,並按下回車,看到效果如下圖

Kali Linux實戰篇:XSS跨站腳本攻擊實戰教程

此時payload已經被觸發,說明找到了一個反射型XSS的漏洞,這種漏洞相對來說非常初級,隨著瀏覽器的XSS篩選器變得更加智能,這種漏洞也越來越少,在下面的內容當中筆者將會提到存儲型XSS挖掘與繞過。

五、存儲型挖掘

現在筆者來尋找存儲型XSS,存儲型的攻擊代碼是存儲在服務端,因此需要找出一些會將表單內容存儲到服務端的位置,筆者在之前已經對permeate做了一番瞭解,因此知道permeate擁有發帖和回帖功能,這些功能正是需要將參數存儲起來並展示的地方。

5.1 發現漏洞

在首頁點擊XSS板塊,進入到了板塊列表當中,如下圖

Kali Linux實戰篇:XSS跨站腳本攻擊實戰教程

在右下角能看到有一個發帖按鈕,點擊發帖按鈕後,即可進入發帖界面,如下圖

Kali Linux實戰篇:XSS跨站腳本攻擊實戰教程

在permeate滲透測試系統當中,筆者如果要發表帖子,那麼就需要有賬號,筆者這裡隨便註冊一個賬號,註冊過程筆者就不詳細講解了

5.2 檢驗漏洞

在註冊賬號完成並登陸之後,筆者再次打開發帖頁面,並在標題處和內容處都填寫payload,參考內容如下:

<script>alert(123)</script>

在標題處和帖子內容中分別填寫payload,填寫好之後,應和與下圖一致

Kali Linux實戰篇:XSS跨站腳本攻擊實戰教程

填寫好內容之後,筆者點擊下方的發表按鈕,即可進行發帖,發帖成功會彈出一個提示成功,如下圖所示

Kali Linux實戰篇:XSS跨站腳本攻擊實戰教程

點擊確定之後,會跳轉到發帖列表,並彈出一個123的提示框,如下圖所示

Kali Linux實戰篇:XSS跨站腳本攻擊實戰教程

如果看到這個彈框,說明筆者的payload已經被執行,點擊確定就可以看到列表的內容,如下圖所示

Kali Linux實戰篇:XSS跨站腳本攻擊實戰教程

在列表中只顯示標題,所以帖子內容中的payload並沒有被執行;

5.3 抓包繞過

現在點擊標題,進入帖子詳情頁面,在詳情頁筆者發現payload也只觸發了一次,而且內容當中的標籤被直接顯示了出來,如下圖

"

聲明:本頭條號【Kali技術】所有分享,僅限學習交流!請勿他用!

Kali Linux實戰篇:XSS跨站腳本攻擊實戰教程

一、課程概要

本課程主要分享XSS跨站腳本攻擊實戰教程!

二、內容概要

  1. XSS漏洞原理
  2. 反射型挖掘
  3. 存儲型挖掘

三、漏洞簡介

在實踐漏洞之前,筆者準備先簡單介紹一下XSS漏洞,不過XSS的相關概念介紹並不是本文的重點,因此不會過多細講;XSS的漏洞類型主要分為三類:反射型、存儲型、DOM型

3.1 漏洞成因

XSS的漏洞主要成因是後端接收參數時未經過濾,導致參數改變了HTML的結構,如下圖所示

Kali Linux實戰篇:XSS跨站腳本攻擊實戰教程

在圖中可以看到攻擊者的參數被原樣放到了HTML代碼當中,導致原本的結構被改變,當這份代碼被瀏覽器執行之後,將執行alert事件。

3.2 反射型

反射型XSS在筆者鬧鐘的定義是,如果URL地址當中的惡意參數會直接被輸出到頁面中,導致攻擊代碼被觸發,便稱之為反射型XSS,如下圖所示

Kali Linux實戰篇:XSS跨站腳本攻擊實戰教程

在圖中可以看到,此處原本是輸入一個名字,單實際傳遞了一個script標籤,此標籤也被原樣放到了HTML結構當中,結果script標籤代碼中的代碼被觸發

3.3 存儲型

存儲型XSS,顧名思義便是惡意參數被存儲起來了,通常存儲在後端服務器當中,所以存儲型XSS在URL地址當中不會包含惡意參數,對於受害者來說,很難發現已經被攻擊了,如下圖存儲型XSS被觸發

Kali Linux實戰篇:XSS跨站腳本攻擊實戰教程

在圖中筆者並沒有在URL地址當中看到script代碼,但是攻擊代碼依然被觸發,說明攻擊代碼來自於服務器,而這個攻擊代碼確實是由攻擊者傳遞到服務器當中去的。

一般情況下,當攻擊者將攻擊代碼通過表單傳遞到服務器當中去,會得到一個新頁面的地址,這個地址中URL並沒有明顯異常,比如如下URL地址

http://permeate.songboy.net/article/1

但當存在存儲型XSS時,受害者打開此URL,攻擊代碼將會被觸發,這種情況下筆者便稱之為存儲型XSS漏洞。


AD:歡迎在以下專欄,學習完整Kali Linux滲透測試實戰課程!


3.4 DOM型

DOM型XSS較為特殊,筆者前面反射型XSS和存儲型XSS都是以傳播方式來區分的,而DOM型XSS和傳參方式無關,而是當開發者做了一些安全防護之後,任出現安全問題的一種現象,如下圖所示

Kali Linux實戰篇:XSS跨站腳本攻擊實戰教程

在圖片中,可以看到參數name已經使用函數轉義了,按理說此時將參數傳遞到前端頁面是不會產生XSS漏洞的;但當JavaScript代碼將參數進行DOM節點操作之後,原本被轉義的代碼又會被還原,因此還是會被觸發,如下圖所示

Kali Linux實戰篇:XSS跨站腳本攻擊實戰教程

在圖中看到XSS代碼已經被觸發,這種DOM型XSS相對來說更加隱蔽,所以防禦XSS漏洞的不能僅僅依靠後端開發者,前端開發者也應當瞭解XSS漏洞。

四、反射型挖掘

經過上一節的原理介紹,筆者相信大家對XSS已經有一些瞭解,現在筆者需要進行手工XSS漏洞挖掘,在手工挖掘之前筆者需要先逛逛網站有哪些功能點,如下圖是permeate的界面

Kali Linux實戰篇:XSS跨站腳本攻擊實戰教程

4.1 思路分析

在知道反射型XSS,是通過URL地址傳播的,那麼筆者就需要思考那些地方會讓URL地址的參數在頁面中顯示;相信讀者都用過一些網站的站內搜索,在站內搜索的位置往往會將搜索的關鍵詞展示在頁面當中,如下圖所示

Kali Linux實戰篇:XSS跨站腳本攻擊實戰教程

而在首頁筆者也看見此網站有搜索功能,因此可以從搜索位置著手,可以在搜索位置輸入一個簡單的payload,參考如下

<script>alert(123)</script>

當點擊搜索後,會自動跳轉到以下URL當中,此時瀏覽器的URL地址已經發生了變化,URL地址如下:

http://permeate.songboy.net/home/search.php?keywords=<script>alert(123)</script>

搜索的表單是使用了GET傳參,滿足了測試反射型的第一步要求

4.2 漏洞檢驗

接下來就需要看看筆者的payload有沒有被觸發,結果很意外,不但沒有被觸發還被瀏覽器所阻止了,如下圖

Kali Linux實戰篇:XSS跨站腳本攻擊實戰教程

這裡就需要跟讀者說明一下,谷歌內核瀏覽器自帶XSS篩選器,所以對於反射型XSS測試,儘量不使用谷歌瀏覽器,筆者建議使用火狐瀏覽器進行測試;

4.3 結果分析

現在筆者將上面的URL地址複製下來,並粘貼到火狐瀏覽器當中,並按下回車,看到效果如下圖

Kali Linux實戰篇:XSS跨站腳本攻擊實戰教程

此時payload已經被觸發,說明找到了一個反射型XSS的漏洞,這種漏洞相對來說非常初級,隨著瀏覽器的XSS篩選器變得更加智能,這種漏洞也越來越少,在下面的內容當中筆者將會提到存儲型XSS挖掘與繞過。

五、存儲型挖掘

現在筆者來尋找存儲型XSS,存儲型的攻擊代碼是存儲在服務端,因此需要找出一些會將表單內容存儲到服務端的位置,筆者在之前已經對permeate做了一番瞭解,因此知道permeate擁有發帖和回帖功能,這些功能正是需要將參數存儲起來並展示的地方。

5.1 發現漏洞

在首頁點擊XSS板塊,進入到了板塊列表當中,如下圖

Kali Linux實戰篇:XSS跨站腳本攻擊實戰教程

在右下角能看到有一個發帖按鈕,點擊發帖按鈕後,即可進入發帖界面,如下圖

Kali Linux實戰篇:XSS跨站腳本攻擊實戰教程

在permeate滲透測試系統當中,筆者如果要發表帖子,那麼就需要有賬號,筆者這裡隨便註冊一個賬號,註冊過程筆者就不詳細講解了

5.2 檢驗漏洞

在註冊賬號完成並登陸之後,筆者再次打開發帖頁面,並在標題處和內容處都填寫payload,參考內容如下:

<script>alert(123)</script>

在標題處和帖子內容中分別填寫payload,填寫好之後,應和與下圖一致

Kali Linux實戰篇:XSS跨站腳本攻擊實戰教程

填寫好內容之後,筆者點擊下方的發表按鈕,即可進行發帖,發帖成功會彈出一個提示成功,如下圖所示

Kali Linux實戰篇:XSS跨站腳本攻擊實戰教程

點擊確定之後,會跳轉到發帖列表,並彈出一個123的提示框,如下圖所示

Kali Linux實戰篇:XSS跨站腳本攻擊實戰教程

如果看到這個彈框,說明筆者的payload已經被執行,點擊確定就可以看到列表的內容,如下圖所示

Kali Linux實戰篇:XSS跨站腳本攻擊實戰教程

在列表中只顯示標題,所以帖子內容中的payload並沒有被執行;

5.3 抓包繞過

現在點擊標題,進入帖子詳情頁面,在詳情頁筆者發現payload也只觸發了一次,而且內容當中的標籤被直接顯示了出來,如下圖

Kali Linux實戰篇:XSS跨站腳本攻擊實戰教程

當標籤被直接顯示出來,這說明筆者的參數被轉義了;轉義分為兩種,前端轉義和後端轉義,如果是後端轉義通常筆者會放棄測試,如果是前端轉義則可以繞過這個限制;在這裡筆者發現標題沒有被轉義,而內容被轉,猜測可能是前端做的轉義,因此可以通過瀏覽器的審查工具將數據包拷貝下來;

首先重新打開發帖頁面,然後在網頁隨便一個位置單擊鼠標右鍵->選擇審查元素->切換到network標籤並勾選Preserve log,打開網絡並勾選Preserve log的目的是讓發表帖子之後,能在網絡請求中找到該記錄,現在筆者可以填寫新的payload,如下圖

"

聲明:本頭條號【Kali技術】所有分享,僅限學習交流!請勿他用!

Kali Linux實戰篇:XSS跨站腳本攻擊實戰教程

一、課程概要

本課程主要分享XSS跨站腳本攻擊實戰教程!

二、內容概要

  1. XSS漏洞原理
  2. 反射型挖掘
  3. 存儲型挖掘

三、漏洞簡介

在實踐漏洞之前,筆者準備先簡單介紹一下XSS漏洞,不過XSS的相關概念介紹並不是本文的重點,因此不會過多細講;XSS的漏洞類型主要分為三類:反射型、存儲型、DOM型

3.1 漏洞成因

XSS的漏洞主要成因是後端接收參數時未經過濾,導致參數改變了HTML的結構,如下圖所示

Kali Linux實戰篇:XSS跨站腳本攻擊實戰教程

在圖中可以看到攻擊者的參數被原樣放到了HTML代碼當中,導致原本的結構被改變,當這份代碼被瀏覽器執行之後,將執行alert事件。

3.2 反射型

反射型XSS在筆者鬧鐘的定義是,如果URL地址當中的惡意參數會直接被輸出到頁面中,導致攻擊代碼被觸發,便稱之為反射型XSS,如下圖所示

Kali Linux實戰篇:XSS跨站腳本攻擊實戰教程

在圖中可以看到,此處原本是輸入一個名字,單實際傳遞了一個script標籤,此標籤也被原樣放到了HTML結構當中,結果script標籤代碼中的代碼被觸發

3.3 存儲型

存儲型XSS,顧名思義便是惡意參數被存儲起來了,通常存儲在後端服務器當中,所以存儲型XSS在URL地址當中不會包含惡意參數,對於受害者來說,很難發現已經被攻擊了,如下圖存儲型XSS被觸發

Kali Linux實戰篇:XSS跨站腳本攻擊實戰教程

在圖中筆者並沒有在URL地址當中看到script代碼,但是攻擊代碼依然被觸發,說明攻擊代碼來自於服務器,而這個攻擊代碼確實是由攻擊者傳遞到服務器當中去的。

一般情況下,當攻擊者將攻擊代碼通過表單傳遞到服務器當中去,會得到一個新頁面的地址,這個地址中URL並沒有明顯異常,比如如下URL地址

http://permeate.songboy.net/article/1

但當存在存儲型XSS時,受害者打開此URL,攻擊代碼將會被觸發,這種情況下筆者便稱之為存儲型XSS漏洞。


AD:歡迎在以下專欄,學習完整Kali Linux滲透測試實戰課程!


3.4 DOM型

DOM型XSS較為特殊,筆者前面反射型XSS和存儲型XSS都是以傳播方式來區分的,而DOM型XSS和傳參方式無關,而是當開發者做了一些安全防護之後,任出現安全問題的一種現象,如下圖所示

Kali Linux實戰篇:XSS跨站腳本攻擊實戰教程

在圖片中,可以看到參數name已經使用函數轉義了,按理說此時將參數傳遞到前端頁面是不會產生XSS漏洞的;但當JavaScript代碼將參數進行DOM節點操作之後,原本被轉義的代碼又會被還原,因此還是會被觸發,如下圖所示

Kali Linux實戰篇:XSS跨站腳本攻擊實戰教程

在圖中看到XSS代碼已經被觸發,這種DOM型XSS相對來說更加隱蔽,所以防禦XSS漏洞的不能僅僅依靠後端開發者,前端開發者也應當瞭解XSS漏洞。

四、反射型挖掘

經過上一節的原理介紹,筆者相信大家對XSS已經有一些瞭解,現在筆者需要進行手工XSS漏洞挖掘,在手工挖掘之前筆者需要先逛逛網站有哪些功能點,如下圖是permeate的界面

Kali Linux實戰篇:XSS跨站腳本攻擊實戰教程

4.1 思路分析

在知道反射型XSS,是通過URL地址傳播的,那麼筆者就需要思考那些地方會讓URL地址的參數在頁面中顯示;相信讀者都用過一些網站的站內搜索,在站內搜索的位置往往會將搜索的關鍵詞展示在頁面當中,如下圖所示

Kali Linux實戰篇:XSS跨站腳本攻擊實戰教程

而在首頁筆者也看見此網站有搜索功能,因此可以從搜索位置著手,可以在搜索位置輸入一個簡單的payload,參考如下

<script>alert(123)</script>

當點擊搜索後,會自動跳轉到以下URL當中,此時瀏覽器的URL地址已經發生了變化,URL地址如下:

http://permeate.songboy.net/home/search.php?keywords=<script>alert(123)</script>

搜索的表單是使用了GET傳參,滿足了測試反射型的第一步要求

4.2 漏洞檢驗

接下來就需要看看筆者的payload有沒有被觸發,結果很意外,不但沒有被觸發還被瀏覽器所阻止了,如下圖

Kali Linux實戰篇:XSS跨站腳本攻擊實戰教程

這裡就需要跟讀者說明一下,谷歌內核瀏覽器自帶XSS篩選器,所以對於反射型XSS測試,儘量不使用谷歌瀏覽器,筆者建議使用火狐瀏覽器進行測試;

4.3 結果分析

現在筆者將上面的URL地址複製下來,並粘貼到火狐瀏覽器當中,並按下回車,看到效果如下圖

Kali Linux實戰篇:XSS跨站腳本攻擊實戰教程

此時payload已經被觸發,說明找到了一個反射型XSS的漏洞,這種漏洞相對來說非常初級,隨著瀏覽器的XSS篩選器變得更加智能,這種漏洞也越來越少,在下面的內容當中筆者將會提到存儲型XSS挖掘與繞過。

五、存儲型挖掘

現在筆者來尋找存儲型XSS,存儲型的攻擊代碼是存儲在服務端,因此需要找出一些會將表單內容存儲到服務端的位置,筆者在之前已經對permeate做了一番瞭解,因此知道permeate擁有發帖和回帖功能,這些功能正是需要將參數存儲起來並展示的地方。

5.1 發現漏洞

在首頁點擊XSS板塊,進入到了板塊列表當中,如下圖

Kali Linux實戰篇:XSS跨站腳本攻擊實戰教程

在右下角能看到有一個發帖按鈕,點擊發帖按鈕後,即可進入發帖界面,如下圖

Kali Linux實戰篇:XSS跨站腳本攻擊實戰教程

在permeate滲透測試系統當中,筆者如果要發表帖子,那麼就需要有賬號,筆者這裡隨便註冊一個賬號,註冊過程筆者就不詳細講解了

5.2 檢驗漏洞

在註冊賬號完成並登陸之後,筆者再次打開發帖頁面,並在標題處和內容處都填寫payload,參考內容如下:

<script>alert(123)</script>

在標題處和帖子內容中分別填寫payload,填寫好之後,應和與下圖一致

Kali Linux實戰篇:XSS跨站腳本攻擊實戰教程

填寫好內容之後,筆者點擊下方的發表按鈕,即可進行發帖,發帖成功會彈出一個提示成功,如下圖所示

Kali Linux實戰篇:XSS跨站腳本攻擊實戰教程

點擊確定之後,會跳轉到發帖列表,並彈出一個123的提示框,如下圖所示

Kali Linux實戰篇:XSS跨站腳本攻擊實戰教程

如果看到這個彈框,說明筆者的payload已經被執行,點擊確定就可以看到列表的內容,如下圖所示

Kali Linux實戰篇:XSS跨站腳本攻擊實戰教程

在列表中只顯示標題,所以帖子內容中的payload並沒有被執行;

5.3 抓包繞過

現在點擊標題,進入帖子詳情頁面,在詳情頁筆者發現payload也只觸發了一次,而且內容當中的標籤被直接顯示了出來,如下圖

Kali Linux實戰篇:XSS跨站腳本攻擊實戰教程

當標籤被直接顯示出來,這說明筆者的參數被轉義了;轉義分為兩種,前端轉義和後端轉義,如果是後端轉義通常筆者會放棄測試,如果是前端轉義則可以繞過這個限制;在這裡筆者發現標題沒有被轉義,而內容被轉,猜測可能是前端做的轉義,因此可以通過瀏覽器的審查工具將數據包拷貝下來;

首先重新打開發帖頁面,然後在網頁隨便一個位置單擊鼠標右鍵->選擇審查元素->切換到network標籤並勾選Preserve log,打開網絡並勾選Preserve log的目的是讓發表帖子之後,能在網絡請求中找到該記錄,現在筆者可以填寫新的payload,如下圖

Kali Linux實戰篇:XSS跨站腳本攻擊實戰教程

點擊發表按鈕之後,筆者可以在控制檯中找到剛才的post請求,從請求中可以看出,這個數據發出去就已經被轉義了,如下圖

"

聲明:本頭條號【Kali技術】所有分享,僅限學習交流!請勿他用!

Kali Linux實戰篇:XSS跨站腳本攻擊實戰教程

一、課程概要

本課程主要分享XSS跨站腳本攻擊實戰教程!

二、內容概要

  1. XSS漏洞原理
  2. 反射型挖掘
  3. 存儲型挖掘

三、漏洞簡介

在實踐漏洞之前,筆者準備先簡單介紹一下XSS漏洞,不過XSS的相關概念介紹並不是本文的重點,因此不會過多細講;XSS的漏洞類型主要分為三類:反射型、存儲型、DOM型

3.1 漏洞成因

XSS的漏洞主要成因是後端接收參數時未經過濾,導致參數改變了HTML的結構,如下圖所示

Kali Linux實戰篇:XSS跨站腳本攻擊實戰教程

在圖中可以看到攻擊者的參數被原樣放到了HTML代碼當中,導致原本的結構被改變,當這份代碼被瀏覽器執行之後,將執行alert事件。

3.2 反射型

反射型XSS在筆者鬧鐘的定義是,如果URL地址當中的惡意參數會直接被輸出到頁面中,導致攻擊代碼被觸發,便稱之為反射型XSS,如下圖所示

Kali Linux實戰篇:XSS跨站腳本攻擊實戰教程

在圖中可以看到,此處原本是輸入一個名字,單實際傳遞了一個script標籤,此標籤也被原樣放到了HTML結構當中,結果script標籤代碼中的代碼被觸發

3.3 存儲型

存儲型XSS,顧名思義便是惡意參數被存儲起來了,通常存儲在後端服務器當中,所以存儲型XSS在URL地址當中不會包含惡意參數,對於受害者來說,很難發現已經被攻擊了,如下圖存儲型XSS被觸發

Kali Linux實戰篇:XSS跨站腳本攻擊實戰教程

在圖中筆者並沒有在URL地址當中看到script代碼,但是攻擊代碼依然被觸發,說明攻擊代碼來自於服務器,而這個攻擊代碼確實是由攻擊者傳遞到服務器當中去的。

一般情況下,當攻擊者將攻擊代碼通過表單傳遞到服務器當中去,會得到一個新頁面的地址,這個地址中URL並沒有明顯異常,比如如下URL地址

http://permeate.songboy.net/article/1

但當存在存儲型XSS時,受害者打開此URL,攻擊代碼將會被觸發,這種情況下筆者便稱之為存儲型XSS漏洞。


AD:歡迎在以下專欄,學習完整Kali Linux滲透測試實戰課程!


3.4 DOM型

DOM型XSS較為特殊,筆者前面反射型XSS和存儲型XSS都是以傳播方式來區分的,而DOM型XSS和傳參方式無關,而是當開發者做了一些安全防護之後,任出現安全問題的一種現象,如下圖所示

Kali Linux實戰篇:XSS跨站腳本攻擊實戰教程

在圖片中,可以看到參數name已經使用函數轉義了,按理說此時將參數傳遞到前端頁面是不會產生XSS漏洞的;但當JavaScript代碼將參數進行DOM節點操作之後,原本被轉義的代碼又會被還原,因此還是會被觸發,如下圖所示

Kali Linux實戰篇:XSS跨站腳本攻擊實戰教程

在圖中看到XSS代碼已經被觸發,這種DOM型XSS相對來說更加隱蔽,所以防禦XSS漏洞的不能僅僅依靠後端開發者,前端開發者也應當瞭解XSS漏洞。

四、反射型挖掘

經過上一節的原理介紹,筆者相信大家對XSS已經有一些瞭解,現在筆者需要進行手工XSS漏洞挖掘,在手工挖掘之前筆者需要先逛逛網站有哪些功能點,如下圖是permeate的界面

Kali Linux實戰篇:XSS跨站腳本攻擊實戰教程

4.1 思路分析

在知道反射型XSS,是通過URL地址傳播的,那麼筆者就需要思考那些地方會讓URL地址的參數在頁面中顯示;相信讀者都用過一些網站的站內搜索,在站內搜索的位置往往會將搜索的關鍵詞展示在頁面當中,如下圖所示

Kali Linux實戰篇:XSS跨站腳本攻擊實戰教程

而在首頁筆者也看見此網站有搜索功能,因此可以從搜索位置著手,可以在搜索位置輸入一個簡單的payload,參考如下

<script>alert(123)</script>

當點擊搜索後,會自動跳轉到以下URL當中,此時瀏覽器的URL地址已經發生了變化,URL地址如下:

http://permeate.songboy.net/home/search.php?keywords=<script>alert(123)</script>

搜索的表單是使用了GET傳參,滿足了測試反射型的第一步要求

4.2 漏洞檢驗

接下來就需要看看筆者的payload有沒有被觸發,結果很意外,不但沒有被觸發還被瀏覽器所阻止了,如下圖

Kali Linux實戰篇:XSS跨站腳本攻擊實戰教程

這裡就需要跟讀者說明一下,谷歌內核瀏覽器自帶XSS篩選器,所以對於反射型XSS測試,儘量不使用谷歌瀏覽器,筆者建議使用火狐瀏覽器進行測試;

4.3 結果分析

現在筆者將上面的URL地址複製下來,並粘貼到火狐瀏覽器當中,並按下回車,看到效果如下圖

Kali Linux實戰篇:XSS跨站腳本攻擊實戰教程

此時payload已經被觸發,說明找到了一個反射型XSS的漏洞,這種漏洞相對來說非常初級,隨著瀏覽器的XSS篩選器變得更加智能,這種漏洞也越來越少,在下面的內容當中筆者將會提到存儲型XSS挖掘與繞過。

五、存儲型挖掘

現在筆者來尋找存儲型XSS,存儲型的攻擊代碼是存儲在服務端,因此需要找出一些會將表單內容存儲到服務端的位置,筆者在之前已經對permeate做了一番瞭解,因此知道permeate擁有發帖和回帖功能,這些功能正是需要將參數存儲起來並展示的地方。

5.1 發現漏洞

在首頁點擊XSS板塊,進入到了板塊列表當中,如下圖

Kali Linux實戰篇:XSS跨站腳本攻擊實戰教程

在右下角能看到有一個發帖按鈕,點擊發帖按鈕後,即可進入發帖界面,如下圖

Kali Linux實戰篇:XSS跨站腳本攻擊實戰教程

在permeate滲透測試系統當中,筆者如果要發表帖子,那麼就需要有賬號,筆者這裡隨便註冊一個賬號,註冊過程筆者就不詳細講解了

5.2 檢驗漏洞

在註冊賬號完成並登陸之後,筆者再次打開發帖頁面,並在標題處和內容處都填寫payload,參考內容如下:

<script>alert(123)</script>

在標題處和帖子內容中分別填寫payload,填寫好之後,應和與下圖一致

Kali Linux實戰篇:XSS跨站腳本攻擊實戰教程

填寫好內容之後,筆者點擊下方的發表按鈕,即可進行發帖,發帖成功會彈出一個提示成功,如下圖所示

Kali Linux實戰篇:XSS跨站腳本攻擊實戰教程

點擊確定之後,會跳轉到發帖列表,並彈出一個123的提示框,如下圖所示

Kali Linux實戰篇:XSS跨站腳本攻擊實戰教程

如果看到這個彈框,說明筆者的payload已經被執行,點擊確定就可以看到列表的內容,如下圖所示

Kali Linux實戰篇:XSS跨站腳本攻擊實戰教程

在列表中只顯示標題,所以帖子內容中的payload並沒有被執行;

5.3 抓包繞過

現在點擊標題,進入帖子詳情頁面,在詳情頁筆者發現payload也只觸發了一次,而且內容當中的標籤被直接顯示了出來,如下圖

Kali Linux實戰篇:XSS跨站腳本攻擊實戰教程

當標籤被直接顯示出來,這說明筆者的參數被轉義了;轉義分為兩種,前端轉義和後端轉義,如果是後端轉義通常筆者會放棄測試,如果是前端轉義則可以繞過這個限制;在這裡筆者發現標題沒有被轉義,而內容被轉,猜測可能是前端做的轉義,因此可以通過瀏覽器的審查工具將數據包拷貝下來;

首先重新打開發帖頁面,然後在網頁隨便一個位置單擊鼠標右鍵->選擇審查元素->切換到network標籤並勾選Preserve log,打開網絡並勾選Preserve log的目的是讓發表帖子之後,能在網絡請求中找到該記錄,現在筆者可以填寫新的payload,如下圖

Kali Linux實戰篇:XSS跨站腳本攻擊實戰教程

點擊發表按鈕之後,筆者可以在控制檯中找到剛才的post請求,從請求中可以看出,這個數據發出去就已經被轉義了,如下圖

Kali Linux實戰篇:XSS跨站腳本攻擊實戰教程

5.4 編碼替換

當確定這個地方存在前端做了轉義處理,如果後端沒有做處理,筆者就可以繞過它,現在筆者將請求複製出來,然後改變裡面的數據,如下圖

"

聲明:本頭條號【Kali技術】所有分享,僅限學習交流!請勿他用!

Kali Linux實戰篇:XSS跨站腳本攻擊實戰教程

一、課程概要

本課程主要分享XSS跨站腳本攻擊實戰教程!

二、內容概要

  1. XSS漏洞原理
  2. 反射型挖掘
  3. 存儲型挖掘

三、漏洞簡介

在實踐漏洞之前,筆者準備先簡單介紹一下XSS漏洞,不過XSS的相關概念介紹並不是本文的重點,因此不會過多細講;XSS的漏洞類型主要分為三類:反射型、存儲型、DOM型

3.1 漏洞成因

XSS的漏洞主要成因是後端接收參數時未經過濾,導致參數改變了HTML的結構,如下圖所示

Kali Linux實戰篇:XSS跨站腳本攻擊實戰教程

在圖中可以看到攻擊者的參數被原樣放到了HTML代碼當中,導致原本的結構被改變,當這份代碼被瀏覽器執行之後,將執行alert事件。

3.2 反射型

反射型XSS在筆者鬧鐘的定義是,如果URL地址當中的惡意參數會直接被輸出到頁面中,導致攻擊代碼被觸發,便稱之為反射型XSS,如下圖所示

Kali Linux實戰篇:XSS跨站腳本攻擊實戰教程

在圖中可以看到,此處原本是輸入一個名字,單實際傳遞了一個script標籤,此標籤也被原樣放到了HTML結構當中,結果script標籤代碼中的代碼被觸發

3.3 存儲型

存儲型XSS,顧名思義便是惡意參數被存儲起來了,通常存儲在後端服務器當中,所以存儲型XSS在URL地址當中不會包含惡意參數,對於受害者來說,很難發現已經被攻擊了,如下圖存儲型XSS被觸發

Kali Linux實戰篇:XSS跨站腳本攻擊實戰教程

在圖中筆者並沒有在URL地址當中看到script代碼,但是攻擊代碼依然被觸發,說明攻擊代碼來自於服務器,而這個攻擊代碼確實是由攻擊者傳遞到服務器當中去的。

一般情況下,當攻擊者將攻擊代碼通過表單傳遞到服務器當中去,會得到一個新頁面的地址,這個地址中URL並沒有明顯異常,比如如下URL地址

http://permeate.songboy.net/article/1

但當存在存儲型XSS時,受害者打開此URL,攻擊代碼將會被觸發,這種情況下筆者便稱之為存儲型XSS漏洞。


AD:歡迎在以下專欄,學習完整Kali Linux滲透測試實戰課程!


3.4 DOM型

DOM型XSS較為特殊,筆者前面反射型XSS和存儲型XSS都是以傳播方式來區分的,而DOM型XSS和傳參方式無關,而是當開發者做了一些安全防護之後,任出現安全問題的一種現象,如下圖所示

Kali Linux實戰篇:XSS跨站腳本攻擊實戰教程

在圖片中,可以看到參數name已經使用函數轉義了,按理說此時將參數傳遞到前端頁面是不會產生XSS漏洞的;但當JavaScript代碼將參數進行DOM節點操作之後,原本被轉義的代碼又會被還原,因此還是會被觸發,如下圖所示

Kali Linux實戰篇:XSS跨站腳本攻擊實戰教程

在圖中看到XSS代碼已經被觸發,這種DOM型XSS相對來說更加隱蔽,所以防禦XSS漏洞的不能僅僅依靠後端開發者,前端開發者也應當瞭解XSS漏洞。

四、反射型挖掘

經過上一節的原理介紹,筆者相信大家對XSS已經有一些瞭解,現在筆者需要進行手工XSS漏洞挖掘,在手工挖掘之前筆者需要先逛逛網站有哪些功能點,如下圖是permeate的界面

Kali Linux實戰篇:XSS跨站腳本攻擊實戰教程

4.1 思路分析

在知道反射型XSS,是通過URL地址傳播的,那麼筆者就需要思考那些地方會讓URL地址的參數在頁面中顯示;相信讀者都用過一些網站的站內搜索,在站內搜索的位置往往會將搜索的關鍵詞展示在頁面當中,如下圖所示

Kali Linux實戰篇:XSS跨站腳本攻擊實戰教程

而在首頁筆者也看見此網站有搜索功能,因此可以從搜索位置著手,可以在搜索位置輸入一個簡單的payload,參考如下

<script>alert(123)</script>

當點擊搜索後,會自動跳轉到以下URL當中,此時瀏覽器的URL地址已經發生了變化,URL地址如下:

http://permeate.songboy.net/home/search.php?keywords=<script>alert(123)</script>

搜索的表單是使用了GET傳參,滿足了測試反射型的第一步要求

4.2 漏洞檢驗

接下來就需要看看筆者的payload有沒有被觸發,結果很意外,不但沒有被觸發還被瀏覽器所阻止了,如下圖

Kali Linux實戰篇:XSS跨站腳本攻擊實戰教程

這裡就需要跟讀者說明一下,谷歌內核瀏覽器自帶XSS篩選器,所以對於反射型XSS測試,儘量不使用谷歌瀏覽器,筆者建議使用火狐瀏覽器進行測試;

4.3 結果分析

現在筆者將上面的URL地址複製下來,並粘貼到火狐瀏覽器當中,並按下回車,看到效果如下圖

Kali Linux實戰篇:XSS跨站腳本攻擊實戰教程

此時payload已經被觸發,說明找到了一個反射型XSS的漏洞,這種漏洞相對來說非常初級,隨著瀏覽器的XSS篩選器變得更加智能,這種漏洞也越來越少,在下面的內容當中筆者將會提到存儲型XSS挖掘與繞過。

五、存儲型挖掘

現在筆者來尋找存儲型XSS,存儲型的攻擊代碼是存儲在服務端,因此需要找出一些會將表單內容存儲到服務端的位置,筆者在之前已經對permeate做了一番瞭解,因此知道permeate擁有發帖和回帖功能,這些功能正是需要將參數存儲起來並展示的地方。

5.1 發現漏洞

在首頁點擊XSS板塊,進入到了板塊列表當中,如下圖

Kali Linux實戰篇:XSS跨站腳本攻擊實戰教程

在右下角能看到有一個發帖按鈕,點擊發帖按鈕後,即可進入發帖界面,如下圖

Kali Linux實戰篇:XSS跨站腳本攻擊實戰教程

在permeate滲透測試系統當中,筆者如果要發表帖子,那麼就需要有賬號,筆者這裡隨便註冊一個賬號,註冊過程筆者就不詳細講解了

5.2 檢驗漏洞

在註冊賬號完成並登陸之後,筆者再次打開發帖頁面,並在標題處和內容處都填寫payload,參考內容如下:

<script>alert(123)</script>

在標題處和帖子內容中分別填寫payload,填寫好之後,應和與下圖一致

Kali Linux實戰篇:XSS跨站腳本攻擊實戰教程

填寫好內容之後,筆者點擊下方的發表按鈕,即可進行發帖,發帖成功會彈出一個提示成功,如下圖所示

Kali Linux實戰篇:XSS跨站腳本攻擊實戰教程

點擊確定之後,會跳轉到發帖列表,並彈出一個123的提示框,如下圖所示

Kali Linux實戰篇:XSS跨站腳本攻擊實戰教程

如果看到這個彈框,說明筆者的payload已經被執行,點擊確定就可以看到列表的內容,如下圖所示

Kali Linux實戰篇:XSS跨站腳本攻擊實戰教程

在列表中只顯示標題,所以帖子內容中的payload並沒有被執行;

5.3 抓包繞過

現在點擊標題,進入帖子詳情頁面,在詳情頁筆者發現payload也只觸發了一次,而且內容當中的標籤被直接顯示了出來,如下圖

Kali Linux實戰篇:XSS跨站腳本攻擊實戰教程

當標籤被直接顯示出來,這說明筆者的參數被轉義了;轉義分為兩種,前端轉義和後端轉義,如果是後端轉義通常筆者會放棄測試,如果是前端轉義則可以繞過這個限制;在這裡筆者發現標題沒有被轉義,而內容被轉,猜測可能是前端做的轉義,因此可以通過瀏覽器的審查工具將數據包拷貝下來;

首先重新打開發帖頁面,然後在網頁隨便一個位置單擊鼠標右鍵->選擇審查元素->切換到network標籤並勾選Preserve log,打開網絡並勾選Preserve log的目的是讓發表帖子之後,能在網絡請求中找到該記錄,現在筆者可以填寫新的payload,如下圖

Kali Linux實戰篇:XSS跨站腳本攻擊實戰教程

點擊發表按鈕之後,筆者可以在控制檯中找到剛才的post請求,從請求中可以看出,這個數據發出去就已經被轉義了,如下圖

Kali Linux實戰篇:XSS跨站腳本攻擊實戰教程

5.4 編碼替換

當確定這個地方存在前端做了轉義處理,如果後端沒有做處理,筆者就可以繞過它,現在筆者將請求複製出來,然後改變裡面的數據,如下圖

Kali Linux實戰篇:XSS跨站腳本攻擊實戰教程

複製出來的數據如下

curl 'http://permeate.songboy.net/home/_fatie.php?bk=6&zt=0' -H 'Connection: keep-alive' -H 'Cache-Control: max-age=0' -H 'Origin: http://permeate.songboy.net' -H 'Upgrade-Insecure-Requests: 1' -H 'Content-Type: application/x-www-form-urlencoded' -H 'User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/68.0.3440.106 Safari/537.36' -H 'Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8' -H 'Referer: http://permeate.songboy.net/home/fatie.php?bk=6' -H 'Accept-Encoding: gzip, deflate' -H 'Accept-Language: zh-CN,zh;q=0.9,en;q=0.8' -H 'Cookie: __cfduid=defc970ef7081e30aedd761da5762b1891532003579; UM_distinctid=1655a61a23343c-03f0904540a333-34657908-1fa400-1655a61a234323; PHPSESSID=rufhm0741qfv55cpfnc80k1g4l' --data 'csrf_token=3908&bk=6&title=222%3Cscript+%3Ealert%28123%29%3C%2Fscript%3E&content=%3Cp%3E222%26lt%3Bscript+%26gt%3Balert%28123%29%26lt%3B%2Fscript%26gt%3B%3C%2Fp%3E' --compressed

筆者找到參數中的title和content參數值,將title的參數值複製下來,然後替換content的參數值,替換後的內容如下

curl 'http://permeate.songboy.net/home/_fatie.php?bk=6&zt=0' -H 'Connection: keep-alive' -H 'Cache-Control: max-age=0' -H 'Origin: http://permeate.songboy.net' -H 'Upgrade-Insecure-Requests: 1' -H 'Content-Type: application/x-www-form-urlencoded' -H 'User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/68.0.3440.106 Safari/537.36' -H 'Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8' -H 'Referer: http://permeate.songboy.net/home/fatie.php?bk=6' -H 'Accept-Encoding: gzip, deflate' -H 'Accept-Language: zh-CN,zh;q=0.9,en;q=0.8' -H 'Cookie: __cfduid=defc970ef7081e30aedd761da5762b1891532003579; UM_distinctid=1655a61a23343c-03f0904540a333-34657908-1fa400-1655a61a234323; PHPSESSID=rufhm0741qfv55cpfnc80k1g4l' --data 'csrf_token=3908&bk=6&title=222%3Cscript+%3Ealert%28123%29%3C%2Fscript%3E&content=222%3Cscript+%3Ealert%28123%29%3C%2Fscript%3E' --compressed

替換完成之後,筆者將此內容複製到終端當中(如果讀者用的是windows操作系統,可以下載一個cmder),然後按下回車鍵,結果如下圖

"

聲明:本頭條號【Kali技術】所有分享,僅限學習交流!請勿他用!

Kali Linux實戰篇:XSS跨站腳本攻擊實戰教程

一、課程概要

本課程主要分享XSS跨站腳本攻擊實戰教程!

二、內容概要

  1. XSS漏洞原理
  2. 反射型挖掘
  3. 存儲型挖掘

三、漏洞簡介

在實踐漏洞之前,筆者準備先簡單介紹一下XSS漏洞,不過XSS的相關概念介紹並不是本文的重點,因此不會過多細講;XSS的漏洞類型主要分為三類:反射型、存儲型、DOM型

3.1 漏洞成因

XSS的漏洞主要成因是後端接收參數時未經過濾,導致參數改變了HTML的結構,如下圖所示

Kali Linux實戰篇:XSS跨站腳本攻擊實戰教程

在圖中可以看到攻擊者的參數被原樣放到了HTML代碼當中,導致原本的結構被改變,當這份代碼被瀏覽器執行之後,將執行alert事件。

3.2 反射型

反射型XSS在筆者鬧鐘的定義是,如果URL地址當中的惡意參數會直接被輸出到頁面中,導致攻擊代碼被觸發,便稱之為反射型XSS,如下圖所示

Kali Linux實戰篇:XSS跨站腳本攻擊實戰教程

在圖中可以看到,此處原本是輸入一個名字,單實際傳遞了一個script標籤,此標籤也被原樣放到了HTML結構當中,結果script標籤代碼中的代碼被觸發

3.3 存儲型

存儲型XSS,顧名思義便是惡意參數被存儲起來了,通常存儲在後端服務器當中,所以存儲型XSS在URL地址當中不會包含惡意參數,對於受害者來說,很難發現已經被攻擊了,如下圖存儲型XSS被觸發

Kali Linux實戰篇:XSS跨站腳本攻擊實戰教程

在圖中筆者並沒有在URL地址當中看到script代碼,但是攻擊代碼依然被觸發,說明攻擊代碼來自於服務器,而這個攻擊代碼確實是由攻擊者傳遞到服務器當中去的。

一般情況下,當攻擊者將攻擊代碼通過表單傳遞到服務器當中去,會得到一個新頁面的地址,這個地址中URL並沒有明顯異常,比如如下URL地址

http://permeate.songboy.net/article/1

但當存在存儲型XSS時,受害者打開此URL,攻擊代碼將會被觸發,這種情況下筆者便稱之為存儲型XSS漏洞。


AD:歡迎在以下專欄,學習完整Kali Linux滲透測試實戰課程!


3.4 DOM型

DOM型XSS較為特殊,筆者前面反射型XSS和存儲型XSS都是以傳播方式來區分的,而DOM型XSS和傳參方式無關,而是當開發者做了一些安全防護之後,任出現安全問題的一種現象,如下圖所示

Kali Linux實戰篇:XSS跨站腳本攻擊實戰教程

在圖片中,可以看到參數name已經使用函數轉義了,按理說此時將參數傳遞到前端頁面是不會產生XSS漏洞的;但當JavaScript代碼將參數進行DOM節點操作之後,原本被轉義的代碼又會被還原,因此還是會被觸發,如下圖所示

Kali Linux實戰篇:XSS跨站腳本攻擊實戰教程

在圖中看到XSS代碼已經被觸發,這種DOM型XSS相對來說更加隱蔽,所以防禦XSS漏洞的不能僅僅依靠後端開發者,前端開發者也應當瞭解XSS漏洞。

四、反射型挖掘

經過上一節的原理介紹,筆者相信大家對XSS已經有一些瞭解,現在筆者需要進行手工XSS漏洞挖掘,在手工挖掘之前筆者需要先逛逛網站有哪些功能點,如下圖是permeate的界面

Kali Linux實戰篇:XSS跨站腳本攻擊實戰教程

4.1 思路分析

在知道反射型XSS,是通過URL地址傳播的,那麼筆者就需要思考那些地方會讓URL地址的參數在頁面中顯示;相信讀者都用過一些網站的站內搜索,在站內搜索的位置往往會將搜索的關鍵詞展示在頁面當中,如下圖所示

Kali Linux實戰篇:XSS跨站腳本攻擊實戰教程

而在首頁筆者也看見此網站有搜索功能,因此可以從搜索位置著手,可以在搜索位置輸入一個簡單的payload,參考如下

<script>alert(123)</script>

當點擊搜索後,會自動跳轉到以下URL當中,此時瀏覽器的URL地址已經發生了變化,URL地址如下:

http://permeate.songboy.net/home/search.php?keywords=<script>alert(123)</script>

搜索的表單是使用了GET傳參,滿足了測試反射型的第一步要求

4.2 漏洞檢驗

接下來就需要看看筆者的payload有沒有被觸發,結果很意外,不但沒有被觸發還被瀏覽器所阻止了,如下圖

Kali Linux實戰篇:XSS跨站腳本攻擊實戰教程

這裡就需要跟讀者說明一下,谷歌內核瀏覽器自帶XSS篩選器,所以對於反射型XSS測試,儘量不使用谷歌瀏覽器,筆者建議使用火狐瀏覽器進行測試;

4.3 結果分析

現在筆者將上面的URL地址複製下來,並粘貼到火狐瀏覽器當中,並按下回車,看到效果如下圖

Kali Linux實戰篇:XSS跨站腳本攻擊實戰教程

此時payload已經被觸發,說明找到了一個反射型XSS的漏洞,這種漏洞相對來說非常初級,隨著瀏覽器的XSS篩選器變得更加智能,這種漏洞也越來越少,在下面的內容當中筆者將會提到存儲型XSS挖掘與繞過。

五、存儲型挖掘

現在筆者來尋找存儲型XSS,存儲型的攻擊代碼是存儲在服務端,因此需要找出一些會將表單內容存儲到服務端的位置,筆者在之前已經對permeate做了一番瞭解,因此知道permeate擁有發帖和回帖功能,這些功能正是需要將參數存儲起來並展示的地方。

5.1 發現漏洞

在首頁點擊XSS板塊,進入到了板塊列表當中,如下圖

Kali Linux實戰篇:XSS跨站腳本攻擊實戰教程

在右下角能看到有一個發帖按鈕,點擊發帖按鈕後,即可進入發帖界面,如下圖

Kali Linux實戰篇:XSS跨站腳本攻擊實戰教程

在permeate滲透測試系統當中,筆者如果要發表帖子,那麼就需要有賬號,筆者這裡隨便註冊一個賬號,註冊過程筆者就不詳細講解了

5.2 檢驗漏洞

在註冊賬號完成並登陸之後,筆者再次打開發帖頁面,並在標題處和內容處都填寫payload,參考內容如下:

<script>alert(123)</script>

在標題處和帖子內容中分別填寫payload,填寫好之後,應和與下圖一致

Kali Linux實戰篇:XSS跨站腳本攻擊實戰教程

填寫好內容之後,筆者點擊下方的發表按鈕,即可進行發帖,發帖成功會彈出一個提示成功,如下圖所示

Kali Linux實戰篇:XSS跨站腳本攻擊實戰教程

點擊確定之後,會跳轉到發帖列表,並彈出一個123的提示框,如下圖所示

Kali Linux實戰篇:XSS跨站腳本攻擊實戰教程

如果看到這個彈框,說明筆者的payload已經被執行,點擊確定就可以看到列表的內容,如下圖所示

Kali Linux實戰篇:XSS跨站腳本攻擊實戰教程

在列表中只顯示標題,所以帖子內容中的payload並沒有被執行;

5.3 抓包繞過

現在點擊標題,進入帖子詳情頁面,在詳情頁筆者發現payload也只觸發了一次,而且內容當中的標籤被直接顯示了出來,如下圖

Kali Linux實戰篇:XSS跨站腳本攻擊實戰教程

當標籤被直接顯示出來,這說明筆者的參數被轉義了;轉義分為兩種,前端轉義和後端轉義,如果是後端轉義通常筆者會放棄測試,如果是前端轉義則可以繞過這個限制;在這裡筆者發現標題沒有被轉義,而內容被轉,猜測可能是前端做的轉義,因此可以通過瀏覽器的審查工具將數據包拷貝下來;

首先重新打開發帖頁面,然後在網頁隨便一個位置單擊鼠標右鍵->選擇審查元素->切換到network標籤並勾選Preserve log,打開網絡並勾選Preserve log的目的是讓發表帖子之後,能在網絡請求中找到該記錄,現在筆者可以填寫新的payload,如下圖

Kali Linux實戰篇:XSS跨站腳本攻擊實戰教程

點擊發表按鈕之後,筆者可以在控制檯中找到剛才的post請求,從請求中可以看出,這個數據發出去就已經被轉義了,如下圖

Kali Linux實戰篇:XSS跨站腳本攻擊實戰教程

5.4 編碼替換

當確定這個地方存在前端做了轉義處理,如果後端沒有做處理,筆者就可以繞過它,現在筆者將請求複製出來,然後改變裡面的數據,如下圖

Kali Linux實戰篇:XSS跨站腳本攻擊實戰教程

複製出來的數據如下

curl 'http://permeate.songboy.net/home/_fatie.php?bk=6&zt=0' -H 'Connection: keep-alive' -H 'Cache-Control: max-age=0' -H 'Origin: http://permeate.songboy.net' -H 'Upgrade-Insecure-Requests: 1' -H 'Content-Type: application/x-www-form-urlencoded' -H 'User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/68.0.3440.106 Safari/537.36' -H 'Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8' -H 'Referer: http://permeate.songboy.net/home/fatie.php?bk=6' -H 'Accept-Encoding: gzip, deflate' -H 'Accept-Language: zh-CN,zh;q=0.9,en;q=0.8' -H 'Cookie: __cfduid=defc970ef7081e30aedd761da5762b1891532003579; UM_distinctid=1655a61a23343c-03f0904540a333-34657908-1fa400-1655a61a234323; PHPSESSID=rufhm0741qfv55cpfnc80k1g4l' --data 'csrf_token=3908&bk=6&title=222%3Cscript+%3Ealert%28123%29%3C%2Fscript%3E&content=%3Cp%3E222%26lt%3Bscript+%26gt%3Balert%28123%29%26lt%3B%2Fscript%26gt%3B%3C%2Fp%3E' --compressed

筆者找到參數中的title和content參數值,將title的參數值複製下來,然後替換content的參數值,替換後的內容如下

curl 'http://permeate.songboy.net/home/_fatie.php?bk=6&zt=0' -H 'Connection: keep-alive' -H 'Cache-Control: max-age=0' -H 'Origin: http://permeate.songboy.net' -H 'Upgrade-Insecure-Requests: 1' -H 'Content-Type: application/x-www-form-urlencoded' -H 'User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/68.0.3440.106 Safari/537.36' -H 'Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8' -H 'Referer: http://permeate.songboy.net/home/fatie.php?bk=6' -H 'Accept-Encoding: gzip, deflate' -H 'Accept-Language: zh-CN,zh;q=0.9,en;q=0.8' -H 'Cookie: __cfduid=defc970ef7081e30aedd761da5762b1891532003579; UM_distinctid=1655a61a23343c-03f0904540a333-34657908-1fa400-1655a61a234323; PHPSESSID=rufhm0741qfv55cpfnc80k1g4l' --data 'csrf_token=3908&bk=6&title=222%3Cscript+%3Ealert%28123%29%3C%2Fscript%3E&content=222%3Cscript+%3Ealert%28123%29%3C%2Fscript%3E' --compressed

替換完成之後,筆者將此內容複製到終端當中(如果讀者用的是windows操作系統,可以下載一個cmder),然後按下回車鍵,結果如下圖

Kali Linux實戰篇:XSS跨站腳本攻擊實戰教程

5.5 結果分析

在返回結果當中可以看到提示發帖成功,此時就筆者已經成功發佈了一個新帖子,回到帖子列表當中看到有三條帖子,在最後面的帖子則是筆者新發布的,如下圖

"

聲明:本頭條號【Kali技術】所有分享,僅限學習交流!請勿他用!

Kali Linux實戰篇:XSS跨站腳本攻擊實戰教程

一、課程概要

本課程主要分享XSS跨站腳本攻擊實戰教程!

二、內容概要

  1. XSS漏洞原理
  2. 反射型挖掘
  3. 存儲型挖掘

三、漏洞簡介

在實踐漏洞之前,筆者準備先簡單介紹一下XSS漏洞,不過XSS的相關概念介紹並不是本文的重點,因此不會過多細講;XSS的漏洞類型主要分為三類:反射型、存儲型、DOM型

3.1 漏洞成因

XSS的漏洞主要成因是後端接收參數時未經過濾,導致參數改變了HTML的結構,如下圖所示

Kali Linux實戰篇:XSS跨站腳本攻擊實戰教程

在圖中可以看到攻擊者的參數被原樣放到了HTML代碼當中,導致原本的結構被改變,當這份代碼被瀏覽器執行之後,將執行alert事件。

3.2 反射型

反射型XSS在筆者鬧鐘的定義是,如果URL地址當中的惡意參數會直接被輸出到頁面中,導致攻擊代碼被觸發,便稱之為反射型XSS,如下圖所示

Kali Linux實戰篇:XSS跨站腳本攻擊實戰教程

在圖中可以看到,此處原本是輸入一個名字,單實際傳遞了一個script標籤,此標籤也被原樣放到了HTML結構當中,結果script標籤代碼中的代碼被觸發

3.3 存儲型

存儲型XSS,顧名思義便是惡意參數被存儲起來了,通常存儲在後端服務器當中,所以存儲型XSS在URL地址當中不會包含惡意參數,對於受害者來說,很難發現已經被攻擊了,如下圖存儲型XSS被觸發

Kali Linux實戰篇:XSS跨站腳本攻擊實戰教程

在圖中筆者並沒有在URL地址當中看到script代碼,但是攻擊代碼依然被觸發,說明攻擊代碼來自於服務器,而這個攻擊代碼確實是由攻擊者傳遞到服務器當中去的。

一般情況下,當攻擊者將攻擊代碼通過表單傳遞到服務器當中去,會得到一個新頁面的地址,這個地址中URL並沒有明顯異常,比如如下URL地址

http://permeate.songboy.net/article/1

但當存在存儲型XSS時,受害者打開此URL,攻擊代碼將會被觸發,這種情況下筆者便稱之為存儲型XSS漏洞。


AD:歡迎在以下專欄,學習完整Kali Linux滲透測試實戰課程!


3.4 DOM型

DOM型XSS較為特殊,筆者前面反射型XSS和存儲型XSS都是以傳播方式來區分的,而DOM型XSS和傳參方式無關,而是當開發者做了一些安全防護之後,任出現安全問題的一種現象,如下圖所示

Kali Linux實戰篇:XSS跨站腳本攻擊實戰教程

在圖片中,可以看到參數name已經使用函數轉義了,按理說此時將參數傳遞到前端頁面是不會產生XSS漏洞的;但當JavaScript代碼將參數進行DOM節點操作之後,原本被轉義的代碼又會被還原,因此還是會被觸發,如下圖所示

Kali Linux實戰篇:XSS跨站腳本攻擊實戰教程

在圖中看到XSS代碼已經被觸發,這種DOM型XSS相對來說更加隱蔽,所以防禦XSS漏洞的不能僅僅依靠後端開發者,前端開發者也應當瞭解XSS漏洞。

四、反射型挖掘

經過上一節的原理介紹,筆者相信大家對XSS已經有一些瞭解,現在筆者需要進行手工XSS漏洞挖掘,在手工挖掘之前筆者需要先逛逛網站有哪些功能點,如下圖是permeate的界面

Kali Linux實戰篇:XSS跨站腳本攻擊實戰教程

4.1 思路分析

在知道反射型XSS,是通過URL地址傳播的,那麼筆者就需要思考那些地方會讓URL地址的參數在頁面中顯示;相信讀者都用過一些網站的站內搜索,在站內搜索的位置往往會將搜索的關鍵詞展示在頁面當中,如下圖所示

Kali Linux實戰篇:XSS跨站腳本攻擊實戰教程

而在首頁筆者也看見此網站有搜索功能,因此可以從搜索位置著手,可以在搜索位置輸入一個簡單的payload,參考如下

<script>alert(123)</script>

當點擊搜索後,會自動跳轉到以下URL當中,此時瀏覽器的URL地址已經發生了變化,URL地址如下:

http://permeate.songboy.net/home/search.php?keywords=<script>alert(123)</script>

搜索的表單是使用了GET傳參,滿足了測試反射型的第一步要求

4.2 漏洞檢驗

接下來就需要看看筆者的payload有沒有被觸發,結果很意外,不但沒有被觸發還被瀏覽器所阻止了,如下圖

Kali Linux實戰篇:XSS跨站腳本攻擊實戰教程

這裡就需要跟讀者說明一下,谷歌內核瀏覽器自帶XSS篩選器,所以對於反射型XSS測試,儘量不使用谷歌瀏覽器,筆者建議使用火狐瀏覽器進行測試;

4.3 結果分析

現在筆者將上面的URL地址複製下來,並粘貼到火狐瀏覽器當中,並按下回車,看到效果如下圖

Kali Linux實戰篇:XSS跨站腳本攻擊實戰教程

此時payload已經被觸發,說明找到了一個反射型XSS的漏洞,這種漏洞相對來說非常初級,隨著瀏覽器的XSS篩選器變得更加智能,這種漏洞也越來越少,在下面的內容當中筆者將會提到存儲型XSS挖掘與繞過。

五、存儲型挖掘

現在筆者來尋找存儲型XSS,存儲型的攻擊代碼是存儲在服務端,因此需要找出一些會將表單內容存儲到服務端的位置,筆者在之前已經對permeate做了一番瞭解,因此知道permeate擁有發帖和回帖功能,這些功能正是需要將參數存儲起來並展示的地方。

5.1 發現漏洞

在首頁點擊XSS板塊,進入到了板塊列表當中,如下圖

Kali Linux實戰篇:XSS跨站腳本攻擊實戰教程

在右下角能看到有一個發帖按鈕,點擊發帖按鈕後,即可進入發帖界面,如下圖

Kali Linux實戰篇:XSS跨站腳本攻擊實戰教程

在permeate滲透測試系統當中,筆者如果要發表帖子,那麼就需要有賬號,筆者這裡隨便註冊一個賬號,註冊過程筆者就不詳細講解了

5.2 檢驗漏洞

在註冊賬號完成並登陸之後,筆者再次打開發帖頁面,並在標題處和內容處都填寫payload,參考內容如下:

<script>alert(123)</script>

在標題處和帖子內容中分別填寫payload,填寫好之後,應和與下圖一致

Kali Linux實戰篇:XSS跨站腳本攻擊實戰教程

填寫好內容之後,筆者點擊下方的發表按鈕,即可進行發帖,發帖成功會彈出一個提示成功,如下圖所示

Kali Linux實戰篇:XSS跨站腳本攻擊實戰教程

點擊確定之後,會跳轉到發帖列表,並彈出一個123的提示框,如下圖所示

Kali Linux實戰篇:XSS跨站腳本攻擊實戰教程

如果看到這個彈框,說明筆者的payload已經被執行,點擊確定就可以看到列表的內容,如下圖所示

Kali Linux實戰篇:XSS跨站腳本攻擊實戰教程

在列表中只顯示標題,所以帖子內容中的payload並沒有被執行;

5.3 抓包繞過

現在點擊標題,進入帖子詳情頁面,在詳情頁筆者發現payload也只觸發了一次,而且內容當中的標籤被直接顯示了出來,如下圖

Kali Linux實戰篇:XSS跨站腳本攻擊實戰教程

當標籤被直接顯示出來,這說明筆者的參數被轉義了;轉義分為兩種,前端轉義和後端轉義,如果是後端轉義通常筆者會放棄測試,如果是前端轉義則可以繞過這個限制;在這裡筆者發現標題沒有被轉義,而內容被轉,猜測可能是前端做的轉義,因此可以通過瀏覽器的審查工具將數據包拷貝下來;

首先重新打開發帖頁面,然後在網頁隨便一個位置單擊鼠標右鍵->選擇審查元素->切換到network標籤並勾選Preserve log,打開網絡並勾選Preserve log的目的是讓發表帖子之後,能在網絡請求中找到該記錄,現在筆者可以填寫新的payload,如下圖

Kali Linux實戰篇:XSS跨站腳本攻擊實戰教程

點擊發表按鈕之後,筆者可以在控制檯中找到剛才的post請求,從請求中可以看出,這個數據發出去就已經被轉義了,如下圖

Kali Linux實戰篇:XSS跨站腳本攻擊實戰教程

5.4 編碼替換

當確定這個地方存在前端做了轉義處理,如果後端沒有做處理,筆者就可以繞過它,現在筆者將請求複製出來,然後改變裡面的數據,如下圖

Kali Linux實戰篇:XSS跨站腳本攻擊實戰教程

複製出來的數據如下

curl 'http://permeate.songboy.net/home/_fatie.php?bk=6&zt=0' -H 'Connection: keep-alive' -H 'Cache-Control: max-age=0' -H 'Origin: http://permeate.songboy.net' -H 'Upgrade-Insecure-Requests: 1' -H 'Content-Type: application/x-www-form-urlencoded' -H 'User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/68.0.3440.106 Safari/537.36' -H 'Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8' -H 'Referer: http://permeate.songboy.net/home/fatie.php?bk=6' -H 'Accept-Encoding: gzip, deflate' -H 'Accept-Language: zh-CN,zh;q=0.9,en;q=0.8' -H 'Cookie: __cfduid=defc970ef7081e30aedd761da5762b1891532003579; UM_distinctid=1655a61a23343c-03f0904540a333-34657908-1fa400-1655a61a234323; PHPSESSID=rufhm0741qfv55cpfnc80k1g4l' --data 'csrf_token=3908&bk=6&title=222%3Cscript+%3Ealert%28123%29%3C%2Fscript%3E&content=%3Cp%3E222%26lt%3Bscript+%26gt%3Balert%28123%29%26lt%3B%2Fscript%26gt%3B%3C%2Fp%3E' --compressed

筆者找到參數中的title和content參數值,將title的參數值複製下來,然後替換content的參數值,替換後的內容如下

curl 'http://permeate.songboy.net/home/_fatie.php?bk=6&zt=0' -H 'Connection: keep-alive' -H 'Cache-Control: max-age=0' -H 'Origin: http://permeate.songboy.net' -H 'Upgrade-Insecure-Requests: 1' -H 'Content-Type: application/x-www-form-urlencoded' -H 'User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/68.0.3440.106 Safari/537.36' -H 'Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8' -H 'Referer: http://permeate.songboy.net/home/fatie.php?bk=6' -H 'Accept-Encoding: gzip, deflate' -H 'Accept-Language: zh-CN,zh;q=0.9,en;q=0.8' -H 'Cookie: __cfduid=defc970ef7081e30aedd761da5762b1891532003579; UM_distinctid=1655a61a23343c-03f0904540a333-34657908-1fa400-1655a61a234323; PHPSESSID=rufhm0741qfv55cpfnc80k1g4l' --data 'csrf_token=3908&bk=6&title=222%3Cscript+%3Ealert%28123%29%3C%2Fscript%3E&content=222%3Cscript+%3Ealert%28123%29%3C%2Fscript%3E' --compressed

替換完成之後,筆者將此內容複製到終端當中(如果讀者用的是windows操作系統,可以下載一個cmder),然後按下回車鍵,結果如下圖

Kali Linux實戰篇:XSS跨站腳本攻擊實戰教程

5.5 結果分析

在返回結果當中可以看到提示發帖成功,此時就筆者已經成功發佈了一個新帖子,回到帖子列表當中看到有三條帖子,在最後面的帖子則是筆者新發布的,如下圖

Kali Linux實戰篇:XSS跨站腳本攻擊實戰教程

打開詳情頁,筆者被彈了兩次提示框,說明標題和內容當中的payload都被觸發,並且在控制檯當中也可以看到script變成了DOM節點,而不是文本展現出來,如下圖所示

"

聲明:本頭條號【Kali技術】所有分享,僅限學習交流!請勿他用!

Kali Linux實戰篇:XSS跨站腳本攻擊實戰教程

一、課程概要

本課程主要分享XSS跨站腳本攻擊實戰教程!

二、內容概要

  1. XSS漏洞原理
  2. 反射型挖掘
  3. 存儲型挖掘

三、漏洞簡介

在實踐漏洞之前,筆者準備先簡單介紹一下XSS漏洞,不過XSS的相關概念介紹並不是本文的重點,因此不會過多細講;XSS的漏洞類型主要分為三類:反射型、存儲型、DOM型

3.1 漏洞成因

XSS的漏洞主要成因是後端接收參數時未經過濾,導致參數改變了HTML的結構,如下圖所示

Kali Linux實戰篇:XSS跨站腳本攻擊實戰教程

在圖中可以看到攻擊者的參數被原樣放到了HTML代碼當中,導致原本的結構被改變,當這份代碼被瀏覽器執行之後,將執行alert事件。

3.2 反射型

反射型XSS在筆者鬧鐘的定義是,如果URL地址當中的惡意參數會直接被輸出到頁面中,導致攻擊代碼被觸發,便稱之為反射型XSS,如下圖所示

Kali Linux實戰篇:XSS跨站腳本攻擊實戰教程

在圖中可以看到,此處原本是輸入一個名字,單實際傳遞了一個script標籤,此標籤也被原樣放到了HTML結構當中,結果script標籤代碼中的代碼被觸發

3.3 存儲型

存儲型XSS,顧名思義便是惡意參數被存儲起來了,通常存儲在後端服務器當中,所以存儲型XSS在URL地址當中不會包含惡意參數,對於受害者來說,很難發現已經被攻擊了,如下圖存儲型XSS被觸發

Kali Linux實戰篇:XSS跨站腳本攻擊實戰教程

在圖中筆者並沒有在URL地址當中看到script代碼,但是攻擊代碼依然被觸發,說明攻擊代碼來自於服務器,而這個攻擊代碼確實是由攻擊者傳遞到服務器當中去的。

一般情況下,當攻擊者將攻擊代碼通過表單傳遞到服務器當中去,會得到一個新頁面的地址,這個地址中URL並沒有明顯異常,比如如下URL地址

http://permeate.songboy.net/article/1

但當存在存儲型XSS時,受害者打開此URL,攻擊代碼將會被觸發,這種情況下筆者便稱之為存儲型XSS漏洞。


AD:歡迎在以下專欄,學習完整Kali Linux滲透測試實戰課程!


3.4 DOM型

DOM型XSS較為特殊,筆者前面反射型XSS和存儲型XSS都是以傳播方式來區分的,而DOM型XSS和傳參方式無關,而是當開發者做了一些安全防護之後,任出現安全問題的一種現象,如下圖所示

Kali Linux實戰篇:XSS跨站腳本攻擊實戰教程

在圖片中,可以看到參數name已經使用函數轉義了,按理說此時將參數傳遞到前端頁面是不會產生XSS漏洞的;但當JavaScript代碼將參數進行DOM節點操作之後,原本被轉義的代碼又會被還原,因此還是會被觸發,如下圖所示

Kali Linux實戰篇:XSS跨站腳本攻擊實戰教程

在圖中看到XSS代碼已經被觸發,這種DOM型XSS相對來說更加隱蔽,所以防禦XSS漏洞的不能僅僅依靠後端開發者,前端開發者也應當瞭解XSS漏洞。

四、反射型挖掘

經過上一節的原理介紹,筆者相信大家對XSS已經有一些瞭解,現在筆者需要進行手工XSS漏洞挖掘,在手工挖掘之前筆者需要先逛逛網站有哪些功能點,如下圖是permeate的界面

Kali Linux實戰篇:XSS跨站腳本攻擊實戰教程

4.1 思路分析

在知道反射型XSS,是通過URL地址傳播的,那麼筆者就需要思考那些地方會讓URL地址的參數在頁面中顯示;相信讀者都用過一些網站的站內搜索,在站內搜索的位置往往會將搜索的關鍵詞展示在頁面當中,如下圖所示

Kali Linux實戰篇:XSS跨站腳本攻擊實戰教程

而在首頁筆者也看見此網站有搜索功能,因此可以從搜索位置著手,可以在搜索位置輸入一個簡單的payload,參考如下

<script>alert(123)</script>

當點擊搜索後,會自動跳轉到以下URL當中,此時瀏覽器的URL地址已經發生了變化,URL地址如下:

http://permeate.songboy.net/home/search.php?keywords=<script>alert(123)</script>

搜索的表單是使用了GET傳參,滿足了測試反射型的第一步要求

4.2 漏洞檢驗

接下來就需要看看筆者的payload有沒有被觸發,結果很意外,不但沒有被觸發還被瀏覽器所阻止了,如下圖

Kali Linux實戰篇:XSS跨站腳本攻擊實戰教程

這裡就需要跟讀者說明一下,谷歌內核瀏覽器自帶XSS篩選器,所以對於反射型XSS測試,儘量不使用谷歌瀏覽器,筆者建議使用火狐瀏覽器進行測試;

4.3 結果分析

現在筆者將上面的URL地址複製下來,並粘貼到火狐瀏覽器當中,並按下回車,看到效果如下圖

Kali Linux實戰篇:XSS跨站腳本攻擊實戰教程

此時payload已經被觸發,說明找到了一個反射型XSS的漏洞,這種漏洞相對來說非常初級,隨著瀏覽器的XSS篩選器變得更加智能,這種漏洞也越來越少,在下面的內容當中筆者將會提到存儲型XSS挖掘與繞過。

五、存儲型挖掘

現在筆者來尋找存儲型XSS,存儲型的攻擊代碼是存儲在服務端,因此需要找出一些會將表單內容存儲到服務端的位置,筆者在之前已經對permeate做了一番瞭解,因此知道permeate擁有發帖和回帖功能,這些功能正是需要將參數存儲起來並展示的地方。

5.1 發現漏洞

在首頁點擊XSS板塊,進入到了板塊列表當中,如下圖

Kali Linux實戰篇:XSS跨站腳本攻擊實戰教程

在右下角能看到有一個發帖按鈕,點擊發帖按鈕後,即可進入發帖界面,如下圖

Kali Linux實戰篇:XSS跨站腳本攻擊實戰教程

在permeate滲透測試系統當中,筆者如果要發表帖子,那麼就需要有賬號,筆者這裡隨便註冊一個賬號,註冊過程筆者就不詳細講解了

5.2 檢驗漏洞

在註冊賬號完成並登陸之後,筆者再次打開發帖頁面,並在標題處和內容處都填寫payload,參考內容如下:

<script>alert(123)</script>

在標題處和帖子內容中分別填寫payload,填寫好之後,應和與下圖一致

Kali Linux實戰篇:XSS跨站腳本攻擊實戰教程

填寫好內容之後,筆者點擊下方的發表按鈕,即可進行發帖,發帖成功會彈出一個提示成功,如下圖所示

Kali Linux實戰篇:XSS跨站腳本攻擊實戰教程

點擊確定之後,會跳轉到發帖列表,並彈出一個123的提示框,如下圖所示

Kali Linux實戰篇:XSS跨站腳本攻擊實戰教程

如果看到這個彈框,說明筆者的payload已經被執行,點擊確定就可以看到列表的內容,如下圖所示

Kali Linux實戰篇:XSS跨站腳本攻擊實戰教程

在列表中只顯示標題,所以帖子內容中的payload並沒有被執行;

5.3 抓包繞過

現在點擊標題,進入帖子詳情頁面,在詳情頁筆者發現payload也只觸發了一次,而且內容當中的標籤被直接顯示了出來,如下圖

Kali Linux實戰篇:XSS跨站腳本攻擊實戰教程

當標籤被直接顯示出來,這說明筆者的參數被轉義了;轉義分為兩種,前端轉義和後端轉義,如果是後端轉義通常筆者會放棄測試,如果是前端轉義則可以繞過這個限制;在這裡筆者發現標題沒有被轉義,而內容被轉,猜測可能是前端做的轉義,因此可以通過瀏覽器的審查工具將數據包拷貝下來;

首先重新打開發帖頁面,然後在網頁隨便一個位置單擊鼠標右鍵->選擇審查元素->切換到network標籤並勾選Preserve log,打開網絡並勾選Preserve log的目的是讓發表帖子之後,能在網絡請求中找到該記錄,現在筆者可以填寫新的payload,如下圖

Kali Linux實戰篇:XSS跨站腳本攻擊實戰教程

點擊發表按鈕之後,筆者可以在控制檯中找到剛才的post請求,從請求中可以看出,這個數據發出去就已經被轉義了,如下圖

Kali Linux實戰篇:XSS跨站腳本攻擊實戰教程

5.4 編碼替換

當確定這個地方存在前端做了轉義處理,如果後端沒有做處理,筆者就可以繞過它,現在筆者將請求複製出來,然後改變裡面的數據,如下圖

Kali Linux實戰篇:XSS跨站腳本攻擊實戰教程

複製出來的數據如下

curl 'http://permeate.songboy.net/home/_fatie.php?bk=6&zt=0' -H 'Connection: keep-alive' -H 'Cache-Control: max-age=0' -H 'Origin: http://permeate.songboy.net' -H 'Upgrade-Insecure-Requests: 1' -H 'Content-Type: application/x-www-form-urlencoded' -H 'User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/68.0.3440.106 Safari/537.36' -H 'Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8' -H 'Referer: http://permeate.songboy.net/home/fatie.php?bk=6' -H 'Accept-Encoding: gzip, deflate' -H 'Accept-Language: zh-CN,zh;q=0.9,en;q=0.8' -H 'Cookie: __cfduid=defc970ef7081e30aedd761da5762b1891532003579; UM_distinctid=1655a61a23343c-03f0904540a333-34657908-1fa400-1655a61a234323; PHPSESSID=rufhm0741qfv55cpfnc80k1g4l' --data 'csrf_token=3908&bk=6&title=222%3Cscript+%3Ealert%28123%29%3C%2Fscript%3E&content=%3Cp%3E222%26lt%3Bscript+%26gt%3Balert%28123%29%26lt%3B%2Fscript%26gt%3B%3C%2Fp%3E' --compressed

筆者找到參數中的title和content參數值,將title的參數值複製下來,然後替換content的參數值,替換後的內容如下

curl 'http://permeate.songboy.net/home/_fatie.php?bk=6&zt=0' -H 'Connection: keep-alive' -H 'Cache-Control: max-age=0' -H 'Origin: http://permeate.songboy.net' -H 'Upgrade-Insecure-Requests: 1' -H 'Content-Type: application/x-www-form-urlencoded' -H 'User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/68.0.3440.106 Safari/537.36' -H 'Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8' -H 'Referer: http://permeate.songboy.net/home/fatie.php?bk=6' -H 'Accept-Encoding: gzip, deflate' -H 'Accept-Language: zh-CN,zh;q=0.9,en;q=0.8' -H 'Cookie: __cfduid=defc970ef7081e30aedd761da5762b1891532003579; UM_distinctid=1655a61a23343c-03f0904540a333-34657908-1fa400-1655a61a234323; PHPSESSID=rufhm0741qfv55cpfnc80k1g4l' --data 'csrf_token=3908&bk=6&title=222%3Cscript+%3Ealert%28123%29%3C%2Fscript%3E&content=222%3Cscript+%3Ealert%28123%29%3C%2Fscript%3E' --compressed

替換完成之後,筆者將此內容複製到終端當中(如果讀者用的是windows操作系統,可以下載一個cmder),然後按下回車鍵,結果如下圖

Kali Linux實戰篇:XSS跨站腳本攻擊實戰教程

5.5 結果分析

在返回結果當中可以看到提示發帖成功,此時就筆者已經成功發佈了一個新帖子,回到帖子列表當中看到有三條帖子,在最後面的帖子則是筆者新發布的,如下圖

Kali Linux實戰篇:XSS跨站腳本攻擊實戰教程

打開詳情頁,筆者被彈了兩次提示框,說明標題和內容當中的payload都被觸發,並且在控制檯當中也可以看到script變成了DOM節點,而不是文本展現出來,如下圖所示

Kali Linux實戰篇:XSS跨站腳本攻擊實戰教程


學習更多黑客攻防與編程好課,請點擊【瞭解更多】前往!

"

相關推薦

推薦中...