标题 | 简介 | 类型 | 公开时间 | ||||||||||
|
|||||||||||||
|
|||||||||||||
详情 | |||||||||||||
[SAFE-ID: JIWO-2025-3213] 作者: 浩丶轩 发表于: [2022-11-06]
本文共 [694] 位读者顶过
前言记录下某个测试项目中,通过一个文件备份泄露到主机上线的过程。 文件备份泄露对于测试的第一项当然是弱口令,bp跑了一通词典,无果。目录又爆破了一通,发现一个web.rar可通,赶紧下载看看,如下图所示。
[出自:jiwo.org] 代码审计解压瞅了瞅,源代码为ASP.NET框架的,这个真不懂,只能先用Fortify快速扫描一番,此处略过。 配置文件+未授权访问扫描之后,看了下报告排除了误报,发现某个xml配置文件包含了很多信息,比如数据库账号密码,微信AppId等等。 ![]()
习惯性将路径拼接一下访问一下url,好家伙,未授权。 ![]()
默认账户密码 同时注意到了配置文件中还有一行定义了默认登录账户和密码哈希。 ![]()
于是在cmd5对此哈希进行解密,并成功获取账号明文密码。
返回到登录界面,输入了刚才账户和解密的密码之后,果不其然,等登录验证成功之后跳转了系统内部。
储存型XSS在Fortify的扫描报告中有多个反射xss漏洞信息,不过随便点开功能栏,存在许多输入框,便觉得肯定存在储存xss,随便找一处,输入经典测试语句<script>alert(1)</script>点击保存并刷新,果然弹出了窗。 ![]()
文件上传刚找到一个xss,便不在测试了,此站点未进行任何xss过滤,肯定到处是xss漏洞。又在项目信息处找到了一个上传点,简单用哥斯拉生成一个webshell:test.asp,点击上传发现webshell上传成功,但是未返回文件上传路径,且文件名被改写为参数形式了。 ![]()
可以通过选择下载刚才上传的文件获取到新的文件名,但是问题是不知道上传到了那个目录下。
好在有源代码,通过关键词语搜索全局,找到多个名为uploadfile的文件夹的路径,通过这些路径拼接到url并一个个尝试访问即可,如下图,访问未报错即证明路径正确。 ![]()
使用正确的url通过哥斯拉连接成功,GetShell达成。
未授权访问+数据查询+xp_cmdshell=RCE在getshell之后,并未停止测试脚步,发现了一处sql查询页面,除了可以查询数据库内容外,还可以执行sql语句。 ![]()
考虑到配置文件的未授权访问,于是又在bp中删除了cookie,发现此查询页面也可以未授权访问,而由代码审计中的配置文件知道数据库为sql server,如果可以开启xp_cmdshell,那么便可以直接远程命令执行。
xp_cmdshell 这里简单介绍一下xp_cmdshell 扩展存储过程将命令字符串作为操作系统命令 shell 执行,并以文本行的形式返回所有输出。
关闭
|