CTFhub-RCE远程代码执行

本文详细介绍了多种命令注入的场景及应对策略,包括eval执行、无过滤命令注入、过滤特定字符等,并展示了如何通过代码审计和使用替代命令绕过过滤获取flag。同时,文章强调了在进行此类操作时,可以直接查看网页源代码获取信息。
摘要由CSDN通过智能技术生成

1、eval执行
我们进去以后首先进行一个代码审计,发现这里密码cmd非常清晰
在这里插入图片描述
OK话不多说连蚁剑
我们看到这样一个文件
在这里插入图片描述右键选择在此处打开终端
在这里插入图片描述接下来就是按部就班的找到flag所在的文件,cat查看即可
在这里插入图片描述2、无过滤的命令注入
先审计代码,嗯雀氏没有过滤

在这里插入图片描述输入127.0.0.1返回结果说明可以进行代码注入,接下来还是按部就班
在这里插入图片描述127.0.0.1;ls
在这里插入图片描述127.0.0.1;cat 。。。。。这里没有返回可能是因为进行了加密
在这里插入图片描述127.0.0.1;cat 。。。。。|base64 得到加密后的字符串
在这里插入图片描述把得到的加密字符串扔base64在线解密里,即为flag
在这里插入图片描述3、过滤cat
还是先审计代码
过滤了cat,我们可以用其他命令代替
在这里插入图片描述127.0.0.1;ls
在这里插入图片描述127.0.0.1;less 。。。。。|base64
在这里插入图片描述还是扔在线base64解密得到flag
4、过滤空格
这里过滤了空格,我们可以使用 ${IFS}来代替
在这里插入图片描述127.0.0.1;ls
在这里插入图片描述按部就班替换空格加上base64得到加密字符串,解密即得flag在这里插入图片描述5、过滤目录分隔符
依然先代码审计,我们发现他过滤的这个符号对我们没有任何影响,直接按部就班ls
在这里插入图片描述1在这里插入图片描述

在这里插入图片描述
在这里插入图片描述解密即得flag
在这里插入图片描述6、过滤运算符
审计代码,视乎依然没影响,按部就班吧
在这里插入图片描述在这里插入图片描述
我们到最后一步后可能得不到base64加密字符串,这时候我们可以直接查看网页源代码,效果是一样的
在这里插入图片描述7、综合练习

审计代码,这里过滤了很多符号和命令,我们构建payload的思路还是代替

空格 用${IFS}代替

flag用 f***代替

cat用 more代替

; 用%0a 回车代替
按部就班,我们构建的最终的payload是:

127.0.0.1%0acd${IFS}f***_is_here%0amore${IFS}f***_9098301778463.php

这里注意:
我们的payload用的是url命令因此需要在url地址框输入
在这里插入图片描述
在这里插入图片描述在这里插入图片描述1在这里插入图片描述

这里依旧查看网页源代码找到flag!在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值