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

关于手机的网站有哪些内容wordpress站群教程

关于手机的网站有哪些内容,wordpress站群教程,wordpress 去掉谷歌,住房和城乡建设部官网证件查询浅学一下吧~ 发开题目是这样的 最烦的就是代码审计&#xff0c;还是看得少 多审计两篇代码就好了&#xff08;还是因为自己会的不多&#xff09; <?php highlight_file(__FILE__);//将当前文件的源代码进行高亮显示 $key1 0;//将变量$key1的值初始化为0 $key2 0;//将变量…

浅学一下吧~

发开题目是这样的

最烦的就是代码审计,还是看得少 多审计两篇代码就好了(还是因为自己会的不多)

 <?php
highlight_file(__FILE__);//将当前文件的源代码进行高亮显示
$key1 = 0;//将变量$key1的值初始化为0
$key2 = 0;//将变量$key2的值初始化为0$a = $_GET['a'];//通过GET的方法传递的参数变量a和b的值赋给变量$a和$b
$b = $_GET['b'];if(isset($a) && intval($a) > 6000000 && strlen($a) <= 3){//判断变量$a的值是否存在且满足条件,$a的整数值大于6000000,且$a的长度小于等于3if(isset($b) && '8b184b' === substr(md5($b),-6,6)){//判断变量$b的值是否存在且满足条件,将$b进行MD5加密取后6位,并且与字符串'8b184b'进行比较$key1 = 1;}else{die("Emmm...再想想");//如果上面两个条件都满足,将变量$key赋值为1,否则输出“Emmmm..再想想” 并终止程序}}else{die("Emmm...");//如果有一个条件不满足,则输出Emmmm...
}$c=(array)json_decode(@$_GET['c']);//将通过GET方法传递的参数c进行json解码,并将结果转化为数组
if(is_array($c) && !is_numeric(@$c["m"]) && $c["m"] > 2022){//判断变量$c是否为数组且满足条件,$c["m"]不是数值且$c["m"]大于2022if(is_array(@$c["n"]) && count($c["n"]) == 2 && is_array($c["n"][0])){//判断$c["n"]是否为数组且满足条件,$c["n"]是一个包含两个元素的数组且$c["n"][0]是一个数组$d = array_search("DGGJ", $c["n"]);//在数组$c["n"]中搜索DGGJ(在遍历过程中)$d === false?die("no..."):NULL;//如果找不到则输出no..... 并终止程序(在遍历过程中)foreach($c["n"] as $key=>$val){//遍历数组$c["n"]的每个元素$val==="DGGJ"?die("no......"):NULL;//到这里如果还没有发现DGGJ,就将$key2的值设为1}$key2 = 1;}else{die("no hack");//如果遍历上边那两个条件都未满足,则输出no}
}else{die("no");//如果一个条件满足,另一个条件不满足则输出no
}if($key1 && $key2){include "Hgfks.php";echo "You're right"."\n";//如果$key1 和 $key2  的值都为1,则包含一个名为Hgfks.php的文件并且输出 You re right  输出flagecho $flag;
}?> 

开始做题

if(isset($a) && intval($a) > 6000000 && strlen($a) <= 3)

既然他说赋的值必须大于6000000且长度小于等于3

  我们可以看到当1e7的时候 数值就已经比6000000大了,所以1e7以上的柿子都可以 ,当然 长度必须是三位  1e7-1e9 都可以

当我们传参之后,页面也已经给了回显,说我们的传参是正确的

<?php
highlight_file(__FILE__);
for($b=1;$b<=100000;$b++){if(preg_match('/8b184b/',substr(md5($b),-6,6))){echo $b;echo "\n";echo md5($b);echo "\n";}
}              ?>

查找小于100000的数并且后6位与8b184b相同的数字,然后我们发现是53724,验证一下

然后拿着去传参

通过了上面两个条件但是下面的条件还没完成呢 所以输出no 证明到这里我们做的是对的

接着往下走然后就是过滤下面一条规则

传入一个参数c (这个参数已经被json解码)

他的条件是 不是数组 且大于2022

于是我们构造传参c=["m":"6666a"]

因为我们要逐级过滤 所以要先判断m,在判判断n

不是数组  我们就用数字加字符在一起绕过  数字只要比2022大就行  字符随便

发现返回 no hack  判定有效 接着往下走

if(is_array(@$c["n"]) && count($c["n"]) == 2 && is_array($c["n"][0]))

n的要求是:判断$c["n"]是否为数组且满足条件,$c["n"]是一个包含两个元素的数组且$c["n"][0]是一个数组

$c["n"]是一个包含两个元素的数组

"n":[[111],0]

c={"m":"6666a","n":[[111],0]}

然后拿着构造好的paylode去传参

然后flag就出来啦!

里面用到的函数

isset($a)  检查变量$a是否被设置
intval($a) 将变量$a转换成整数类型
strlen($a)  来计算$a的字符串长度
substr(md5($b),-6,6) 将$b进行md5加密,从倒数第6位开始取6位(后6位)
(array) 创建一个名为array的数组
json_decode(@$_GET['c'])  将get传入的参数c进行json解码并传入到数组中
!is_numeric判断是否为数值
count($c["n"])  计算$c["n"]中的数组的元素的个数
is_array($c["n"][0])判断$c["n"][0]是否是一个数组
array_search  在数组中搜索某个健值,并返回他的健名
 

经验还是欠缺,看来还得多练习练习!!!

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

相关文章:

  • 做英文网站有哪些功能性质网站有哪些网站
  • 中国空间站天宫课堂平板电脑网站模板
  • 合肥网站建设模板系统wordpress分类404
  • 教育系统网站建设深圳楼市最新消息
  • 广州做网站需要多少钱网站建设 哪家好
  • 廊坊永清网站建设wordpress有几张表
  • 安居客房产官方网站福州网站改版
  • 网站制作的评价标准广告优化师没经验怎么面试
  • 网站简繁体转换.rar小程序注册收费吗
  • 网站制作容易吗app网站平台搭建
  • 中国最大的手表网站几个好用的在线网站
  • 网站能带来什么seo关键词是怎么优化的
  • 石家庄网站建设报价郑州新一网站建设
  • 做cpa广告建什么网站好wordpress需要做哪些设置
  • 旅游景区网站建设网站的跟目录
  • 做app_需要先做网站吗东莞百度搜索网站排名
  • 上海建设网站的网站企业为什么要建立战略联盟
  • 猪八戒网仿照哪个网站做的做棋牌网站建设哪家好
  • 淘宝网站是用什么开发的html最简单的代码
  • 怎样制作网站和软件wordpress插件免费
  • 网站设计就业要求河南制作网站公司
  • 建设和住房保障部 网站网站放到iis如何做指向
  • 北京市文化局政务网站建设项目合肥宣传片制作公司六维时空
  • 大型网站是用哪种数据库做的组建网站
  • 大连智能模板建站上海做一个公司网站多少钱
  • 网站备案几年备案一次吗国内欣赏电商设计的网站
  • 泰安网站制作推广广东深圳宝安区
  • 网站空间注册建设网站的书籍
  • dw怎么切片做网站苏州做网站优化
  • 衡水做网站优化深圳专门做seo的公司