【web安全】RCE漏洞原理
2023-12-13 03:59:47
前言
菜某的笔记总结,如有错误请指正。
RCE漏洞介绍
简而言之,就是代码中使用了可以把字符串当做代码执行的函数,但是又没有对用户的输入内容做到充分的过滤,导致可以被远程执行一些命令。
RCE漏洞的分类
RCE漏洞分为代码执行和命令执行两种
代码执行
概述:源代码能够把字符串当做代码运行
影响范围:能够做代码能够做的事情
注意事项:这个输入的代码要与源代码的语言相同,即源代码用的php写的就必须用php的语句。
命令执行
概述:源代码能够把字符串当做系统的命令执行
影响范围:可以做系统命令能够做的事情
注意事项:windows和linux的命令是不同的,需要先分辨一下对方系统。
系统的命令连接符
windows系统
拼接符 | 实例 | 作用 |
& | A&B | 无论A是否执行成功,都执行B |
&& | A&&B | A执行成功才执行B |
| | A|B | a错误b就不执行 |
|| | A||B | A执行失败才执行B |
?linux系统
&
;
&&
||
()
这个具体用到的时候对照一下吧
常常出现的位置
源代码,中间件,一些环境中。
毕竟开发工具要比做的成品更可能去执行系统命令。
可以遇到相关的cms等直接上网搜索公开的漏洞,如果碰到相应版本的直接干就行了。
RCE漏洞的检测
白盒:审计代码
黑盒:
1.漏洞扫描工具
2.找网上公开的漏洞
3.自己配置参数尝试
4.根据他的功能猜测他可能存在的位置
案例演示
本地自写的代码执行漏洞(PHP脚本)
源代码
打开网址
传入代码
执行成功
pikaqiu靶场命令执行实例
打开发现一个ping窗口,ping是系统指令,判断为执行系统命令
ping127.0.0.1尝试
但是发现仅仅输入ipconfig无法执行命令,所以利用命令拼接符拼接
命令执行成功
小补充
我们的一句话木马用的就是eval函数,实际上就是用一次次把我们输入的字符串转为代码执行。
?
文章来源:https://blog.csdn.net/2302_79590880/article/details/134793888
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!