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的值。

相关推荐
余额瞒着我当琳1 分钟前
C++--vector第二讲:手写 C++ STL:vector 源码剖析与迭代器失效分析
android·java·c++
程序员-珍6 分钟前
安卓开发:同名 styles.xml 在不同分支/文件夹的合并规则
android·xml·前端
我命由我1234516 分钟前
Compose Codelab 学习 - Compose 中的基本布局
android·java·java-ee·kotlin·android studio·android-studio·android runtime
ii_best16 分钟前
手机自动化脚本按键精灵实战:随机布局安全数字键盘的自动化输入方案
android·运维·ios·自动化·手机
云水一下19 分钟前
零基础玩转bWAPP靶场(六十五):SQLiteManager XSS
web安全·xss·bwapp·sqlitemanager·cve-2012-5105·bee-box
2601_9657984728 分钟前
Boutique Business Consulting WordPress Architecture & SEO Setup
android·theme·wordpress
移动云开发者联盟28 分钟前
密态计算落地!MobileClaw解锁安全AI新范式
大数据·人工智能·安全
安科瑞-小李29 分钟前
SST 固态变压器如何构建安全防线?全域在线监测标准化配置方案
安全·新能源·固态变压器·sst
HackTwoHub37 分钟前
开箱即用 AI 渗透测试系统,整合多类AI工具、Web安全、内网攻防、二进制逆向、API测试、流量分析等多个安全领域
人工智能·安全·web安全·网络安全·系统安全·网络攻击模型·安全架构
三少爷的鞋1 小时前
Android 架构进阶:为什么项目越大,越需要把对象创建权拿走
android