CTFHub-技能树-web-RCE

RCE介绍

RCE(Remote Code/Command Execute)为远程代码/命令执行的漏洞。

攻击者可以直接在web页面向后台服务器远程注入操作系统命令或者代码,从而控制后台系统,这就是RCE漏洞。

题目

eval执行

调用系统函数system查看目录。
注:命令后的分号不可省略,不然无回显。

/?cmd=system('ls');

查看上一级。(如果用bp抓的包,空格的地方用%20代替)

/?cmd=system('ls /');

看到flag文件,查看。

/?cmd=system('cat /flag_26509');

成功拿到flag!!!

文件包含

先简单分析一下,我们要传入一个不带"flag"字样的文件;

接着往下看,它给我们提供了一个"shell.txt"文件,还有一个"shell"入口信息, 那我们就点开"shell"来看看里面写了什么?

看到这句话就知道可以通过关键参数ctfhub来连接靶机服务器。

结合本题给出的 文件入口 / 文件 / shell入口 三个关键信息,我们就可以入侵服务器了。

get传参

?file=shell.txt&ctfhub=system("cat /flag");

post传参

结果:

成功拿到flag!!!(这里卡了一会,是因为这里给的是文件入口,所以地址后应该要加一个?file=shell.txt)

php://input

作用:可用于查看源码,同时是要查看未压缩文件的只读流。在post请求中能查看请求的原始数据,并将post请求中的post数据当作php代码执行。(只读流是说只能进行读操作的数据)。

条件:allow_url_fopen=off/on;allow_url_include=on。

点击题中phpinfo查看。

由此可以确定此题考查php://input。

使用bp抓包,将get改为post:

POST /?file=php://input HTTP/1.1

然后再添加php代码查看目录情况。

<?php system('ls /');?>

查看flag。

<?php system('cat /flag_5901');?>

成功拿到flag!!!

读取源代码

在php伪协议中还存在:php://filter

作用:用过滤器读写数据流

条件:allow_url_fopen=off/on;allow_url_include=off/on

 php:filter

参数描述
read用读链的过滤器读数据流
write用写链的过滤器写数据流
resource声明过滤哪一个数据流
不指定读写当不指定读写时会自己根据情况而定

题中说到flag在in /flag,所以可以直接构造:

/?file=php://filter/resource=../../../flag

成功拿到flag!!!(上一个题其实也可以用,但是前提条件是得知道flag文件名字。)

远程包含

跟前面php://input一样做法。

成功拿到flag!!!

命令注入

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

余切66

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值