關于assert()函數,eval()函數,include

一.assert()函數

例子

assert("strpos('$file', '..') === false") or die("Detected hacking attempt!");assert("file_exists('$file')") or die("That file doesn't exist!");

第一個是會檢驗$file是否有.. ,如果有strpos會返回true,true和false不相等會返回false,最后會終止程序返回Detected hacking attempt!

assert()函數是 PHP 中的一個調試函數,用于在代碼中設置斷言檢查。

assert中的參數要是字符串很可能會被當做php代碼進行執行

二.eval()函數

eval()函數在php中會將參數中的字符串當作php代碼執行。

但是開發中很少使用,他的用法很多都會被其他替代,常見的用法是我們去上傳具有該函數的文件,進而去滲透。像我們在面對ssti漏洞(模板注入漏洞)中會去找子類的eval,但是這邊的是python的,而不是php的,但是python中的可以僅限單個表達式,所以還要配合其他函數進行,而php中的可以任意執行。

三.include()函數

內容:include?是 PHP 中用于包含并運行指定文件的重要函數,它在動態網頁開發中非常常用,但也存在一些安全風險需要注意。

include()的參數一般都是:文件名或者文件路徑(url),常常利用協議去進行滲透

關系對比:

函數構造命令執行代碼執行PHP 5.xPHP 7.2+
assert(system()')??雙重執行僅執行命令
eval('system()')??執行命令僅表達評估
特性eval($_REQUEST['cmd'])include()
執行方式直接執行字符串中的PHP代碼包含并執行指定文件內容
輸入要求需要輸入完整PHP代碼需要文件路徑或可解析的URI
利用復雜度高(需構造有效PHP語法)中(需控制文件路徑或利用協議)
隱蔽性高(無文件落地)低(需存在可訪問的惡意文件)
PHP版本影響全版本有效allow_url_include配置影響
特性eval($_GET['cmd'])assert($_GET['cmd'])
執行機制直接執行字符串中的PHP代碼在傳統模式下會執行字符串代碼
PHP 5.x行為執行代碼執行代碼
PHP 7.0-7.1行為執行代碼默認執行代碼(傳統模式)
PHP 7.2+行為執行代碼默認不執行代碼(表達式模式)
返回值返回執行結果返回布爾值(斷言是否成功)
設計用途動態代碼執行調試斷言
危險等級🔴 極高風險PHP <7.2: 🔴 極高風險
PHP ≥7.2: 🟡 中風險

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

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

相關文章

ICT模擬零件測試方法--電位器測試

ICT模擬零件測試方法–電位器測試 文章目錄ICT模擬零件測試方法--電位器測試電位器測試電位器測試配置電位器測試配置電位器測試注意事項電位器測量選項電位器測試 電位器測試測量從 0.1 歐姆到 10M 歐姆的電阻。 本節介紹&#xff1a; 電位器測試配置電位器測試注意事項電位…

wsl2使用宿主機網絡方法

在Windows的資源管理器的地址欄輸入&#xff1a; %UserProfile% &#xff0c;即可打開當前用戶的主目錄&#xff0c;創建文件&#xff1a; .wslconfig 輸入[experimental]networkingModemirroredautoProxytrue之后重啟WSL 管理員身份運行PowerShell&#xff1a; 停止WSL&#x…

當Windows遠程桌面出現“身份驗證錯誤。要求的函數不受支持”的問題

當Windows遠程桌面出現“身份驗證錯誤。要求的函數不受支持”的問題時&#xff0c;可以參考以下方法解決&#xff1a;修改組策略設置適用于Windows專業版、企業版等有組策略編輯器的系統。1. 按下WinR組合鍵&#xff0c;輸入“gpedit.msc”&#xff0c;打開本地組策略編輯器。2…

零售新范式:開源AI大模型、AI智能名片與S2B2C商城小程序源碼驅動下的圈層滲透革命

摘要&#xff1a;在消費圈層化與渠道碎片化的雙重沖擊下&#xff0c;傳統零售渠道的"廣撒網"模式逐漸失效。阿里巴巴零售通、京東新通路、國美Plus等零售巨頭通過技術賦能重構小店生態&#xff0c;但其本質仍停留于供應鏈效率提升層面。本文創新性提出"開源AI大…

電池自動生產線:科技賦能下的高效制造新范式

在當今科技飛速發展的時代&#xff0c;電池作為眾多電子設備和新能源產業的核心部件&#xff0c;其生產效率與質量至關重要。電池自動生產線的出現&#xff0c;猶如一場及時雨&#xff0c;為電池制造行業帶來了全新的變革與發展機遇。自動化流程&#xff0c;開啟高效生產之門傳…

CS224n:Word Vectors and Word Senses(二)

目錄 一、共現矩陣 1.1 基于共現矩陣的詞向量 二、SVD分解 2.1 基于共現矩陣的詞向量 vs. Word2Vec詞向量 三、GloVe詞向量 3.1 GloVe詞向量的好處 3.2 GloVe的一些結果展示 部分筆記來源參考 Beyond Tokens - 知乎 (zhihu.com) NLP教程(1) - 詞向量、SVD分解與Word2V…

I Built an Offline-Capable App by Myself: React Native Frontend, C# Backend

This isn’t a story about gluing together a few UI components. It’s about how I, as a solo developer, built a complete mobile application that works offline, syncs data automatically when online, and shares a unified backend with a web-based admin panel. …

在Idea中,配置maven

? 哈嘍&#xff0c;屏幕前的每一位開發者朋友&#xff0c;你們好呀&#xff01;?? 當你點開這篇文章時&#xff0c;或許正對著 IDE 里閃爍的光標發呆&#xff0c;或許剛解決一個卡了三天的 bug&#xff0c;正端著咖啡松口氣 —— 不管此刻的你在經歷什么&#xff0c;都想先和…

mac 字體遍歷demo

文章目錄邏輯字體類頭文件實現文件使用文件主程序CMakeLists文件腳本文件邏輯字體類 #ifndef LOGICAL_FONT_H #define LOGICAL_FONT_H#include <string> #include <memory> #include <CoreText/CoreText.h> #include <CoreFoundation/CoreFoundation.h&g…

2025牛客多校第六場 D.漂亮矩陣 K.最大gcd C.棧 L.最小括號串 個人題解

L.最小括號串 #數組操作 #貪心 題目 思路 感謝Leratiomyces大佬賽時的提示&#xff0c;否則估計還一直簽不了到&#xff08;&#xff09; 首先&#xff0c;貪心地構造出最優情況&#xff1a;數組左半部分全是(&#xff0c;右半部分全是)&#xff0c;隨后通過判斷給定的區間…

Ubuntu搭建PX4無人機仿真環境(5) —— 仿真環境搭建(以Ubuntu 22.04,ROS2 Humble 為例)

目錄前言1. 準備下載源碼方式一&#xff1a;方式二&#xff1a;安裝依賴安裝 Gazebo2. 安裝 Micro XRCE-DDS Agent3. 編譯4. 通信5. offboard 測試參考前言 本教程基于 ROS2 &#xff0c;在搭建之前&#xff0c;需要把 ROS2、QGC 等基礎環境安裝配置完成。但是這塊的資料相比較…

自動駕駛中的傳感器技術11——Camera(2)

1、自駕Camera關鍵技術點匯總 ADAS Camera 關鍵技術點摘選&#xff08;IEEE-P2020工作組&#xff09;如下&#xff1a; Ref &#xff1a; 5. IEEE 相關標準 - 圖像質量與色彩技術知識庫 https://www.image-engineering.de/content/library/white_paper/P2020_white_paper.pd…

福彩雙色球第2025088期籃球號碼分析

蔡楚門福彩雙色球第2025088期籃球號碼分析&#xff0c;上期開出籃球號碼數字08&#xff0c;數字形式是合數偶數2路球數字&#xff0c;小號區域&#xff0c;0字頭數字。本期籃球號碼分析&#xff0c;4尾數0414遺漏9期上次遺漏11期&#xff0c;2尾數0212遺漏4期上次遺漏27期&…

【兆易創新】單片機GD32F103C8T6系列入門資料

GD32F103xx 系列器件是一款基于ARM Cortex-M3 RISC內核的32位通用微控制器&#xff0c;在處理能力、降低功耗和外設方面具有超優的性價比。Cortex-M3是下一代處理器核心&#xff0c;它與嵌套矢量中斷控制器(NVIC)&#xff0c; SysTick計時器和高級調試支持緊密耦合。 GD32F103…

高效輕量的C++ HTTP服務:cpp-httplib使用指南

文章目錄httplib介紹與安裝使用案例httplib介紹與安裝 C HTTP 庫&#xff08;cpp-httplib&#xff09;是一個輕量級的 C HTTP 客戶端/服務器庫&#xff0c;它提供了簡單的 API 來創建 HTTP 服務器和客戶端&#xff0c;支持同步和異步操作。以下是一些關于cpp-httplib 的主要特…

24 SAP CPI 調用SAP HTTP接口

SAP CPI 訪問SAP接口一般用RFC或者HTTP,個人在項目中兩種方法都用過,最后還是傾向于HTTP的方式,此方式易于維護,統一管理,接口搭建比較方便。 讀者朋友可網上自行搜索"SAP 發布HTTP接口",SAP CPI調用SAP發布的HTTP接口。 配置CPI接口前,需要將CPI的證書導入…

C/C++常用字符串函數

一、字符串函數介紹&#xff1a; 字符串作為程序中常用的數據類型&#xff0c;學會對字符串進行處理是作為一名C/C程序員的基本功&#xff0c;我們要學會使用相關函數&#xff0c;并且對重點函數要會自己手動實現&#xff08;下文對重點函數有實現代碼以及相關示例&#xff09…

YOLO的Python實現以及 OpenCV

YOLO的Python實現以及 OpenCV Darknet 實現 YOLO 從頭開始開發 YOLO模型不容易&#xff0c;所以我們要使用預訓練模型在項目里進行目 標檢測。你可以在 https://pjreddie.com里到所有可用的預訓練模型。這是 Joseph C. Redmon的主頁&#xff0c;他是 Darknet的維護者。 注意 …

譯|Netflix 數據平臺運營中基于機器學習自動修復系統

來自上傳文件中的文章《Evolving from Rule-based Classifier: Machine Learning Powered Auto Remediation in Netflix Data Platform》 本文介紹了Netflix如何將基于規則的錯誤分類器與機器學習服務集成&#xff0c;實現Spark作業失敗的自動修復。技術亮點包括結合規則和ML智…

PAES算法求解 ZDT1 雙目標優化問題

前言 提醒&#xff1a; 文章內容為方便作者自己后日復習與查閱而進行的書寫與發布&#xff0c;其中引用內容都會使用鏈接表明出處&#xff08;如有侵權問題&#xff0c;請及時聯系&#xff09;。 其中內容多為一次書寫&#xff0c;缺少檢查與訂正&#xff0c;如有問題或其他拓展…