什么是RCE漏洞
全称:remote command/code execute
分为远程命令执行和远程代码执行
1.命令执行漏洞: 直接调用操作系统命令
2.代码执行漏洞: 靠执行脚本代码调用操作系统命令
原理
在利用调用系统命令的执行函数,就可以将恶意系统命令拼接到正常命令中,从而造成命令执行漏洞。
php为例
eval();assert();preg_replace();create_function();
array_map();call_user_func();call_user_func_array();
array_filter();uasort();proc_popen();passthru();
system();exec();shell_exec();pcntl_exec();popen();
JAVA中
java.lang.Runtime#exec()、java.lang.ProcessBuilder#start()、java.lang.ProcessImpl#start()以及通过JNI的方式调用动态链接库
实战
对Pikachu进行实战
看代码
直接开搞
可以看到Pikachu没有做什么防御,就直接突破啦。
对dvwa进行实战
看两个&&,也是不能绕过的。
那么高安全级别的如何绕过呢? | ,注意看,高级别的防范中,有一个||和一个| ,而一个管道符号的仔细看的话,其实后面还有一个空格,那么我们就可以使用一个|并且不带空格来进行绕过。看示例:果然成功了。所以做代码审计,就是要细致!文章来源:https://www.toymoban.com/news/detail-606703.html
文章来源地址https://www.toymoban.com/news/detail-606703.html
RCE的防御
到了这里,关于远程代码执行漏洞的利用与防御的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!