写点什么

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

作者:贤鱼很忙
  • 2022-10-14
    新疆
  • 本文字数:845 字

    阅读完需:约 1 分钟

@TOC


🍀预计时间:二十五分钟学习目标:🎉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 的方法都讲过了,现在分享下绕过空格的方法==空格等于{IFS}==

传参 tac$IFS/fl'a'g||


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



发布于: 刚刚阅读数: 3
用户头像

贤鱼很忙

关注

为了未来奋斗中 2022-09-28 加入

主修网络安全和c++方面内容,时常提供题解和网络安全方面知识

评论

发布
暂无评论
25分钟了解命令执行漏洞【例题+详细讲解】(一)_网络安全_贤鱼很忙_InfoQ写作社区