[MRCTF2020]Ez_bypass

BUUCTF在線評測BUUCTF 是一個 CTF 競賽和訓練平臺,為各位 CTF 選手提供真實賽題在線復現等服務。 https://buuoj.cn/challenges#[MRCTF2020]Ez_bypass啟動靶機

有提示F12,那查看一下源碼。和頁面顯示的代碼一樣的,就是格式更規范而已

include 'flag.php';
$flag='MRCTF{xxxxxxxxxxxxxxxxxxxxxxxxx}';
if(isset($_GET['gg'])&&isset($_GET['id'])) {$id=$_GET['id'];$gg=$_GET['gg'];if (md5($id) === md5($gg) && $id !== $gg) {echo 'You got the first step';if(isset($_POST['passwd'])) {$passwd=$_POST['passwd'];if (!is_numeric($passwd)){if($passwd==1234567){echo 'Good Job!';highlight_file('flag.php');die('By Retr_0');}else {  echo "can you think twice??"; }}else{   echo 'You can not get it !';}}else{ die('only one way to get the flag');}
}else { echo "You are not a real hacker!"; }
}else{  die('Please input first');}
}  You are not a real hacker!

代碼講述了get方法傳遞兩個參數 gg 和 id ,使得它們的MD5值 強相等(===),但它們本身值并不相同。

而且使用post方法傳遞了一個 passwd 參數,并且需要確保這個參數值不是純數字,還得使得參數值與 1234567 弱相等(==)

那么我們首先構造url傳參 :?gg[]=s878926199a&id[]=s155964671a

解釋一下:為什么這里我們參數傳遞的是數組,而不是直接傳遞字符串?

?

由于代碼要求兩個參數值的MD5值要 強相等(===)

? ? ? ? 如果我們傳遞的是?gg=s878926199a&id=s155964671a

? ? ? ? 那么這兩個值的MD5分別是

????????????????0e545993274517709034328855841020

????????????????0e342768416822451524974117254469

????????在進行比較時,這兩個值是不相等的,就會返回 false

??????? 然鵝當傳遞的值是數組時,進行MD5運算,兩個都會返回Null???

??????? null===null? 返回 true

?

如果,代碼中MD5值的比較使用的是 弱相等(==)

那么就可以直接傳遞字符串

??????? 原因是在弱比較時,php會將 0e 開頭的字符串解釋為科學計數法的 0。

????????并且如果 0e 后續全是數字的話,php會認為它們是相等的

再使用post方法傳遞 ? ? passwd=1234567\????

1234567\?

1234567a

1234567+

1234567-?

1234567* ?

都可以(不要使用 . 會被看成是小數點)

這樣寫 是因為使用的是弱相等?

當php看到一個字符串與一個數字進行弱比較時,它會將這個字符串看成一個數字,當讀取到非數字的部分它就會停止,所以這些非數字字符得放在1234567的后面

獲得flag{5ab68b16-b084-4f10-8530-06f5726d5f53}

?

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

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

相關文章

C/C++關鍵字——union

1.介紹union是一種特殊的數據類型,它允許你在同一塊內存區域中存儲不同的數據類型。它的主要目的是節省內存,尤其是在處理多種可能的數據類型,但一次只使用其中一種的場景。2.特點與 struct(結構體)不同,結…

2024 arXiv Cost-Efficient Prompt Engineering for Unsupervised Entity Resolution

論文基本信息 題目: Cost-Efficient Prompt Engineering for Unsupervised Entity Resolution 作者: Navapat Nananukul, Khanin Sisaengsuwanchai, Mayank Kejriwal 機構: University of Southern California, Information Sciences Institu…

【XR技術概念科普】什么是注視點渲染(Foveated Rendering)?為什么Vision Pro離不開它?

一、前言2023 年,蘋果推出了 Vision Pro 頭顯,把“空間計算”概念推向大眾。與以往的 XR 設備不同,Vision Pro 強調高分辨率、真實感與沉浸感。然而,這種體驗背后隱藏著一個巨大的技術挑戰:如何在有限的計算與能耗條件…

Qt 系統相關 - 1

