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

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

问题描述:

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

攻防世界文件包含入门题目,参考大佬们的WP有所补充,内容对小白友好~


原因分析:

按照惯例,首先查看源代码ctrl+u:

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

整理一下大概是下面这个意思(代码0基础,可能有误,欢迎留言沟通与指正~)


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


解决方案:

工具:burpsuite 或 hackbar(浏览器插件)

参考:admin发表的官方WP zhan3614发表的WP fileinclude 

1 Burp Suite抓包

首先用Burp Suite拦截网页的请求包,页面如下图所示:

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

emm,发现没有题目要求的变量cookie,这样就很难实现题目要求的条件了...

2 添加cookie

现在需要手动添加cookie,可以通过burpsuite或者hackbar添加~

1)Burp Suite,在页面的右下角Request Cookies可以找到添加变量的位置~

  Name:language

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

  Name的值为第15行代码要求的名称,Value的值可将flag(.php)内容以Base64编码的形式读取~

php://filter/read=执行文件读取功能~(官方介绍:PHP: php:// - Manual)

convert.base64-encode执行Base64编码功能~

/resource=/var/www/html/flag填写flag.php所在的地址,本题在源码的第5行有提示地址为language in <b>/var/www/html/index.php</b> on line ;且需要注意注意源码第23行的内容(@include($lan.".php"); ),在上传参数时代码会附带后缀.php,所以此处不需要写为 '/var/www/html/flag.php'~

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

或者可以直接复制这一行到请求包末尾(同样的语句,经过URL编码):

Cookie: language=php%3a%2f%2ffilter%2fread%3dconvert.base64-encode%2fresource%3d%2fvar%2fwww%2fhtml%2fflag

消息变成如下所示以后发送: 

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

然后就得到了一个 编码为Base64的flag,如下图~

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

右键传到burpsuite自带的解码模块decoder中可以解码~Web安全攻防世界01 fileinclude(宜兴网信办)

 $flag=cyberpeace{9fbd1f023749c48900cf215fe902c204}

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

Name:cookie

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

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

页面上方回显以base64格式编码的flag,复制到网址栏,随后可用hackbar自带的解码模块encoding找到base64 encode选项进行解码~

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

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

flag=cyberpeace{9fbd1f023749c48900cf215fe902c204}

博文写得模糊或者有误之处,欢迎留言讨论与批评~

码字不易,若有所帮助,可以点赞支持一下博主嘛?感谢~(●'◡'●)文章来源地址https://www.toymoban.com/news/detail-404730.html

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

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

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

相关文章

  • Web安全攻防世界06 easyupload

    这道题我挣扎了很久,还是没有解出来,详细 错误 解题思路可以参考另一篇博文~(#_-) CTF 总结01:文件上传绕过_梅头脑_的博客-CSDN博客 ↑博文很啰嗦地讲述了我用蚁剑连接一句话木马花式写法的各种失败姿势,面对文件上传一步一个坑的绝望心态,欢迎同伴围观、吐槽和指

    2024年02月07日
    浏览(41)
  • 移动应用安全合规动态:网信办发布2大重磅文件!《儿童智能手表个人信息和权益保护指南》发布;iOS出现0 day漏洞(第2期)

    一、监管部门动向: 网信办发布《网络安全事件报告管理办法(征求意见稿)》、《粤港澳大湾区(内地、香港)个人信息跨境流动标准合同实施指引》;《 儿童智能手表个人信息和权益保护指南》爱加密深度参编! 二、安全新闻: 苹果\\\'Lockdown Mode\\\'的破解之法被发现;中国

    2024年02月03日
    浏览(133)
  • Web安全攻防世界05 easyphp(江苏工匠杯)

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

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

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

    2024年02月11日
    浏览(39)
  • BurpSuite实战教程01-web渗透安全测试(靶场搭建及常见漏洞攻防)

    渗透测试(Penetration test)即安全工程师模拟黑客,在合法授权范围内,通过信息搜集、漏洞挖掘、权限提升等行为,对目标对象进行安全测试(或攻击),最终找出安全风险并输出测试报告。 Web渗透测试分为白盒测试和黑盒测试,白盒测试是指目标网站的源码等信息的情况

    2024年02月13日
    浏览(49)
  • 【秦储区块链浏览器】通过国家网信办“境内区块链信息服务备案”

    5月24日 , 国家互联网信息办公室正式发布 “第八批共106个境内区块链信息服务名称及备案编号”! 【秦储区块链浏览器】通过备案 (陕网信备61011322471382750010号) , 成功入选第八批境内区块链信息服务备案清单!   秦储区块链浏览器 秦储区块链浏览器 是基于金链盟区块

    2024年02月13日
    浏览(60)
  • 元话数藏SaaS平台成功通过国家网信办区块链信息服务备案

    2022年 11 月 8 日,国家互联网信息办公室公布了第 10 批共 532 个境内区块链信息服务名称及备案编号。  

    2024年02月11日
    浏览(60)
  • 神策分析 Copilot 成功通过网信办算法备案,数据分析 AI 化全面落地

    近日,神策数据严格遵循《互联网信息服务深度合成管理规定》,已完成智能数据问答算法备案。该算法基于大模型技术, 专注于为客户提供数据指标查询和数据洞察方面的专业回答。 神策分析 Copilot 运用神策数据智能数据问答算法,聚焦分析软件上手难、分析结果获取滞

    2024年03月16日
    浏览(59)
  • [CTF/网络安全] 攻防世界 Web_php_include 解题详析(php伪协议、data伪协议、file伪协议)

    这段代码首先通过 show_source(__FILE__) 显示当前文件的源代码,然后通过 $_GET[\\\'hello\\\'] 显示 URL 参数中名为 hello 的值。 接下来,代码使用 $_GET[\\\'page\\\'] 获取 URL 参数中名为 “page” 的值,并进行字符串替换,将 php:// 替换为空字符串 这是为了防止通过 URL 参数加载本地文件或其他可

    2024年02月08日
    浏览(48)
  • 攻防世界web题目记录(一)

    打开后获得源码开始审计 第一个php便是重定向到page页面 第二个是上传文件并保存但是首先需要session为admin 接着看第三个是要利用php弱类型 如果设置了id 并且id的浮点值不等于1并且截取id的最后一个值等于9这里可以使用php弱类型1-9绕过 接着上传文件,这里主要是包括有一个目

    2024年02月07日
    浏览(43)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包