<menu id="guoca"></menu>
<nav id="guoca"></nav><xmp id="guoca">
  • <xmp id="guoca">
  • <nav id="guoca"><code id="guoca"></code></nav>
  • <nav id="guoca"><code id="guoca"></code></nav>

    【技術原創】滲透工具開發——XSS平臺的命令行實現

    VSole2021-07-19 10:02:02

    0x00 前言

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

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

    0x01 簡介

    本文將要介紹以下內容:

    ?設計思路

    ?實現細節

    ?開源代碼

    0x02 設計思路

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

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

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

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

    0x03 實現細節

    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協議阻止,但不影響數據的發送和接收

    0x04 開源代碼

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

    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控制用戶執行不同的功能

    xss命令行
    本作品采用《CC 協議》,轉載必須注明作者和本文鏈接
    本文介紹了通過Python搭建HTTPS服務器并在命令行實現XSS平臺的方法,開源工具pyXSSPlatform,操作方便,支持跨平臺運行,可進行二次開發。
    HW紅隊作戰工具
    2022-06-19 06:13:20
    本列表,收集一些在服務器上運行的一些工具,組建自動化,服務器長期掛跑項目 歡迎提issues,來豐富工作流程,比如自己挖洞時候的一些簡易流程,工具+調用命令, 在我的日常滲透中,我發現我重復調用幾個工具,但是不同的調用組合滲透的工作流程,有時候調用命令會忘記,所以有了這個列表,來達到幫助我記憶一些流程命令的文檔,未來還會細化過程,腳本小子福音了
    網上安全滲透測試工具整理全集,部分鏈接可能失效,但可以搜索到
    Web Hacking 101 中文版:https://wizardforcel.gitbooks.io/web-hacking-101/content/ 淺入淺出Android安全 中文版:https://wizardforcel.gitbooks.io/asani/content/ Android 滲透測試學習手冊 中文
    xss_vulnerability_challenges是一個針對XSS漏洞的挑戰和學習平臺,該項目包含了大量關于XSS安全漏洞的挑戰以及繞過樣例,可以幫助廣大研究人員更好地學習和研究XSS漏洞相關的安全問題,這個代碼庫本質上是一個容器化的PHP應用程序。
    超實用的網絡安全開源工具
    Headless Chrome是谷歌Chrome瀏覽器的無界面模式,通過命令行方式打開網頁并渲染,常用于自動化測試、網站爬蟲、網站截圖、XSS檢測等場景。
    0x00 簡介WAFNinja 簡介WAFNinja 是一款采用Python編寫的命令行工具。它通過自動化步驟來幫助滲透測試者來繞過WAF,而這些步驟對于繞過輸入驗證來說是必需的。
    從偶遇Flarum開始的RCE之旅
    一款功能強大的Web應用程序安全掃描工具
    VSole
    網絡安全專家
      亚洲 欧美 自拍 唯美 另类