个人网站域名快速备案流程,wordpress wp(),网站空间控制,企业网站wap源码1.fileinclude,难度#xff1a;1,方向#xff1a;Web
题目来源:宜兴网信办
题目描述:无
给一下题目链接#xff1a;攻防世界Web方向新手模式第16题。
打开一看给了很多提示#xff0c;什么language在index.php的第九行#xff0c;flag在flag.php中#xff0c;但事情显…1.fileinclude,难度1,方向Web
题目来源:宜兴网信办
题目描述:无
给一下题目链接攻防世界Web方向新手模式第16题。
打开一看给了很多提示什么language在index.php的第九行flag在flag.php中但事情显然不会这么简单果然无论是输入flag.php还是index.php都是没有用的。 遇事不决按F12打开开发者工具果然暗藏了一段PHP语句 好吧我又遇到知识盲区了现在我又打开大佬的writeup来摆烂了同时借助GPT来分析。
代码分析 错误显示设置: php if( !ini_get(display_errors) ) { ini_set(display_errors, On); } error_reporting(E_ALL); 这部分代码首先检查 PHP 配置中是否打开了错误显示。如果没有则将其打开。接着设置错误报告级别为 E_ALL意味着将报告所有类型的错误。 处理 Cookie: php $lan $_COOKIE[language]; if(!$lan) { setcookie(language,english); include(english.php); } else { include($lan..php); } 该代码获取名为 language 的 Cookie 值。如果该值不存在则会设置默认语言为 english 并包含 english.php 文件。如果 Cookie 已存在则会根据 Cookie 的值包含对应的语言文件例如 spanish.php、french.php 等等具体取决于该 Cookie 的值。 读取和输出文件内容: php $xfile_get_contents(index.php); echo $x; 这部分代码使用 file_get_contents 函数读取当前目录下的 index.php 文件的内容并将其内容输出到页面。
潜在问题 文件包含漏洞: 该代码存在潜在的文件包含漏洞尤其是在 include($lan..php); 行。如果 $lan 的值不是经过严格验证的攻击者可能会利用此针对文件包含的漏洞来包含任意文件甚至可能导致代码执行。例如如果攻击者能够设置 Cookie 值为 ../../../../../etc/passwd假设是个类 Unix 系统就可能导致服务器包含一个敏感文件进而泄露信息。 安全性问题: 在使用 include 时不应该直接使用来自用户输入的数据应该对输入进行验证和过滤防止包含恶意文件。小心使用 符号它会抑制错误信息的输出可能会掩盖潜在的问题增加调试难度。 不安全的错误显示: 虽然在某些情况下显示错误有助于调试但在生产环境中开启错误显示可能会泄露敏感信息。
说人话就是利用语句中的cookie竟然敢随便接收数据好好构造一番然后利用下方的包含语句来让flag.php文件内容显示。 php://filter 是php中独有的一个协议可以作为一个中间流来处理其他流可以进行任意文件的读取。
大佬原话
在这里readconvert.base64-encode 意味着将文件内容进行 Base64 编码从而使文件内容变成可读的字符串。而 resourceflag 指定了要读取的文件为名为 flag 的文件这里假设存在这个文件。
因此在这种情况下如果攻击者能够成功将 cookie 的值设置为 php://filter/readconvert.base64-encode/resourceflag那么当代码执行到 $_COOKIE[language] 这行时将会读取(方式:php://filter) flag 文件的内容并对其进行 Base64 编码后输出到页面上。
这种攻击方式称为 “PHP 命令注入”并且它能够导致严重的安全问题因此在编写代码时要进行必要的输入校验和过滤以避免此类攻击。
说人话构造以下的cookie
cookie:languagephp://filter/readconvert.base64-encode/resourceflag
这样php语句
include($lan..php);
实际上执行的是
php
include(php://filter/readconvert.base64-encode/resourceflag.php); 解决过程
使用软件 Burp 对发出去的数据包进行抓取burpsuite抓包详细操作在笔记8CTF攻防世界小白刷题自学笔记8-CSDN博客安装详细操作在笔记5CTF攻防世界小白刷题自学笔记5-CSDN博客 解密得到 flag 利用hackbar的解码功能得到flag。hackbar的安装和使用请参考我的笔记6第二题CTF攻防世界小白刷题自学笔记6-CSDN博客