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

pikachu-RCE,越权,目录遍历

RCE

漏洞成因:RCE(remote command/code execute)概述

RCE漏洞,可以让攻击者直接向后台服务器远程注入操作系统命令或者代码,从而控制后台系统。

远程系统命令执行
一般出现这种漏洞,是因为应用系统从设计上需要给用户提供指定的远程命令操作的接口
比如我们常见的路由器、防火墙、入侵检测等设备的web管理界面上
一般会给用户提供一个ping操作的web界面,用户从web界面输入目标IP,提交后,后台会对该IP地址进行一次ping测试,并返回测试结果。 而,如果,设计者在完成该功能时,没有做严格的安全控制,则可能会导致攻击者通过该接口提交“意想不到”的命令,从而让后台进行执行,从而控制整个后台服务器

现在很多的甲方企业都开始实施自动化运维,大量的系统操作会通过"自动化运维平台"进行操作。 在这种平台上往往会出现远程系统命令执行的漏洞,不信的话现在就可以找你们运维部的系统测试一下,会有意想不到的"收获"-_-

防范策略分析:

  • 严格输入验证:采用白名单机制,拒绝非法字符;禁止用户输入直接拼接至命令 / 表达式执行逻辑。

示例:Python 使用subprocess.call(["echo", user_input]) 代替字符串拼接。

  • 禁用危险函数:通过配置(如 PHP 的php.ini)禁用eval()、system()等高危函数;使用安全 API 替代。
  • 最小权限运行:应用进程使用低权限账户,限制系统调用能力。
  • 代码审计:引入 SAST 工具(如 SonarQube)检测漏洞,人工审计反序列化、命令执行逻辑。

1. exec “ping”

先试试ping本地

想让命令成功执行,可以用连接符 |

例如我输入127.0.0.1|whoami

返回的laptop-kvf41vq\95970是当前系统的用户名

返回的laptop-kvf41vq是主机名,95970是当前登录的用户账号名

再例如我输入借鉴自某位同学的payload:123 || dir

查看文件目录指令被执行了

2. exec “eval”

eval()函数:会将符合PHP 语法规范字符串当作php代码执行。它可以将

字符串中的代码作为有效的程序代码进行解析和执行。

这里可以使用system()来包裹字符

依旧和上面一样先试试查看当前系统用户名的字符:system(“whoami”);

可以看到在上端返回来用户名

再来试试dir

System(“dir”);

成功执行

Over Permission

漏洞成因:

如果使用A用户的权限去操作B用户的数据,A的权限小于B的权限,如果能够成功操作,则称之为越权操作。 越权漏洞形成的原因是后台使用了 不合理的权限校验规则导致的。

一般越权漏洞容易出现在权限页面(需要登录的页面)增、删、改、查的的地方,当用户对权限页面内的信息进行这些操作时,后台需要对 对当前用户的权限进行校验,看其是否具备操作的权限,从而给出响应,而如果校验的规则过于简单则容易出现越权漏洞。

因此,在在权限管理中应该遵守:
1.使用最小权限原则对用户进行赋权;
2.使用合理(严格)的权限校验规则;
3.使用后台登录态作为条件进行权限判断,别动不动就瞎用前端传进来的条件;

你可以通过“Over permission”对应的测试栏目,来进一步的了解该漏洞。

防范策略:

1.后端强制校验:所有权限逻辑后端实现,拒绝依赖前端,接口必验登录态、权限归属

2.数据权限绑定:从会话取当前用户标识过滤数据,禁用前端传入的user_id等参数直接查询

3.最小权限原则:细分功能/数据权限,按需授权,避免过度权限

  1. 水平越权:

这里我在csdn网站上找到了之前的关卡,并得到了lucy账户

输入lucy

123456

在url上直接把lucy修改成另一个账户的名字lili即可获取lili的账户信息

  1. 垂直越权:

我们先登入pikachu用户

pikachu

000000

然后登入admin账户

admin

123456

admin账户拥有添加账户权限

比pikachu用户多出“添加用户”的功能

添加用户页面如下

随后我们复制这个网页的url

http://localhost/pikachu/vul/overpermission/op2/op2_admin_edit.php

然后退出登录在进入pikachu账户,并在网址栏粘贴url,使pikachu用户成功垂直越权

可以看到这时的”管理员”已经成为pikachu

然后随手添加一个用户

返回查看页面

可以看到最后一行就是我随便添加的用户

…/…/

漏洞成因:

在web功能设计中,很多时候我们会要将需要访问的文件定义成变量,从而让前端的功能便的更加灵活。 当用户发起一个前端的请求时,便会将请求的这个文件的值(比如文件名称)传递到后台,后台再执行其对应的文件。 在这个过程中,如果后台没有对前端传进来的值进行严格的安全考虑,则攻击者可能会通过“../”这样的手段让后台打开或者执行一些其他的文件。 从而导致后台服务器上其他目录的文件结果被遍历出来,形成目录遍历漏洞。

