Skip to content

Latest commit

 

History

History
118 lines (60 loc) · 3 KB

[实战安全研究]-2023-7-19-实战 | 某网络教学平台审计过程记录.md

File metadata and controls

118 lines (60 loc) · 3 KB

实战 | 某网络教学平台审计过程记录

AGONI 实战安全研究

实战安全研究

微信号 gh_f390fc63c711

功能介绍 我们都是网络安全爱好者,专注于网络安全技术。主要以实战讲述web渗透,代码审计和内网渗透,偶尔poc/exp开发和分享,未来主要关注Java安全。


__发表于

收录于合集

#网络安全 74 个

#渗透测试 115 个

#web安全 114 个

#审计 12 个

0X00 前言

在某次漏洞挖掘中通过了Ueditor的远程图片抓取漏洞成功拿到了该系统的权限,并把源码下载了下来,并趁此机会学习学习Net代码审计,如有问题,感谢指正

0X01 审计过程

拿到源代码后,我们通过dnspy直接查看bin目录下的二进制文件即可(编译好的源代码),采用的MVC的设计架构我们关注Controllers中的方法即可

在来点小插曲,在Net中继承会默认继承对方的Filter,所以这一点需要格外注意,例如以下Demo

Filter

请求Demo1会触发此Filter请求

Demo又继承Demo1

最后的请求结果,请求demo,带cookie能够正常访问

不带Cookie会直接跳转

0x10 任意文件上传1

全局搜索upload发现此处存在任意文件上传,首先判断上传文件个数是否等于0,如果等于则返回保存失败,之后直接通过string extension = Path.GetExtension(httpPostedFileBase. FileName); 获取后缀并且直接拼接导致任意文件上传

向上追溯,发现继承于TeachingBaseController跟进查看

实现了TeachingActionFiler

判断了用户session不为空,以及用户身份必须等于教师

0x11 任意文件上传2

一处未授权任意文件上传继承ApiController 并未实现任何权限校验操作

但文件名是由text+string str = Guid. NewGuid(). ToString() +后缀名组成,且是以json格式返回,爆破Guid 不知道猴年马月了

0x12 任意文件上传3

这个就比较人性化了,拼接后缀后直接返回路径

0x13 任意文件上传4

同样也是拼接路径,最后写入数据流

当然这套系统还有很多同样的问题太多了,都差不多

0x14 任意文件下载

用户可控参数path,和filname ,并未做任何过滤,直接判断path路径文件是否存在,存在即下载文件

0x15 SQL注入

用户可控参数 role,id,radio其中id以及role直接拼接导致注入的发生

这一处也是同样的

文章来源于:https://xz.aliyun.com/t/12654

若有侵权请联系删除

预览时标签不可点

微信扫一扫
关注该公众号

知道了

微信扫一扫
使用小程序


取消 允许


取消 允许

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