Web安全攻防世界01 fileinclude(宜兴网信办)

复制代码
<html>
<head><meta http-equiv="Content-Type" content="text/html; charset=utf-8" /></head>
//规定 HTML 文档的字符集
 
<br />
<b>Notice</b>:  Undefined index: language in <b>/var/www/html/index.php</b> on line <b>9</b><br />
Please choose the language you want : English or Chinese
<h1>Hi,EveryOne,The flag is in flag.php</h1><html>
<head><meta http-equiv="Content-Type" content="text/html; charset=utf-8" /></head>
//页面显示内容,其中提示了language的设置与地址,flag所在地址。
 
<?php
if( !ini_get('display_errors') ) { //如果 环境变量未设置错误回显
  ini_set('display_errors', 'On'); //则 开启错误信息回显
  }
error_reporting(E_ALL); //报告所有类型的错误
$lan = $_COOKIE['language']; //将cookie中['language']的值赋予lan
if(!$lan) //如果变量 lan为0
{
	@setcookie("language","english"); //向客户端发送cookie(名称为"language",值为"english")
	@include("english.php"); //文件包含(调用文件"english.php")
}
else //若不满足上述条件
{
	@include($lan.".php"); //文件包含(调用变量$lan,添加后缀".php")
}
$x=file_get_contents('index.php'); //将文件 index.php的内容读入变量 x中
echo $x; //输出 变量x的值
?>
</html></html>

所以题目的关键在于达成这第15行的条件:

lan = _COOKIE'language';

在cookie中的内容language 会被传到变量lan,继而在第23行@include(lan.".php");被调用与执行,因此cookie变量中很适合写入读取flag.php的payload~

2)采用chrome的扩展工具hackbar 添加cookie的值;解题的思路与上面是一致的:F12调出开发者工具,操作步骤如下图就可以~

Name:cookie

Value:language=php://filter/read=convert.base64-encode/resource=/var/www/html/flag(不懂

根据提供的Value,它使用了一种特殊的编码方式,即base64编码。在这个设置中,它将文件/var/www/html/flag进行了base64编码,并将编码后的结果作为cookie的值。

相关推荐
画中有画11 小时前
软件架构中质量属性(性能、安全、可扩展性)的权衡设计
java·运维·安全
唐山柳林11 小时前
筑牢“数字堤坝”,守住安全底线——洞庭湖堤防安全监测平台为蓄滞洪区安上“智慧大脑”
安全
hoaxxcj12 小时前
零能力 Agent 骗过评测实测:朴素 harness 被骗 75%,加固后仍漏掉「抄答案」
网络·安全·大模型·工程化·ai实战
Tokenge12 小时前
AI 前沿日报|2026.08.19:模型安全按下减速键,智能体进入“可控落地”新阶段
人工智能·安全
Zach_菠萝侠13 小时前
【DeepSeek Harness 研究】进化方向4:安全加固 思考、设计与实现
开发语言·安全·deepseek
喜欢打篮球的普通人13 小时前
LLVM Backend Lowering 从入门到实战:把 IR 变成机器码的完整链路
android·java·数据库
猫咪宝妖13 小时前
【信息安全工程师】网络与信息安全理论
网络·安全·web安全
恒拓高科WorkPlus14 小时前
信创即时通讯上线前要验证哪些能力?BeeWorks选型与验证指南
大数据·安全
欧阳天羲14 小时前
【升级版】AI毫米波雷达扫描+视觉双鉴激光灭蚊机器人|360°全域侦测+超低误杀+人体安全防护(ESP32+YOLOv8全套开源)
人工智能·安全·机器人
进制树14 小时前
【飞控开发实战·⑲】ROS2无人机开发环境搭建:Jazzy安装、工作空间与hello_drone节点实战
开发语言·安全·无人机·课程设计