Bugku-CTF-web(適合初學者)

今天刷了一下?Bugku-CTF-web?的1-10題,比較簡單,比較娛樂,基本上看看源代碼就可以了,非常適合初學者。能夠學習到base64編碼,unicode編碼,dirb web目錄遍歷,SourceLeakHacker 備份文件遍歷,hackbar插件,wget 操作,git 操作,php 弱類型,md5 繞過等知識點。

ailx10

2001?次咨詢

4.9

網絡安全優秀回答者

互聯網行業 安全攻防員

去知乎ailx10 咨詢

1、滑稽

直接F12查看源代碼

2、計算器

F12查看源,發現限制了輸入長度

嘗試修改,發現修改不了值,繼續搜尋,發現code.js前端代碼中存在flag

3、alert

打開網頁就是彈框,F12也看不了

廢話不多說,view-source:直接強制查看源代碼

最后看到了一行注釋

<!-- &#102;&#108;&#97;&#103;&#123;&#54;&#54;&#48;&#49;&#54;&#49;&#52;&#50;&#50;&#99;&#102;&#99;&#100;&#51;&#57;&#48;&#51;&#54;&#102;&#98;&#101;&#97;&#49;&#55;&#97;&#48;&#49;&#52;&#54;&#102;&#54;&#101;&#125; --></script>  

直接Unicode解碼,拿到flag,也可以Python解碼

import htmlencoded_str = "&#102;&#108;&#97;&#103;&#123;&#54;&#54;&#48;&#49;&#54;&#49;&#52;&#50;&#50;&#99;&#102;&#99;&#100;&#51;&#57;&#48;&#51;&#54;&#102;&#98;&#101;&#97;&#49;&#55;&#97;&#48;&#49;&#52;&#54;&#102;&#54;&#101;&#125;"
decoded_str = html.unescape(encoded_str)print(decoded_str)

4、你必須讓他停下

F12能看到flag,也是一瞬間就沒有了,還是?view-source:?多刷幾次,就拿到flag了

5、頭等艙

查看源代碼:線索應該在請求頭里面

結果在響應頭中找到了 flag

6、GET

閱讀代碼,發一個GET請求就能拿到flag

7、POST

閱讀代碼,使用 Hackbar 提交一個POST請求,即可獲得flag

8、source

查看源代碼,拿到flag線索

flag{Zmxhz19ub3RfaGvyzSEHIQ==}

使用base64解碼,發現不是flag

嘗試目錄暴力破解

dirb http://114.67.175.224:12221/

可以發現存在?/.git/?目錄

使用wget 遞歸下載

wget -r http://114.67.175.224:12221/.git

使用 git reflog 查看歷史操作記錄

使用 git show 40c6d51 查看到 flag

9、矛盾

在 PHP 中,當你使用?==?進行比較時,如果比較的兩個值類型不同,PHP 會嘗試將它們轉換為相同的類型,然后再進行比較

10、備份是個好習慣

沒啥線索,根據題目,是有一個備份文件,暴力破解它

python3 SourceLeakHacker.py -u http://114.67.175.224:12717/

查看備份的php代碼

<?php
/*** Created by PhpStorm.* User: Norse* Date: 2017/8/6* Time: 20:22
*/include_once "flag.php";
ini_set("display_errors", 0);
$str = strstr($_SERVER['REQUEST_URI'], '?');
$str = substr($str,1);
$str = str_replace('key','',$str);
parse_str($str);
echo md5($key1);echo md5($key2);
if(md5($key1) == md5($key2) && $key1 !== $key2){echo $flag."取得flag";
}
?>

要拿到 flag,需要滿足條件?md5($key1) == md5($key2) && $key1 !== $key2

這意味著?$key1?和?$key2?的 MD5 哈希值必須相同,但?$key1?和?$key2?本身不能相同。[1]

http://114.67.175.224:12717/?kkeyey1=QNKCDZO&kkeyey2=240610708

寫個PHP腳本,輸出專屬ailx10的字符串,哈希結果是以0e開頭,后面跟著純數字

  • md5(ailx10597395974) = 0e607193511294857832340276123482
  • md5(ailx101258820612) = 0e410179301007418220015365512318
<?php
function findMD5Collision($prefix) {// 循環嘗試不同的字符串for ($i = 0; $i < pow(10, 12); $i++) {// 生成一個候選字符串$candidate = $prefix . $i;// 計算 MD5 哈希值$md5 = md5($candidate);// 檢查哈希值是否符合要求if (preg_match("/^0e[0-9]{30}$/", $md5)) {echo $candidate;return $candidate; // 返回符合條件的字符串}}return false; // 如果沒有找到,則返回 false
}$prefix = "ailx10"; // 我們希望字符串以 "ailx10" 為前綴
$string = findMD5Collision($prefix);
if ($string !== false) {echo "找到的字符串: " . $string . "\n";echo "MD5 哈希值: " . md5($string) . "\n";
} else {echo "未找到符合條件的字符串。\n";
}
?>

