漏洞挖掘 SSRF 一次很菜的SSRF低危小通杀

前言

一转眼貌似很长时间都没更新博客了,甚至连标题的大小和格式都有点忘了,今后应该尽量保持每周更新一次,主要是平常上课太忙了,在学校还总是不定时会刷新一些烂事,就耽误了很多时间。这篇文章用于记载我最近的一次由目标到供应链,拿到供应链弱口令,进而到后台测试未授权,最后通杀的过程,虽然最终只是一个貌似没法利用的SSRF,只能完成一个简单的带外,但起码算是体会到了一次通杀的乐趣,哈哈。

这次的通杀是一个CMS的前台漏洞,这套CMS貌似是某信创系统,因此许多国内的edu和gov都在用,一句话总结漏洞成因就是由于上传接口未作鉴权,导致“远程抓取图片”功能可以被普通游客使用,前台默认是不允许添加不带域名的url,但是通过抓包可以绕过这个小限制,进而把服务端的请求带到我们自己的主机上。下面我将再次模拟回到最初的渗透测试情境,与大家一起复盘这次测试过程。

测试过程

本次测试过程写的比较详细,包括了从最初发现特征,提取指纹,查找供应链,到最终供应链渗透,进而通杀,希望通过这次的过程为大家和我自己增长经验,提供思路。

CMS特征提取,指纹发现

  1. 与往常一样,从fofa中找一些资产,想测试一波, 我本人测试的习惯一般都会根据ip地址来避开站群系统,寻找其他ip的边缘资产,因为这种资产一般相较于站群系统,资产较为脆弱。

  2. 今天打开某个系统的前台网站,看起来就像普通的CMS站点一样,平平无奇

    image-20240325115942779

  3. 一如既往打开F12看一下js中有没有泄露的接口

    image-20240325120039801

  4. 可以看到这个前端的js很有东西,里面的config.js和util.js里面看起来都是很有用的东西,写了许多许多的接口地址,比如config.js

    image-20240325120309620

  5. 但是经过测试发现有的接口要么访问了就是没权限,要么就是访问了之后被拦截了,估计是做了ip白名单,只能在内网访问,接下来把视角放到util.js中去,一开始看很乱,但是往下翻找找一些像url路径写法的东西看一看,于是在下面发现了ueditor的常用路径。

    image-20240325121157940

  6. 发现ueditor后一开始想着通过拼接路径,看看能不能找到ueditor的路径,然后试一试能不能摸到ueditor的controller.php,进而测试功能,但是找了半天也没找到它这个网站把ueditor具体安到哪里了,只能放弃这条攻击链

  7. 迷茫之中想到了github泄露,于是尝试一波,比如这个js的变量名(P8CONFIG.RESOURCE)貌似很奇怪,直接把它当特征搜索一下吧:到github直接搜索,左边点击code选项,选择“在代码内容中查找”,结果如下。

    image-20240325122053036

  8. 果然还是有收获的,开头第一个直接就发现了在github中有用户上传了源码,,也发现了其他用户曾经在github中归档备份的前端页面的js代码也包含这个内容,可见这套系统的普遍与通用性。

    image-20240325122249098

  9. 能看出这个用户上传源码是在六年前了,正常思路有了源码之后可以直接展开代码审计,直接由黑盒转向白盒,但是毕竟这是一套站群的cms系统,体量十分庞大,再加上github搜索到的这个源码也有年头了,或许跟网上现有的版本不符,先下载下来,继续看一下,下一个目标:找出什么系统,直接供应链打击。在github中直接浏览一下,在项目中搜索一下版权文字,例如:powerby,发现了程序供应商:

    image-20240325122907444

供应链漏洞挖掘

  1. 找到软件供应商后瞬间好说了,直接浏览官网,找一下有没有演示系统,许多cms供应商都会搭建演示系统,方便买方实际体验,进而取得好的销售效果,但是这些演示系统由于不是正式使用的系统,因此里面没有敏感或重要的内容,进而导致供应商通常会把演示系统设置为弱口令

    image-20240325123108369

  2. 发现了演示系统,和大多数系统差不多,光看前台页面已经有那味了,哈哈

    image-20240325123332012

  3. 这种演示系统一般一切设置均为默认,因此系统的后台路径什么的都是不变的,从github中看到后台页面就单纯地是/admin.php,直接访问一下,发现确实跳转到了登录界面

    image-20240325123726439

  4. OK,弱口令直接进到后台了, 可以看到功能点非常的多,接下来也就是进入了漫长的测试过程,我的步骤基本就是开着Burp的XiaYue插件,各种点点点,不过最终也没测出来哪里由未授权。。。

    image-20240325123946568

  5. 之后又想了一下,一般这种CMS系统的文件上传模块都是用网上开源的,自己二次开发,拿来直接用,就比如开头发现的ueditor和github上发现的ckeditor,于是进而到后台里看了看发布文章的上传模块,抓包,打开url发现看着貌似也像通用的

    image-20240325124155060

  6. 直接burp抓包,去掉Cookie,发现竟然还真的能用,直接越权了,但是还存在一个问题:光上传没有用,有后缀名白名单,无法造成危害。于是将目标对准“网路抓取”功能:

    image-20240325125535387

