CTF中PHP相关题目考点总结(二)

本文是CTF比赛PHP相关题目的总结,涵盖正则表达式匹配模式、变量覆盖、异常处理、变量名转换、逻辑运算符用法、文件系统操作、命令执行技巧等多个考点。通过实例解析,深入探讨了PHP在安全场景下的运用。

image.png

介绍

本篇文章主要总结了我在写ctfshow题目中遇到的关于PHP的考点。因为只总结知识点和考点会比较空洞,也不容易理解,所以我都是通过题目来总结考点,这样的话比较容易理解。

PHP特性相关考点

一、

考点:php正则表达式的匹配模式差异。

例题:

show_source(__FILE__);
include('flag.php');
$a=$_GET['cmd'];
if(preg_match('/^php$/im', $a)){           #/i表示不区分大小写,/m表示多行匹配
    if(preg_match('/^php$/i', $a)){
        echo 'hacker';
    }
    else{
        echo $flag;
    }
}
else{
    echo 'nonononono';
}

例题分析:

字符 ^ 和 $ 同时使用时,表示精确匹配,需要匹配到以php开头和以php结尾的字符串才会返回true,否则返回false
/m 多行匹配模式下,若存在换行\n并且有开始^或结束 符 的 情 况 下 , 将 以 换 行 为 分 隔 符 , 逐 行 进 行 匹 配 。 因 此 当 我 们 传 入 以 下 p a y l o a d 时 , 第 一 个 i f 正 则 匹 配 会 返 回 t r u e 。 但 是 当 不 是 多 行 匹 配 模 式 的 时 候 也 就 是 在 第 二 个 i f 正 则 匹 配 中 出 现 换 行 符 ‘ 符的情况下,将以换行为分隔符,逐行进行匹配。因此当我们传入以下payload时,第一个if正则匹配会返回true。但是当不是多行匹配模式的时候也就是在第二个if正则匹配中出现换行符`%0a`的时, payloadiftrueifcmd的值会被当做两行处理,因此当我们传入以下payload时,第二个if正则表达式匹配到的是aaaphp,不符合以php开头和以php结尾会返回false,从而echo出flag。

payload如下:

?cmd=aaa%0aphp            #%0a为换行符

【相关技术文档】

二、

考点:php变量覆盖。

例题:

<?php
highlight_file(__FILE__);
include('flag.php');
error_reporting(0);
$error='你还想要flag嘛?';
$suces='既然你想要那给你吧!';
foreach($_GET as $key => $value){
    if($key==='error'){
        die("what are you doing?!");
    }
    $$key=$$value;
}foreach($_POST as $key => $value){
    if($value==='flag'){
        die("what are you doing?!");
    }
    $$key=$$value;
}
if(!($_POST['flag']==$flag)){
    die($error);
}
echo "your are good".$flag."\n";
die($suces);
?>

例题分析:

这里利用的是变量覆盖,关键点在

key=key=

CTF(Capture The Flag)竞赛中的Web题目主要集中在测试参赛者对Web安全的理解和技术应用能力。这类题目通常模拟现实世界中的Web应用程序漏洞,并要求选手利用这些漏洞获取特定信息或控制权。以下是几个常见的Web CTF题目考点: ### 1. **SQL注入** - SQL注入是最经典的Web攻击之一。通过构造恶意输入,攻击者可以绕过身份验证、读取数据库内容甚至修改数据。例如,在登录页面提交特殊的用户名和密码组合,可能会导致查询结果返回所有用户的凭证。 ### 2. **跨站脚本 (XSS) 攻击** - XSS分为反射型和存储型两种形式。它发生在用户提供的不可信数据未经过滤直接嵌入到网页响应中时。成功的XSS攻击能够劫持会话、篡改页面显示或将受害者重定向至钓鱼网站等。 ### 3. **文件包含漏洞** - 当程序允许外部指定路径加载本地资源如配置文件、图片或其他PHP源码片段时可能发生LFI(Local File Inclusion),若还存在远程URL访问机制则形成RFI(Remote File Inclusion). 利用此缺陷可泄露敏感资料或者执行任意命令。 ### 4. **目录遍历与路径穿越** - 如果服务器端对于上传下载功能处理不当,则可能存在非法查看其他文件夹内文件的风险;同时借助“../”字符串拼接尝试突破限制范围内的访问约束条件。 ### 5. **弱认证&授权错误** - 系统未能正确实施权限管理策略可能导致普通用户越级操作受限接口;或者是某些关键流程缺少必要的次确认步骤使得整个业务逻辑变得脆弱不堪一击。 --- 为了更好地掌握上述知识点并提高解题效率,建议平时多关注网络安全领域的新动态及常见威胁模型,实践各类在线平台所提供的沙箱环境练习场景,积累经验的同时不断巩固理论基础。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值