攻防世界-fileinclude

这篇具有很好参考价值的文章主要介绍了攻防世界-fileinclude。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

题目信息

攻防世界-fileinclude,安全

分析过程

题目说flag在flag.php中,通过ctrl+uc查看源码,考虑文件上传漏洞。源码如下图所示:
攻防世界-fileinclude,安全源码如下:

<html>
<head><meta http-equiv="Content-Type" content="text/html; charset=utf-8" /></head>

<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>

<?php
if( !ini_get('display_errors') ) {
  ini_set('display_errors', 'On');
  }
error_reporting(E_ALL);
$lan = $_COOKIE['language'];  //lan的值是cookies中key为language的值(因此要给lan赋值)
if(!$lan) //如果lan的值不为0
{
	@setcookie("language","english");
	@include("english.php"); //则执行english.php
}
else
{
	@include($lan.".php");
}
$x=file_get_contents('index.php');
echo $x;
?>
</html></html>

大意是取cookies中lan的值,如果不是0,则执行cookies中名为english的php

相关知识

  • php://filter

php://filter 是一种元封装器, 设计用于数据流打开时的筛选过滤应用。 这对于一体式(all-in-one)的文件函数非常有用,类似 readfile()、 file() 和 file_get_contents(), 在数据流内容读取之前没有机会应用其他过滤器。

php://filter 目标使用以下的参数作为它路径的一部分。 复合过滤链能够在一个路径上指定。详细使用这些参数可以参考具体范例。

攻防世界-fileinclude,安全

解题过程

1、使用burpsite进行抓包,观察到包中不存在cookies,因此考虑进行组装cookies

攻防世界-fileinclude,安全
攻防世界-fileinclude,安全在此处设置,
Name:language
Value:php://filter/read=convert.base64-encode/resource=/var/www/html/flag
其中:

  • php://filter/read=执行文件读取功能(也就是规定读取的位置)
  • convert.base64-encode执行Base64编码功能
  • /resource=/var/www/html/flag填写flag.php所在的地址,本题在源码的第5行“language in /var/www/html/index.php”
  • 源码第23行的内容(@include($lan.“.php”); ),在上传参数时代码会附带后缀.php,所以此处不需要写为 ‘/var/www/html/flag.php’

2、添加好cookies后,报文如下图所示:
攻防世界-fileinclude,安全
3、组装好后,进行发送,下图为回显攻防世界-fileinclude,安全
4、对回显结果进行decode,可以看到flag

攻防世界-fileinclude,安全文章来源地址https://www.toymoban.com/news/detail-854902.html

到了这里,关于攻防世界-fileinclude的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • CTF wed安全(攻防世界)练习题

    进入网站如图: 翻译:在这个小小的挑战训练中,你将学习Robots exclusion standard。网络爬虫使用robots.txt文件来检查它们是否被允许抓取和索引您的网站或只是其中的一部分。 有时这些文件会暴露目录结构,而不是保护内容不被抓取。 好好享受吧!   步骤一: 进入robots.txt文

    2024年04月17日
    浏览(43)
  • Web安全攻防世界05 easyphp(江苏工匠杯)

    题目是这个样子的: 发现自己编辑的东西有一部分没有被发出来,怪不得阅读量低到可怜...现在重新补上一些内容,解题过程很罗嗦,对小白依然友好~ 按照惯例,把源码贴在这里逐行分析一下~ 解题思路如下: 整个题目就是单纯地在考验php语法,并且每个变量输错了都有不同

    2024年02月13日
    浏览(45)
  • [CTF/网络安全]攻防世界 easyupload 解题详析

    题目描述:一名合格的黑客眼中,所有的上传点都是开发者留下的后门 惯例,上传一句话木马 回显如下: 也就是说文件被过滤 抓包改后缀,.php1~.php9、.htaccess均被过滤(.htaccess 文件是一个用于配置 Apache Web 服务器的配置文件。它通常位于网站根目录或特定目录中,用来为该

    2024年02月08日
    浏览(55)
  • [CTF/网络安全] 攻防世界 cookie 解题详析

    题目描述:X老师告诉小宁他在cookie里放了些东西,小宁疑惑地想:这是夹心饼干的意思吗? 根据提示,获取页面Cookie中的数据即可 页面提示 look here:cookie.php ,于是GET /cookie.php : 提示 查看HTTP响应 method 1 HTTP响应通常可以在浏览器的开发者工具中找到。 按下F12键打开浏览器

    2024年02月05日
    浏览(42)
  • [CTF/网络安全] 攻防世界 backup 解题详析

    题目描述:X老师忘记删除备份文件,他派小宁同学去把备份文件找出来,一起来帮小宁同学吧! PHP 脚本文件的备份文件名,通常采用以下命名方式: 在原始文件名后添加日期时间戳。例如,如果要备份名为 index.php 的文件,则可以将其备份文件命名为 index_20230521_004017.php。这

    2024年02月05日
    浏览(64)
  • [CTF/网络安全] 攻防世界 PHP2 解题详析

    翻译: 你能给这个网站进行身份验证吗? index.php是一个常见的文件名,通常用于Web服务器中的网站根目录下。它是默认的主页文件名,在访问一个网站时,如果没有特别指定页面文件名,则服务器会自动加载index.php文件。 在Web应用程序中,index.php文件通常是网站的入口文件

    2024年02月13日
    浏览(45)
  • Web安全攻防世界08 very_easy_sql

    SQL注入、SSRF类型题目~ crtl+u查看源码,如下所示~ 经过了多次失败,终于水了一篇混杂了30%的博文链接+60%的错误解法+文末10%官网wp的博文~ 在我看来这道题目页面和源码都没有明显的提示项...页面甚至没有反馈项,有可能是一道考验运气的题目~ 目前看起来是以POST方式注入,

    2024年02月11日
    浏览(38)
  • [CTF/网络安全] 攻防世界 php_rce 解题详析

    PHP RCE 指的是通过远程代码执行漏洞(Remote Code Execution)来攻击 PHP 程序的一种方式。简单来说,由于PHP应用程序没有正确处理外部输入数据(如用户提交的表单、请求参数等),攻击者通过某些手段向 PHP 应用程序中注入恶意代码,然后通过这些恶意代码实现对受攻击服务器

    2024年02月06日
    浏览(50)
  • [CTF/网络安全] 攻防世界 weak_auth 解题详析

    题目描述:小宁写了一个登陆验证页面,随手就设了一个密码。 weak_auth翻译: 弱认证 这个术语通常用来描述一种较弱的安全认证方法或机制,它可能存在安全漏洞,易受到攻击或者被绕过。 在信息安全领域中,弱认证是一种常见的安全威胁。例如,使用简单的密码或者未加

    2024年02月13日
    浏览(43)
  • [CTF/网络安全] 攻防世界 simple_php 解题详析

    题目描述:小宁听说php是最好的语言,于是她简单学习之后写了几行php代码。 $a=@$_GET[\\\'a\\\']; 从HTTP GET请求参数中获取一个名为a的变量,并将其赋值给变量a。@符号用于禁止错误输出,如果不存在参数a则会将变量a设置为NULL。 $b=@$_GET[\\\'b\\\']; 从HTTP GET请求参数中获取一个名为b的变量,

    2024年02月13日
    浏览(45)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包