看到这里,你可能会觉得目录遍历漏洞和不安全的文件下载,甚至文件包含漏洞有差不多的意思,是的,目录遍历漏洞形成的最主要的原因跟这两者一样,都是在功能设计中将要操作的文件使用变量的 方式传递给了后台,而又没有进行严格的安全考虑而造成的,只是出现的位置所展现的现象不一样,因此,这里还是单独拿出来定义一下。

需要区分一下的是,如果你通过不带参数的url(比如:http://xxxx/doc)列出了doc文件夹里面所有的文件,这种情况,我们成为敏感信息泄露。 而并不归为目录遍历漏洞。(关于敏感信息泄露你你可以在"i can see you ABC"中了解更多)

你可以通过“../../”对应的测试栏目,来进一步的了解该漏洞。

防范措施:

  1. 禁用目录遍历功能关闭 Web 服务器(如 Nginx、Apache)的autoindex等目录自动列出功能;删除网站根目录下默认的index.html备用列表文件。
  2. 严格校验并过滤用户输入对用户传入的路径参数(如file=../config.ini)做白名单校验,仅允许合法文件名和路径;过滤../、./等目录跳转字符,同时限制访问的目录范围(如限定只能访问/static/目录)。
  3. 使用固定路径映射,避免动态拼接不直接将用户输入拼接为文件路径,而是建立 “逻辑名称 - 真实路径” 的映射关系(如file=1对应/static/a.pdf),通过映射获取真实文件路径。

目录遍历

首先点击we're jarheads!

观察url

再点击Truman's word!

同样观察url

发现改的只是title

我们便来修改title

这里将title改为..\..\..\..\..\..\windows\win.ini

出现这个界面说明读取到了 Windows 系统的win.ini文件内容。

再试试其他的比如其他同学的../dir.php

Url重定向:

点击前两个没反应,点击第四句会在url上出现url=i

将url修改成我们想要跳转的网页比如百度:

Enter后便跳转了百度搜索页面

http://www.gsyq.cn/news/182242.html

相关文章:

  • Jupyter Lab插件推荐:Miniconda用户提升生产力
  • D2225UK,多用途硅DMOS射频场效应晶体管, 现货库存
  • Linux系统监控脚本:基于Miniconda-Python3.9实时查看资源
  • 学AI不必花大钱配显卡:6G老笔记本也能跑起来,2个月入门实战经验
  • HTML表单提交处理:Miniconda-Python接收用户输入
  • Token长度与成本关系分析:合理规划API调用
  • ARP欺骗
  • Markdown TOC自动生成:提高长篇文档导航效率
  • 【左扬精讲】| kafka_exporter v1.9.0 源码专题 | 架构设计与实现原理全解析
  • Silvaco TCAD | 铁电晶体管FeFET原理与仿真
  • 网络安全发展趋势与转行案例分析:机遇与挑战并存系列一
  • day 45
  • Miniconda-Python3.9镜像安全性分析:适合企业级应用吗?
  • IT运维不只有主业!22个副业方向让你实现“财富自由”!
  • Pyenv virtualenv创建Python3.9环境详细步骤
  • 零基础转行网络安全运维?学习顺序搞错=白费功夫!
  • Miniconda-Python3.9镜像备份与恢复策略
  • 【Java毕设源码分享】基于springboot+vue的教育资源分享系统的设计与实现(程序+文档+代码讲解+一条龙定制)
  • HTML内嵌Python图表:Plotly+Miniconda生成交互式页面
  • 【Java毕设全套源码+文档】基于java的高校实验室智能管理系统设计与实现(丰富项目+远程调试+讲解+定制)
  • 医考培训老师怎么选?深度解析不同教学风格帮你高效匹配 - 医考机构品牌测评专家
  • SSH公钥认证原理与Miniconda服务器配置步骤
  • 【Java毕设全套源码+文档】基于springboot的民宿管理系统设计与实现(丰富项目+远程调试+讲解+定制)
  • 解析 ‘Tree of Thoughts’ (ToT):利用 LangChain 构建一个支持回溯和并行路径搜索的思维树
  • 35岁转行AI的黄金期:大模型领域机会与学习路径全解析,助你从程序员/小白变身AI专家!
  • GitHub项目贡献指南:如何基于Miniconda-Python3.9提交PR
  • 【Java毕设全套源码+文档】基于springboot的学习资源分享系统设计与实现(丰富项目+远程调试+讲解+定制)
  • 天天担心被裁?光焦虑没用!问问自己:你的技能里,有没有公司“非你不可”的理由?
  • PyTorch+GPU环境搭建不求人:Miniconda-Python3.9镜像开箱即用
  • 上海3D工业相机厂家推荐技术企业排名(IP65防护/宽温工作) - 品牌排行榜