当前位置: 首页 > news >正文

【web安全】RCE漏洞原理

前言

菜某的笔记总结,如有错误请指正。

RCE漏洞介绍

简而言之,就是代码中使用了可以把字符串当做代码执行的函数,但是又没有对用户的输入内容做到充分的过滤,导致可以被远程执行一些命令。

RCE漏洞的分类

RCE漏洞分为代码执行和命令执行两种

代码执行

概述:源代码能够把字符串当做代码运行

影响范围:能够做代码能够做的事情

注意事项:这个输入的代码要与源代码的语言相同,即源代码用的php写的就必须用php的语句。

命令执行

概述:源代码能够把字符串当做系统的命令执行

影响范围:可以做系统命令能够做的事情

注意事项:windows和linux的命令是不同的,需要先分辨一下对方系统。

系统的命令连接符

windows系统

拼接符实例作用
&A&B无论A是否执行成功,都执行B
&&A&&BA执行成功才执行B
|A|Ba错误b就不执行
||A||BA执行失败才执行B

 linux系统

&

;

&&

||

()

这个具体用到的时候对照一下吧

常常出现的位置

源代码,中间件,一些环境中。

毕竟开发工具要比做的成品更可能去执行系统命令。

可以遇到相关的cms等直接上网搜索公开的漏洞,如果碰到相应版本的直接干就行了。

RCE漏洞的检测

白盒:审计代码

黑盒:

1.漏洞扫描工具

2.找网上公开的漏洞

3.自己配置参数尝试

4.根据他的功能猜测他可能存在的位置

案例演示

本地自写的代码执行漏洞(PHP脚本)

源代码

打开网址

传入代码

执行成功

pikaqiu靶场命令执行实例

打开发现一个ping窗口,ping是系统指令,判断为执行系统命令

ping127.0.0.1尝试

但是发现仅仅输入ipconfig无法执行命令,所以利用命令拼接符拼接

命令执行成功

小补充

我们的一句话木马用的就是eval函数,实际上就是用一次次把我们输入的代码转为代码执行。

http://www.lryc.cn/news/252814.html

相关文章:

  • EI论文复现:基于组合双向拍卖的共享储能机制研究程序代码!
  • ThinkPHP 5 中,你可以使用定时任务调度器(TaskScheduler)来执行其他定时任务
  • mysql:免费的GUI客户端工具推荐并介绍常用的操作
  • [Unity数据管理]自定义菜单创建Unity内部数据表(ScriptableObject)
  • 使用JAVA语言写一个排队叫号的小程序
  • openGauss学习笔记-140 openGauss 数据库运维-例行维护-例行维护表
  • ubuntu20.04使用LIO-SAM对热室空间进行重建
  • 如何选学生用的台灯?眼科专家都说好的学生台灯分享!
  • Linux4.8、环境变量续
  • PTA 7-231 买文具
  • GPTs每日推荐--生化危机【典藏版】
  • jenkins-cicd基础操作
  • ctfhub技能树_web_信息泄露
  • 使用Docker本地部署chatgpt
  • SpringBoot 集成Netty、WebSocket,5分钟搭建聊天通信系统
  • LeedCode刷题---双指针问题
  • 使用Notepad++编辑器,安装AnalysePlugin搜索插件
  • 胶囊网络实现手写数字分类
  • Java零基础-if条件语句
  • 中国证券交易所有哪些
  • 欢迎回到 C++ - 现代 C++(心得-壹)
  • 【Vue3+Ts项目】硅谷甄选 — 搭建后台管理系统模板
  • MATLAB 系统辨识 - 在线估计 - Online Estimation
  • 【Java面试——基础题】
  • Haiku库和Jax库介绍
  • 2023-简单点-proxyPool源码(二)-setting.py
  • 中级工程师评审条件:如何成为一名合格的中级工程师
  • StarRocks上新,“One Data、All Analytics”还有多远?
  • Java8实战-总结50
  • kicad源代码研究:参照Candence实现工程管理