• 25分钟了解命令执行漏洞【例题+详细讲解】(一)


    🍀预计时间:二十五分钟
    学习目标:
    🎉1理解原理
    🎉2学会思路
    🎉3了解过滤cat,flag,空格的处理方式
    ⭐贤鱼原创

    在这里插入图片描述

    漏洞原理

    控制可执行系统命令的函数
    在这里插入图片描述

    基本操作及其思路(无过滤讲解例题,培养思路)

    例题如下
    在这里插入图片描述
    很明显,我们可以通过get传参方式控制c,但是system中该如何执行前半段而不执行后半段呢?

    这里需要用到一些连接符
    1 ;(封号) 执行完第一个再执行下一个
    2 &&第一个成功执行再执行第二个
    3 ||前面执行失败后执行后面,也就是前面执行成功后面不执行
    4 | 第一个的输入作为后面一个的输出

    这几个较为常用,如果有其他的再后文还会提及

    继续看这个题

    首先讲一下思路,我们先看当前目录有没有目标文件(flag),没有的话去根目录下找,然后打开目标文件

    接下来看到题目,首先我们传参/?c=ls||查看当前目录下有没有flag,用||隔绝后面,前文讲了这个的作用
    在这里插入图片描述
    很明显,没有flag
    在这里插入图片描述
    接下来传参ls /||,这个的意思是查看根目录,如果在当前目录下找不到,就去根目录下看看
    在这里插入图片描述
    嗨嗨嗨,这不就有了,现在我们找到了flag,该怎么打开呢?
    在这里插入图片描述
    我们这里传参 cat /flag,记得cat后面有个空格,这个意思是打开根目录下的flag,如果不在根目录下,不需要加/
    在这里插入图片描述
    在这里插入图片描述

    在这里插入图片描述

    绕过过滤(例题+详解)

    过滤cat

    明显看到,cat被过滤掉了,在此花费2分享一下绕过方法:
    cat=tac=more=less=head=nl=od=vi=vim=sort=uniq=paste=xxd
    这些的方法和cat使用方法都一样,在需要的时候可以互相转换

    在这里插入图片描述

    接下来就简单了,还是一样的操作,查看当前目录,如果没有查看根目录
    在这里插入图片描述
    这里发现了flag,因为cat被过滤了,这里我们用tac(tac /flag)
    在这里插入图片描述
    在这里插入图片描述
    🎇🎇🎇题目完成
    在这里插入图片描述

    其他的效果一样

    过滤cat和flag

    在这里插入图片描述

    上文cat的过滤方法讲过了,这里就不多赘述,主要讲讲flag的过滤方法
    我们可以拼接字符串的方法来过滤flag
    还是老规矩找到flag的位置
    在这里插入图片描述
    这里利用单引号绕过过滤,
    传参tac fl’a’g||
    就可以得到flag了

    过滤cat,flag 空格

    在这里插入图片描述

    绕过cat和flag的方法都讲过了,现在分享下绕过空格的方法
    空格等于 I F S 等于 IFS等于 IFS等于{IFS}
    在这里插入图片描述
    传参tac$IFS/fl’a’g||

    🏆🏆结束语:
    命令执行漏洞的内容会不定期更新,如果对您有帮助的话可以订阅一下专栏

    请添加图片描述

  • 相关阅读:
    在MySQL上实现间隔5分钟汇总取数及相关字符串、时间处理方法实践
    nginx配置指南
    Proximal Policy Optimization近端策略优化(PPO)
    ctfshow-web-红包题 辟邪剑谱
    Java十进制与其他进制相互转换
    【代码随想录】LC 209. 长度最小的子数组
    Java 去除字符中的空格、回车符
    JVM参数调优
    进程控制(二)——minishell延续
    Multi-granularity Correspondence Learning from Long-term Noisy Videos--论文笔记
  • 原文地址:https://blog.csdn.net/m0_66623111/article/details/126808254