无数字无字母RCE

无数字无字母RCE
这一篇我写的特别丑陋,推荐别点开。
https://www.leavesongs.com/PENETRATION/webshell-without-alphanum.html
常见的该类型代码如下:
1 | <?php |
核心思路,将非字母非数字的字符进行各种变换,最好构造出a-z任意一个字符。利用PHP允许动态函数执行的特点,拼接一个函数名,然后动态执行。
P神说了可以有三种方法实现
1、异或
PHP的字符串,两个字符串异或的结果是一个新的字符串。【我不明白其中原理
写写脚本吧
也可以像P神一样查出每个字母 拼接就好
1 |
|
方法三、
那么,如果不用位运算这个套路,能不能搞定这题呢?有何不可。
这就得借助PHP的一个小技巧,先看文档: http://php.net/manual/zh/language.operators.increment.php
也就是说,'a'++ => 'b'
,'b'++ => 'c'
… 所以,我们只要能拿到一个变量,其值为a
,通过自增操作即可获得a-z中所有字符。
那么,如何拿到一个值为字符串’a’的变量呢?
巧了,数组(Array)的第一个字母就是大写A,而且第4个字母是小写a。也就是说,我们可以同时拿到小写和大写A,等于我们就可以拿到a-z和A-Z的所有字母。
在PHP中,如果强制连接数组和字符串的话,数组将被转换成字符串,其值为Array
:
再取这个字符串的第一个字母,就可以获得’A’了。
- 本文标题:无数字无字母RCE
- 创建时间:2020-04-11 15:59:37
- 本文链接:2020/04/11/四月/无数字无字母RCE/
- 版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!