前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【愚公系列】2021年12月 攻防世界-简单题-WEB-007(simple_php)

【愚公系列】2021年12月 攻防世界-简单题-WEB-007(simple_php)

作者头像
愚公搬代码
发布2021-12-27 08:08:56
3350
发布2021-12-27 08:08:56
举报
文章被收录于专栏:历史专栏

文章目录


一、simple_php

题目链接:https://adworld.xctf.org.cn/task/task_list?type=web&number=3&grade=0&page=1

二、使用步骤

1.点击获取在线场景

在这里插入图片描述
在这里插入图片描述

2.源码分析

在这里插入图片描述
在这里插入图片描述
代码语言:javascript
复制
<?php
show_source(__FILE__);
include("config.php");
$a=@$_GET['a'];
$b=@$_GET['b'];
if($a==0 and $a){
    echo $flag1;
}
if(is_numeric($b)){
    exit();
}
if($b>1234){
    echo $flag2;
}
?>

分析一波 (1)这里包含了config.php

(2)url接收参数a和b的值

(3)如果$a等于0 and a , 输 出 a,输出a,输出flag1

(4)如果b 是 数 字 或 者 字 符 串 那 么 退 出 当 前 脚 本 ( 5 ) 如 果 b是数字或者字符串那么退出当前脚本 (5)如果b是数字或者字符串那么退出当前脚本(5)如果b>1234,输出f l a g 2 所 以 , 这 里 我 们 既 要 保 证 输 出 flag2 所以,这里我们既要保证输出flag2所以,这里我们既要保证输出a,b , 又 要 保 证 b,又要保证b,又要保证b是数字,那么就用到php的弱类型比较了

在浏览器上输入:http://111.200.241.244:65181/?a=c&b=2222a

在这里插入图片描述
在这里插入图片描述

得到完整flag:Cyberpeace{647E37C7627CC3E4019EC69324F66C7C}


总结

掌握php弱类型比较

php中其中两种比较符号:

==:先将字符串类型转化成相同,再比较 =:先判断两种字符串的类型是否相等,再比较 字符串和数字比较使用时,字符串会先转换为数字类型再比较

代码语言:javascript
复制
var_dump('a' == 0);//true,此时a字符串类型转化成数字,因为a字符串开头中没有找到数字,所以转换为0
var_dump('123a' == 123);//true,这里'123a'会被转换为123

var_dump('a123' == 123);//false,因为php中有这样一个规定:字符串的开始部分决定了它的值,如果该字符串以合法的数字开始,则使用该数字至和它连续的最后一个数字结束,否则其比较时整体值为0。
举例:
var_dump('123a1' == 123);//true
var_dump('1233a' == 123);//false
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2021/12/25 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 文章目录
  • 一、simple_php
  • 二、使用步骤
    • 1.点击获取在线场景
      • 2.源码分析
      • 总结
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档