Pikachu- RCE 远程系统命令/ 代码执行
Posted xingyuner
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Pikachu- RCE 远程系统命令/ 代码执行相关的知识,希望对你有一定的参考价值。
RCE
remote command/code execute
远程系统命令/ 代码执行
系统从设计上需要给用户提供指定的远程命令操作的接口。可以测试一下自动运维平台。
在php中,使用system、exec、shell_ exec、passthru、pcntl_exec、popen、proc_popen等函数可以执行系统命令。
系统命令拼接
windows
- “|”:管道符,前面命令标准输出,后面命令的标准输入。例如:help |more
- “&” commandA & commandB 先运行命令A然后运行命令B
- “||” commandA || commandB 运行命令A,如果失败则运行命令B
- “&&” commandA && commandB 运行命令A,如果成功则运行命令B
linux
- “|”:管道符,前面命令标准输出,后面命令的标准输入。例如:help |more
- “&” commandA & commandB 先运行命令A然后运行命令B
- “||” commandA || commandB 运行命令A,如果失败则运行命令B
- “&&” commandA && commandB 运行命令A,如果成功则运行命令B
- “;” commandA && commandB执行完A执行B
127.0.0.1
127.0.0.1 & ipconfig/all
查看代码,如果是windows系统 输入的ip直接ping
代码执行
大部分语言有类似eval()函数,将字符串当作代码执行。可以尝试写webshell。
PHP:eval,assert,preg_replace()+/e 模式
Javascript:eval
Vbscript:Execute、Eval
Python: exec
Java: Java中没有类似php中eval函数这种直接可以将字符串转化为代码执行的函数,但是有反射机制,并且有各种基于反射机制的表达式引擎,如: OGNL、SpEL、MVEL等,这些都能够造成代码执行漏洞。
phpinfo();
查看源码,提交内容进入了 @!eval中 如果不报错 就执行 报错就会输出一句话
所以我们可以利用这个漏洞 进行代码的输出。
以上是关于Pikachu- RCE 远程系统命令/ 代码执行的主要内容,如果未能解决你的问题,请参考以下文章