一天一道ctf 第43天(php字符串异或取反绕过)

本文介绍了如何在遇到PHP环境限制时,通过编码技巧绕过限制执行命令。涉及了GET参数的eval执行,PHP函数禁用的绕过方法,以及使用蚁剑进行webshell连接和命令执行。在尝试过程中,作者发现并利用了github资源来下载绕过函数禁用的文件,但最终未能直接执行目标命令,提示了可能存在的进一步绕过策略。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

[极客大挑战 2019]RCE ME
点开题目就是源码

<?php
error_reporting(0);
if(isset($_GET['code'])){
   
   
            $code=$_GET['code'];
                    if(strlen($code)>40){
   
   
                                        die("This is too Long.");
                                                }
                    if(preg_match("/[A-Za-z0-9]+/",$code)){
   
   
                                        die
### CTF Web 文件上传 PHP 后缀绕过技巧 在CTF竞赛中,Web文件上传挑战通常涉及绕过后端对文件类型的验证以实现恶意脚本的运行。以下是几种常见且有效的PHP后缀绕过方法: #### 1. 利用大小写敏感性 某些服务器配置可能未严格区分文件扩展名的大写字母与小写字母。例如,在Linux环境下,默认情况下文件名是区分大小写的,但如果目标系统的过滤逻辑忽略了这一点,则可以通过修改文件扩展名为`.Php`、`.pHp`等形式来绕过检测[^5]。 #### 2. 使用双扩展名技术 部分应用程序仅检查最后一个扩展名是否合法(如.jpg),而忽略前面的内容。因此可以构造类似这样的文件名称:`shell.php.jpg` 或 `shell.php;.jpg` 。当这些文件被保存至特定路径并访问时,可能会触发PHP解释器执行其中嵌入的有效载荷[^1]。 #### 3. 修改MIME类型 一些框架不仅依赖于文件名判断合法性,还会依据HTTP请求头中的Content-Type字段决定处理方式。此时可尝试伪造合适的MIME类型提交给服务端,比如设置成image/jpeg却实际传送包含PHP代码的数据流[^4]。 #### 4. 配置特殊文件 利用Apache或其他webserver支持的一些特性文件来进行攻击也是一个不错的选择。例如创建一个user.ini或者.htaccess文件重新定义哪些应该被视为php脚本来解析和运行[^3]。另外还有像Sethandler指令那样强制指定某个资源按php标准对待[^2]。 #### 示例代码片段展示如何构建简单的测试payloads: ```php // Example Payload for .htaccess method <FilesMatch "muma\.jpg$"> SetHandler application/x-httpd-php </FilesMatch> <?php echo shell_exec('whoami'); ?> ``` 上述例子展示了怎样通过自定义规则让图片也能当作php程序被执行起来,并简单演示了一个命令注入样例用于获取当前用户的用户名信息。 ---
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值