php无字母数字rce绕过基础操作

1、 source命令

用法:source filename

表示在当前bash环境下读取并执行filename中的命令

该命令通常用命令"."来替代,即 . filename

2、?通配符

主要有星号(*)和问号(?),用来模糊搜索文件

星号"*"指代任意字符数,问号"?"指代1个字符

波浪线"~"则用来将问号和星号转换为普通字符,而不是作为通配符使用

比如我们要cat一个flag东西但是不知道具体名字,只知道以f开头

可以 cat /f* 则会匹配所有以f开头的文件

有时候还会遇到很多字母被过滤了也可以使用?来进行匹配

比如只能使用o这一个字母, /???/??oo?/??o? 就可以匹配到 /var/spool/cron(假设该路径存在)

3、<?=的用法

命令执行方式有:system('ls'); echo('ls');

<?= 是echo()的别名用法

所以 system('ls'); 还可以写成?><?=`ls`;

前面的 ?> 是为了闭合前面的php语句,后面则为执行命令的语句

4、``反引号

反引号``(tab键上面的那个)

在php中,反引号可以直接命令执行系统命令,反引号的作用是命令替换,将其中的字符串当成shell命令执行,返回命令的执行结果。反引号包括的字符串必须是能执行的shell命令,如果不是则会出错。

比如:<?= `ls` ?> 就会执行ls命令

但是如果想要输出执行结果还需要使用 echo 函数

<?php echo `ls`;?> 或者 <?= echo `ls`?>

5、 php标签

在php中,<? ?>称为短标签,<?php ?>称为长标签。

当关键字 "php" 被过滤了之后,此时我们便不能使用<?php ?>了,但是我们可以用另外两种短标签进行绕过,并且在短标签中的代码不需要使用分号(;)。

6、+在url中表示空格

url中的+表示空格,而要表示+号必须得用%2B,即URL编码

相关推荐
爱和冰阔落19 小时前
【Linux网络】JsonCpp 怎么实现序列化?从 Request/Response 到网络计算器消息设计
linux·运维·网络·php
eggwyw20 小时前
PHP8.5怎么用ffmpeg提取视频里的字幕轨道
开发语言·php
我叫黑大帅1 天前
PHP 常驻 Worker 中 MySQL 连接中断问题报告
后端·面试·php
国科安芯1 天前
人在回路中的总线:商业空间站环境控制与生命保障系统CANFD网络的可靠性与功能安全
网络·嵌入式硬件·安全·架构·php·抗辐射
不庸.2 天前
WPScan 实战入门:从 Docker 靶场到弱密码爆破
运维·安全·web安全·docker·容器·安全性测试·wpscan
码途行者2 天前
网站的SQL 注入:从攻击原理到防御措施
开发语言·sql·php
老秦包你会2 天前
计算机网络第二课 ----Socket(套接字)编程预备
开发语言·计算机网络·php
迪康coolmu2 天前
出差终端数据安全落地实战:基于迪康端点安全一体化管理系统的四道防线实践
运维·服务器·经验分享·笔记·其他·安全·php
普通人63 天前
PHP文件读写完全指南
开发语言·php·1024程序员节
vipxieliang3 天前
ThinkORM 3.0 入门:强类型模型定义与查询构造器
后端·php·thinkphp