记一次灰盒测试-任意文件读取/任意文件上传/弱口令

admin 2023年12月17日22:05:10评论26 views字数 1595阅读5分19秒阅读模式

前言

记录在挖掘SRC中中一个比较有意思的系统。

弱口令

登录页面没有验证码,选择直接爆破用户名密码。

记一次灰盒测试-任意文件读取/任意文件上传/弱口令

登录系统发现文件上传功能。

记一次灰盒测试-任意文件读取/任意文件上传/弱口令

任意文件上传

在附件上传处发现可以上传任意文件,但返回的path貌似是加密的。

记一次灰盒测试-任意文件读取/任意文件上传/弱口令

如何解密该路径呢?思路:1、通过任意文件下载找到dll源文件 2、通过备份下载源代码

任意文件下载

利用备份字典并不存在www.zip、www.rar类似的应用备份。回到网站挖掘任意文件下载漏洞。搜索历史数据包filename、filepath等关键字符串,发现一处任意文件下载。

记一次灰盒测试-任意文件读取/任意文件上传/弱口令

找到上传FileUpload.aspx的源文件。

记一次灰盒测试-任意文件读取/任意文件上传/弱口令

c#源代码一般在bin文件夹,根据返回的信息猜测dll为Sciyon.SyncPlant.Web.Frame.dll 或者 Sciyon.SyncPlant.Web.dll 成功下载到Sciyon.SyncPlant.Web.dll 利用 dnSpy 分析。

灰盒审计

直接查看FileUpload类。在SaveFiles方法里可以看到path经过了des加密之后才返回给了服务端。

那我们需要寻找一下des加密之前的路径。即text4服务端存储文件的路径。

记一次灰盒测试-任意文件读取/任意文件上传/弱口令

关键代码如下:

string text = Path.GetFileName(httpPostedFile.FileName);
string text4 = string.Concat(new string[]
            {
              "../UPLOADTEMP/",
              DateTime.Now.ToString("yyyyMM"),
              "/",
              base.Request.QueryString["GUID"],
              "_",
              this.ViewState["TYPE"].ToString(),
              "/"
            });
text4 = text4 + now.ToString("yyMMddHHmmssfff") + "_" + text;

text4 = "../UPLOADTEMP/" + "当前年月" + "GUID值" + "TYPE值" +  "当前日期和时间的格式化字符串" + "_" + "获取的文件名" 

经过chatgpt的解释和数据包的结构可以猜测存储的路径。

记一次灰盒测试-任意文件读取/任意文件上传/弱口令

类似于

/UPLOADTEMP/202309/8C5602C94DC1FBBC710260E464A5D1BB_file/230908181333111_1.txt

整个文件路径只有文件名是不固定的,是由年+月+日+时+分 + 秒 + 随机三位数 那么只需要爆破随机的三位数即可。

记一次灰盒测试-任意文件读取/任意文件上传/弱口令

成功找到txt文件。随即上传aspx webshell。

记一次灰盒测试-任意文件读取/任意文件上传/弱口令

经过尝试发现是一个黑名单的过滤。

绕过黑名单

记一次灰盒测试-任意文件读取/任意文件上传/弱口令

代码层在证明了我们的判断,在看到拦截常用的文件后缀时,想到使用cer的webshell。证明可行。但访问确实403状态码。

记一次灰盒测试-任意文件读取/任意文件上传/弱口令

大概率是该目录有限制。尝试../../ 跳出该目录。根据文件存储的结构,可以通过控制GUID实现目录的跳出。

记一次灰盒测试-任意文件读取/任意文件上传/弱口令

上传的文件名即为_file/230909113931111_1.cer,枚举三位随机数即可发现成功执行。

记一次灰盒测试-任意文件读取/任意文件上传/弱口令

总结

记一次灰盒测试-任意文件读取/任意文件上传/弱口令

最后

需要加入知识星球的可以后台回复“星球”,里面可以学习更多漏洞相关的知识,包含但不限于SRC漏洞挖掘,攻防演练,内网渗透,及各种工具等等,详情回复"星球"后有介绍,即将满40人开始涨价,早加入早享受

结尾

免责声明

获取方法

关注领取资源:

回复“钓鱼001" 获取 攻防演练-钓鱼文案

回复“app" 获取 app渗透和app抓包教程

回复“渗透字典" 获取 针对一些字典重新划分处理,收集了几个密码管理字典生成器用来扩展更多字典的仓库。

回复“书籍" 获取 网络安全相关经典书籍电子版pdf

压缩包解压密码:HackTwo

最后必看

本工具或文章仅面向合法授权的企业安全建设行为,如您需要测试内容的可用性,请自行搭建靶机环境,如果你学习了该文章内容需要测试请自行搭建靶机环境,勿用于非法行为

原文始发于微信公众号(渗透安全HackTwo):记一次灰盒测试-任意文件读取/任意文件上传/弱口令

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2023年12月17日22:05:10
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   记一次灰盒测试-任意文件读取/任意文件上传/弱口令https://cn-sec.com/archives/2311123.html

发表评论

匿名网友 填写信息