SSRF漏洞利用

  1. 一般这种都存在ssrf,我直接输入自己的OOB服务器ip试了试,发现弹窗了:

    image-20240325125705117

  2. 可见应该是做了检查,没关系,直接抓包,改包后发现正常回显,我们直接修改参数,改为自己服务器的地址,发现仍然正常回显:

    image-20240325130233890

  3. 直接打开我们的服务器,”nc -lvvp 521”开启监听521端口,若存在ssrf,那么我们的主机会收到来自对方服务器的请求

    image-20240325130330467

  4. 再次发送Payload,OK,可以看到已经收到了请求,因此ssrf证实存在,通杀GET!

    image-20240325130435214

后续

后续我尝试利用其他ssrf的扩大危害方法,但是都失败了,例如伪协议,端口探测等等,但总感觉这还有可利用的点,欢迎各位师傅们留言,互相讨论,最终也是提交了edu,小小刷了一波,哈哈哈,但是全是低危,很菜,吼吼~

image-20240325131036934

image-20240325131036934

image-20240325131055323

image-20240325131055323

总结复盘

这次的漏洞很简单,利用难度也较低,但整个由发现到通杀的过程非常有趣,这次渗透测试反映出其实挺多站群系统其实也有漏洞的,在日常的测试中多多关注前端的js,同时遇到一些可能是特征的js代码段或前端代码段,可以考虑去github中搜索,也许可以发现源码,在不断的信息收集中想办法找到程序的供应商,想办法从供应商的演示站找到漏洞,进而进行供应链打击,这是一条很不错的渗透测试思路。最后,很高兴可以与各位师傅分享,欢迎大家对我的文章和思路进行批评和指导,感谢阅读~

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/808208.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

PixArt-β:Fast and controllable image generation with latent consistency models

PixArt α to Σ: All about Efficient Diffusion Models - 知乎前言自年初Sora和Stable Diffusion 3推出以来,笔者就开始关注基于Diffusion Transformer的工作。在我的往期文章《 Diffusion Transformer Family:关于Sora和Stable Diffusion 3你需要知道…

原子操作和竞争条件

