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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

渗透工具开发——XSS平台的命令行实现

發布時間:2025/3/21 编程问答 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 渗透工具开发——XSS平台的命令行实现 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

前言

【網安學習資料】

通過XSS平臺,能夠便于對XSS漏洞進行測試,獲得重要信息。目前,可供使用的在線XSS平臺有很多,也可以嘗試自己搭建XSS平臺。 但是,如果測試目標無法出網,我們就需要在內網搭建一個輕量化的XSS平臺,既要安裝方便,又要支持跨平臺。

我暫時沒有找到合適的開源工具,于是打算使用Python編寫一個命令行工具,提供XSS平臺的功能

簡介

【網安學習資料】

本文將要介紹以下內容:

?設計思路

?實現細節

?開源代碼

設計思路

【網安學習資料】

參照XSS平臺,命令行工具需要提供以下功能:

1.創建HTTPS服務器,提供WEB服務

2.區分不同的數據,提取出關鍵內容并保存

3.功能模塊化,便于二次開發

實現細節

1.創建HTTPS服務器,提供WEB服務

首先需要創建證書,這里可以使用openssl,命令如下:

生成證書文件https_svr_key.pem

創建HTTPS服務器的Python3測試代碼如下:

以上代碼將會創建一個支持HTTPS協議的WEB服務器,功能同python -m SimpleHTTPServer 8000類似

2.區分不同的數據,提取出關鍵內容并保存

需要自定義處理模塊RequestHandler,處理GET包和POST包

處理GET包的代碼如下:

其中,print(self.headers)用來輸出GET請求的Header內容,可用于識別用戶瀏覽器

為了獲取用戶Cookie,這里采用自定義格式,如果GET請求的地址帶有cookie字符,將請求內容保存成文件,存儲獲得的用戶Cookie

處理POST包的代碼如下:

以上代碼會對POST包統一回復文本內容Success,狀態碼為200

對POST請求的地址進行判斷,分別對應以下三個功能:

(1)保存用戶屏幕截圖

請求地址為/screen

從POST請求的參數中提取圖像數據,作Base64解碼后保存

(2)控制用戶向指定地址發送http數據包,保存返回結果

請求地址為/data

從POST請求的參數中提取數據并保存

(3)默認功能

命令行輸出POST請求的參數

注:

以上三個功能在提取數據內容時,需要使用urllib.parse.unquote()進行解碼

3.功能模塊化,便于二次開發

默認XSS平臺的訪問地址為:https://< xss platform url >/index.js

創建HTTPS服務器后,只需要編輯Python腳本同級目錄下的index.js即可

這里介紹以下兩個js腳本實現的功能:

(1)獲取用戶Cookie

讀取用戶Cookie可使用document.cookie

在回傳Cookie數據時,為了避免跨域問題,可使用Image對象,示例代碼如下:

使用Image對象,只能發送GET請求,無法獲得響應內容,只能通過onerror和onload事件判斷是否響應

(2)通過js發送HTTP請求

HTTP請求支持GET和POST,還需要區分同步和異步方法

對于同步方法,調用一旦開始,調用者必須等到方法調用返回后才能繼續后續的行為。為了將請求結果回傳至服務器,可以通過return獲得數據包的返回結果后再進行回傳

對于異步方法,調用一旦開始,方法調用就會立即返回。為了將請求結果回傳至服務器,這里可以通過回調函數callback實現

回調函數callback的簡單理解:函數可以作為參數在另一個函數中被調用

例如如下代碼:

執行代碼后將在控制臺輸出1

綜上,向指定url發送GET數據包,將請求結果回傳至服務器可使用兩種方法:

方法1:同步方法

方法2:異步方法+回調函數

注:

發送請求時加了參數"?t=" + Math.random()是為了防止接收到服務器的緩存頁面

對于Chrome瀏覽器,在發送HTTP請求時,如果進行跨域訪問,Chrome會提示請求被CORS協議阻止,但不影響數據的發送和接收

開源代碼

【網安學習資料】

完整代碼已開源,地址如下:

https://github.com/3gstudent/pyXSSPlatform

pyXSSPlatform可直接在命令行下運行,支持以下三個功能:

?GetCookie,獲得用戶Cookie,保存為.txt文件

?CaptureScreen,截取用戶屏幕,保存為.png文件

?GET/POST,控制用戶向指定地址發送http數據包,結果保存為.html文件

使用方法:

(1)通過openssl生成自簽名證書,命令示例:

(2)編輯文件index.js

填入要加載的js代碼,代碼模板可參考Payload_Template中的文件

(3)啟動WEB服務器,命令示例:

此時,XSS平臺的啟動地址如下:

https://192.168.1.1/index.js

可隨時修改index.js控制用戶執行不同的功能

小結

【網安學習資料】

本文介紹了通過Python搭建HTTPS服務器并在命令行實現XSS平臺的方法,開源工具pyXSSPlatform,操作方便,支持跨平臺運行,可進行二次開發。

【網絡安全學習資料-免費分享】

總結

以上是生活随笔為你收集整理的渗透工具开发——XSS平台的命令行实现的全部內容,希望文章能夠幫你解決所遇到的問題。

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