雖然 Qt 是跨平臺的 C 開發框架,Qt 有很多能力其實是操作系統提供的,只不過 Qt 封裝了系統的 API程序時運行在操作系統上的,需要系統給我們提供支撐!事件文件操作多線程編程網絡編程多媒體(音頻,視頻&#…

“12306”有多牛逼?從架構師的角度詳細的告訴你

12306鐵路票務系統架構深度解析 📚 目錄 系統概述業務特點與技術挑戰整體架構設計核心技術架構高并發處理策略數據存儲與管理緩存體系設計分布式系統架構安全防護體系性能優化策略監控與運維技術演進歷程總結與展望 每到春節、國慶這種全民遷徙的時刻,…

數據采集機器人哪家好?2025 年實測推薦:千里聆 RPA 憑什么成企業首選?

在數字化轉型加速的今天,數據采集已成為企業運營的核心環節,數據采集機器人正在重構企業的效率邊界。2025 年中國 RPA 市場排名顯示,泛微旗下的千里聆 RPA 已躋身行業前五,成為中大型國央企的首選品牌。本文將通過三維評估體系&am…

基礎crud項目(前端部分+總結)

本人根據自己對前端微不足道的理解和 AI 老師的指導下,艱難地完成了基礎crud代碼的全棧開發,算是自己的第一個 Java 項目,對此做個簡單總結。 后端部分 在前后端分離開發中,前端負責頁面交互與數據展示,后端提供接口支…

MATLAB矩陣及其運算(二)函數

函數分為MATLAB內置函數及用戶自定義函數,用戶可以直接調用內置函數進行數據處理。內置函數的使用函數由三部分組成:名稱、輸入和輸出。內置函數示例:單輸入單輸出函數:sqrt(x);單輸入多輸出函數:size(x)&a…

自動化運維-ansible中對于大項目的管理

自動化運維-ansible中對于大項目的管理 一、引用主機清單 在Playbook中引用主機時,hosts 字段指定的目標必須與Ansible主機清單中定義的標識符完全匹配。如果清單中配置的是主機名,則在Playbook中使用IP地址或其他別名將無法匹配,導致任務被跳…

59_基于深度學習的麥穗計數統計系統(yolo11、yolov8、yolov5+UI界面+Python項目源碼+模型+標注好的數據集)

目錄 項目介紹🎯 功能展示🌟 一、環境安裝🎆 環境配置說明📘 安裝指南說明🎥 環境安裝教學視頻 🌟 二、數據集介紹🌟 三、系統環境(框架/依賴庫)說明🧱 系統環…

面試問題詳解十六:Qt 內存管理機制

在 Qt 開發過程中,很多初學者(包括不少有經驗的 C 程序員)經常會產生這樣的疑問:“我在 Qt 中 new 出來的控件好像都沒有 delete,那內存不會泄漏嗎?”比如下面這段代碼: void Widget::createLef…

Pycharm 試用

Ubuntu 重置Pycharm試用期限(30 天) 先關閉Pycharm刪除系統緩存 rm -rf ~/.config/JetBrains/ && rm -rf ~/.local/share/JetBrains/ && rm -rf ~/.cache/JetBrains/刪除已經安裝的 Pycharm 軟件運行目錄去官網下載新的 就行了

C++ Qt 開發核心知識

Qt 框架概述Qt 是一個跨平臺的 C 應用程序開發框架,廣泛用于開發圖形用戶界面程序。其核心特性包括跨平臺能力、豐富的功能模塊和強大的工具集。核心概念與機制元對象系統Qt 擴展了標準 C,通過元對象系統提供信號與槽機制、運行時類型信息和動態屬性系統…

net9 aspose.cell 自定義公式AbstractCalculationEngine,帶超鏈接excel轉html后背景色丟失

AbstractCalculationEngine 是 Aspose.Cells 中一個強大的抽象類,允許您自定義公式計算邏輯。當您需要覆蓋默認計算行為或實現自定義函數時非常有用。直接上代碼1. 創建自定義計算引擎using Aspose.Cells; using System;// 創建自定義計算引擎 public class CustomC…

如何監控員工的電腦?7款實用的員工電腦管理軟件,探索高效管理捷徑!

當銷售團隊在淘寶刷單、設計師用公司電腦挖礦、程序員頻繁訪問代碼托管網站時,企業損失的不僅是帶寬——低效、泄密、合規風險正成為隱形利潤殺手。 傳統管理依賴“人盯人”或抽查日志,但面對分布式辦公與遠程協作趨勢,這些方法早已力不從心…

機器視覺軟件--VisionPro、Visual Master,Halcon 和 OpenCV 的學習路線

Halcon 和 OpenCV區別 Halcon 和 OpenCV 都是計算機視覺領域的重要工具,但它們的設計理念、功能側重和適用場景有顯著不同。下面這個表格匯總了它們的核心區別,方便你快速了解: 開發模式與體驗??:Halcon 配備了強大的??圖形化…

算法-根據前序+中序遍歷打印樹的右視圖

題目請根據二叉樹的前序遍歷,中序遍歷恢復二叉樹,并打印出二叉樹的右視圖數據范圍: 0≤n≤100000≤n≤10000 要求: 空間復雜度 O(n)O(n),時間復雜度 O(n)O(n)如輸入[1,2,4,5,3],[4,2,5,1,3]時,通過前序遍歷…

Kafka面試精講 Day 7:消息序列化與壓縮策略

【Kafka面試精講 Day 7】消息序列化與壓縮策略 在Kafka的高性能消息系統中,消息序列化與壓縮是影響吞吐量、延遲和網絡開銷的核心環節。作為“Kafka面試精講”系列的第7天,本文聚焦于這一關鍵主題,深入剖析其原理、實現方式、配置策略及常見…

Xterminal軟件下載_Xterminal ssh遠程鏈接工具下載__Xterminal安裝包 網盤下載_Xterminal ssh遠程鏈接工具安裝包

Xterminal 作為一款國產 SSH 工具,專為開發人員量身打造。它支持 SSH 和 Telnet 協議連接遠程服務器與虛擬機,無論是進行代碼部署,還是服務器運維,都能輕松勝任。軟件界面采用極簡設計,黑色背景搭配白色文字&#xff0…

Lua > 洛谷

Lua > 洛谷P1000 超級瑪麗游戲P1001 AB ProblemP1008 [NOIP 1998 普及組] 三連擊P1035 [NOIP 2002 普及組] 級數求和P1046 [NOIP 2005 普及組] 陶陶摘蘋果P1047 [NOIP 2005 普及組] 校門外的樹P1085 [NOIP 2004 普及組] 不高興的津津P1089 [NOIP 2004 提高組] 津津的儲蓄計劃…