參考

  1. ^md5繞過(Hash缺陷)?php 弱類型總結 - Mrsm1th - 博客園

發布于 2024-10-06 07:42?江蘇?

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

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

相關文章

【實時Linux實戰系列】基于實時Linux的音頻處理應用開發

在實時系統中&#xff0c;音頻處理應用&#xff08;如實時音頻效果處理、語音通信等&#xff09;需要低延遲和高精度的時間控制。實時Linux通過優化內核調度和提供高效的I/O操作&#xff0c;能夠滿足音頻處理對實時性的嚴格要求。掌握基于實時Linux的音頻處理應用開發對于開發者…

Linux中信號的三種產生方式

在 Linux 中&#xff0c;信號&#xff08;Signal&#xff09;是一種進程間通信的機制&#xff0c;用于通知進程發生了某種事件。理解信號的來源對于開發可靠、健壯的程序至關重要。本文將介紹三種常見的信號產生方式&#xff0c;包括&#xff1a;kill 命令、鍵盤輸入&#xff0…

Android15啟動icon界面的背景圖顏色

Android15啟動icon界面的背景圖顏色 在一加Ace 5啟動時有個圖標在中間的&#xff0c;它界面的背景圖是灰色的&#xff0c;不好看&#xff0c;想改為白色。 解決方案&#xff1a; 在app下的AndroidManifest.xml文件的<application這個標簽的android:theme增加&#xff1a;…

用福昕閱讀器打開pdf文件,整個程序窗口自動縮小的問題

原因&#xff1a; 這個問題&#xff0c;其實是pdf自帶了某個縮放比例&#xff0c;與窗口的比例不一致&#xff0c;因此會進行窗口縮放。 解決方法: 用acrobat&#xff08;我沒有找到如何用福昕閱讀器進行設置的方法&#xff09;&#xff0c;打開【文檔屬性】&#xff0c;然后打…

Windows環境Browser-Use平臺部署與AI自動化遠程訪問實現過程

文章目錄 前言1. 安裝Ollama2. Gemma3模型安裝與運行3. 虛擬環境準備3.1 安裝Python3.2. 安裝conda 4. 本地部署Brower Use WebUI4.1 創建一個新conda環境4.2 克隆存儲庫4.3 安裝依賴環境4.4 安裝瀏覽器自動化工具4.5 修改配置信息 5. 本地運行測試6. 安裝內網穿透6.1 配置公網…

React + Umi(Umijs/Max) 搭建項目及配置

文章標題 01 環境準備02 快速構建2.1 參數選項2.2 umix 還是 umijs/max2.3 使用 pnpm &#xff08;推薦&#xff09;2.4 使用 npm 和 yarn2.5 啟動項目2.6 啟用 Prettier&#xff08;可選&#xff09;2.7 打包部署發布 03 Tailwind CSS 插件&#xff08;可選&#xff09;3.1 安…

JDK 17 中 java.lang.System 常用方法及應用場景

概述 java.lang.System 在 JDK 17 中依然是最核心的系統交互類之一。以下是針對 JDK 17 的常用方法詳解&#xff0c;包含新特性和最佳實踐。 一、標準 I/O 流&#xff08;更新至 JDK 17&#xff09; 1. 控制臺輸出 // 傳統輸出方式&#xff08;仍然可用&#xff09; System…

深入探究Manticoresearch Java API:新增與查詢文檔實戰

引言Java 項目集成 Manticoresearch新增文檔操作查詢文檔操作 SQL 查詢API 查詢 總結 引言 Manticore Search 是一個使用 C 開發的高性能搜索引擎&#xff0c;創建于 2017 年&#xff0c;其前身是 Sphinx Search。它顯著改進了 Sphinx 的功能&#xff0c;修復了數百個錯誤&am…

Linux遠程機器無法連接-------解決方案

筆者這幾天碰到linux機器遠程ssh 無法連接的情況 背景分析 筆者在linux機器進行測試的時候&#xff0c;偶發突然無法連接機器&#xff0c;如下圖所示&#xff0c;vscode的遠程連接也無法進行。 telnet也無法登錄。 解決方案 筆者的登錄場景是這樣的&#xff0c;所以懷疑是…

網絡模型中,應用層支持什么協議