所有系统调用都是以原子操作方式执行的。之所以这么说,是指内核保证了某系统调用中的所有步骤会作为独立操作而一次性加以执行,其间不会为其他进程或线程所中断。原子性是某些操作得以圆满成功的关键所在。特别是它规避了竞争状态(race condi…

arm内核驱动-中断

先介绍个东西 ctags 这个工具可以像keil一样在工程里查找跳转,帮我们找到我们想要的东西。 安装教程可以找到,这里只讲怎么用。 在工程目录(包含所有你会用到的头文件等)下,先加载这个命令,可能要等待…

repl_backlog原理

2.2.3.repl_backlog原理 master怎么知道slave与自己的数据差异在哪里呢? 这就要说到全量同步时的repl_baklog文件了。 这个文件是一个固定大小的数组,只不过数组是环形,也就是说角标到达数组末尾后,会再次从0开始读写,这样数组…

vue快速入门(十三)v-model的使用

注释很详细&#xff0c;直接上代码 上一篇 新增内容 数据双向绑定数据清空方法 源码 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-…

vue数据检测原理

前言 Vue中的数据监听离不开Object.defineProperty()方法的使用&#xff0c;在了解数据监测原理之前&#xff0c;建议先掌握defineProperty的用法。 目标 1 数据监测问题 2 数据监测原理 3 如何实现数组更新 1 遇到的问题 数组更新问题 <button click"updatePeople&q…

ABAP-CPI-Odata POST-create_deep_entity 多层嵌套的处理及CPI端的调用

该文章演示怎么在OData里,创建一个多套多的请求结构,传入数据处理后,返回多层级的处理结果;以及如何在CPI里写groovy脚本,去解析它;最后如何用postman模拟外围系统,调用CPI这个接口,从而去调用Odata接口 假如想用SAP Odata去实现传入多层级的数据,进行创建或者根据传入…

libVLC 提取视频帧使用QWidget渲染

在前面的文章中&#xff0c;我们使用libvlc_media_player_set_hwnd设置了视频的显示的窗口。 libvlc_media_player_set_hwnd(vlc_mediaPlayer, (void *)ui.widgetShow->winId()); 如果我们想要提取每一帧数据&#xff0c;将数据渲染到QWidget上&#xff0c;该如何操作呢&a…

java八股——消息队列MQ

上一篇传送门&#xff1a;点我 目前只学习了RabbitMQ&#xff0c;后续学习了其他MQ后会继续补充。 MQ有了解过吗&#xff1f;说说什么是MQ&#xff1f; MQ是Message Queue的缩写&#xff0c;也就是消息队列的意思。它是一种应用程序对应用程序的通信方法&#xff0c;使得应用…

八次危机笔记

文章目录 前言一、思维导图危机一危机二危机三危机四危机五危机六危机七危机八 前言 重塑三观&#xff0c;致敬温老。一个有良心的学者&#xff01;&#xff01;&#xff01; 一、思维导图 危机一 危机二 危机三 危机四 危机五 危机六 危机七 危机八 ☆

2023年上半年信息系统项目管理师——综合知识真题与答案解释(1)

2023年上半年信息系统项目管理师 ——综合知识真题与答案解释(1) 零、00时光宝盒 1009 Rejections 1009 拒绝 Once, there was an old man, who was broke, living in a tiny house and owned a beat-up car. 有一次&#xff0c;有一个老人&#xff0c;他破产了&#…

【LeetCode刷题笔记】LeetCode 1365.有多少小于当前数字的数字

创作不易&#xff0c;本篇文章如果帮助到了你&#xff0c;还请点赞 关注支持一下♡>&#x16966;<)!! 主页专栏有更多知识&#xff0c;如有疑问欢迎大家指正讨论&#xff0c;共同进步&#xff01; 更多算法知识专栏&#xff1a;算法分析&#x1f525; 给大家跳段街舞感谢…

curaengine编译源码之libarcus编译记录

libArcus的编译&#xff08;成功安装&#xff09; This library contains C code and Python3 bindings for creating a socket in a thread and using this socket to send and receive messages based on the Protocol Buffers library. It is designed to facilitate the c…

从文字到思维:呆马GPT在人工智能领域的创新之旅

引言 生成式预训练变换器&#xff08;Generative Pre-trained Transformer&#xff0c;简称GPT&#xff09;领域是人工智能技术中的一大革新。自OpenAI推出第一代GPT以来&#xff0c;该技术经历了多代发展&#xff0c;不断提升模型的规模、复杂度和智能化程度。GPT模型通过在大…

网工内推 | 网安、AGV测试网络工程师,厂商认证优先,应届可投

01 神州数码 招聘岗位&#xff1a;网络工程师 职责描述&#xff1a; 1、负责国内外主流安全产品&#xff08;如防火墙、入侵防御、WAF、安全审计等&#xff09;的上线安装、调试、测试、割接、运维等工作。 2、能够独立进行安全类项目实施、问题排查及处理。 3、在出现网络攻…

基于springboot实现医院管理系统项目【项目源码+论文说明】计算机毕业设计

基于springboot实现医院管理系统演示 摘要 随着信息互联网信息的飞速发展&#xff0c;医院也在创建着属于自己的管理系统。本文介绍了医院管理系统的开发全过程。通过分析企业对于医院管理系统的需求&#xff0c;创建了一个计算机管理医院管理系统的方案。文章介绍了医院管理系…

qt自定义窗口在拖动过程中出现抖动且拖动后位置看上去不对

自定义窗口拖动 引言开发环境关键性代码运行结果原因分析改进代码运行结果globalPos()globalPosition()再次修改代码运行结果区别 引言 本文旨在一个问题的记录&#xff1a;自定义窗口拖动的过程中&#xff0c;窗口不能很好的跟随鼠标移动&#xff0c;此外会出现窗口拖动时抖动…

Kubernetes(k8s)监控与报警(qq邮箱+钉钉):Prometheus + Grafana + Alertmanager(超详细)

Kubernetes&#xff08;k8s&#xff09;监控与报警&#xff08;qq邮箱钉钉&#xff09;&#xff1a;Prometheus Grafana Alertmanager&#xff08;超详细&#xff09; 1、部署环境2、基本概念简介2.1、Prometheus简介2.2、Grafana简介2.3、Alertmanager简介2.4、Prometheus …

绿联 安装火狐浏览器(Firefox),支持访问路由器

绿联 安装火狐浏览器&#xff08;Firefox&#xff09;&#xff0c;支持访问路由器 1、镜像 linuxserver/firefox:latest 前置条件&#xff1a;动态公网IP。 已知问题&#xff1a; 直接输入中文时&#xff0c;不能完整输入&#xff0c;也可能输入法无法切换到中文&#xff0c;可…

【阿里淘天笔试题汇总】2024-04-10-阿里淘天春招笔试题-三语言题解(CPP/Python/Java)

&#x1f36d; 大家好这里是KK爱Coding &#xff0c;一枚热爱算法的程序员 ✨ 本系列打算持续跟新淘天近期的春秋招笔试题汇总&#xff5e; &#x1f4bb; ACM银牌&#x1f948;| 多次AK大厂笔试 &#xff5c; 编程一对一辅导 &#x1f44f; 感谢大家的订阅➕ 和 喜欢&#x1f…