在網絡模型中&#xff08;無論是 OSI 七層模型 還是 TCP/IP 四層模型&#xff09;&#xff0c;應用層 是最頂層&#xff0c;直接為用戶或應用程序提供網絡服務接口。它支持的是各種具體的應用程序協議&#xff0c;這些協議定義了特定類型應用程序如何進行通信和數據交換。 以下…

比特幣序數理論與銘文的終極指南

引言&#xff1a;比特幣網絡的意外趨勢 去年&#xff0c;比特幣網絡上出現了一個意外的趨勢——這一趨勢令許多比特幣純粹主義者感到憤怒和驚訝&#xff0c;但同時也在更廣泛的加密貨幣社區中點燃了對這個行業最古老、最安全區塊鏈的希望和熱情。 這個趨勢涉及銘文&#xff0…

C/C++ DLL 動態鏈接庫的開發與示例詳解

簡介 介紹 QT6&#xff0c;DLL 動態鏈接庫的開發&#xff0c;開發示例 詳細 DLL 入口函數 DllMain 是每個 dll 的入口函數&#xff0c;可以寫&#xff0c;也可以不寫&#xff0c;不影響其他庫函數運行。如果使用此函數需要包含頭文件#include <objbase.h>。 BOOL WI…

在 CentOS 7 上基于 Docker 的 LNMP 部署 Hexo

時間起因是因為之前BLOG沒有備份數據都丟失了,今天在和朋友聊天的時候討論到到底使用Hexo還是用Halo?最后還是想熟悉下這兩種博客的架設和部署方式,每次部署都有各種不同的問題,旨在提升自己的學習認知。以此有機會得到更多大佬們的指導~ 因為我是在 CentOS 7 服務器上使用…

《Go小技巧易錯點100例》第三十六篇

本期分享&#xff1a; 1.使用gops獲取正在運行的Go進程 2.將靜態文件編譯到Go程序中 3.Go語言通過多重賦值實現變量值交換 使用gops獲取正在運行的Go進程 在 Go 語言開發中&#xff0c;進程診斷和性能分析是保障服務穩定性的關鍵環節。Google 開源的 gops [https://github.…

Idea新UI

輕松上手Idea新UI&#xff1a;開啟高效編程新體驗 在軟件開發領域&#xff0c;IntelliJ IDEA一直以其強大的功能和出色的性能深受開發者喜愛。而其推出的new ui&#xff0c;更是為我們帶來了全新的操作體驗&#xff0c;進一步提升了開發效率。今天&#xff0c;就來詳細講講如何…

QML\QtQuick\QtWidgets適合的場景及其優缺點

在Qt框架中&#xff0c;QML、QtQuick和QtWidgets是三種不同的UI開發技術&#xff0c;各有其適用場景和優缺點。以下是它們的對比分析&#xff1a; 1. QtWidgets 適用場景&#xff1a; 傳統的桌面應用程序&#xff08;Windows/macOS/Linux&#xff09;。 需要復雜控件&#xf…

Spring Boot 2.x 項目搭建 (二)

因為Spring Boot 2.x 項目搭建 &#xff08;一&#xff09;訪問 start.spring.io 或通過IDE&#xff08;如IntelliJ IDEA&#xff09;的Spring Initializr向導創建項目時&#xff0c;只能使用jdk17以上的版本&#xff0c;這里我需要兼容老項目需要JDK1.8&#xff0c;所以進行一…

Python 前端框架/工具合集

前言 Python 本身并不是為前端開發而設計的語言&#xff0c;但確實有一些 Python 框架可以“變相”地用于前端開發&#xff0c;比如生成 HTML、控制前端頁面邏輯&#xff0c;甚至可以直接運行在瀏覽器中。 目標 本文將對常見的使用python實現的前端框架&#xff0c;先做一個…

Swagger 在 Spring Boot 中的詳細使用指南

Swagger 是一個強大的 API 文檔生成工具&#xff0c;在 Spring Boot 項目中主要通過 springdoc-openapi 庫實現。下面我將詳細講解 Swagger 的配置、注解使用和高級功能。 一、基礎配置 1. 添加依賴 在 pom.xml 中添加&#xff1a; xml 復制 下載 運行 <dependency&…

群暉如何開啟及使用ssh:小白用戶上手指南-家庭云計算專家

最近很多用戶希望提供群暉下onlyoffice的安裝服務,但是很多都是萌新小白,不知道怎么啟用ssh和使用ssh客戶端.這里提供簡單的方法,統一答復: 重要的事情說3遍:一定不要自己發揮,全部按說明的來;一定要在內網環境用內網ip訪問;不要用域名和端口號,謝謝各位萌新了!!! 一、ssh啟用…