在之前打省护的时候无意间获得某网站源码,国护面试通过了以后把之前留在手里的代码重新拿出来做一下代码审计,也借此机会做个记录。
源码包大致分布是这样,由于没有使用Mvc开发思想也就省去了反编译dll寻找路由的一步了,所有功能基本上都在aspx对应的cs文件下
首先使用小脚本来对源码包内的所有存在的aspx web页面做个遍历,这样做的目的是为了更快速的审计出未授权访问,或者未授权页面导致的其他类型漏洞,一般来说对其他语言同样适用,java的jar除外
然后使用burp上的攻击功能实现目录,文件的批量访问来查找未授权漏洞,再过滤状态码为200的一些页面,开始审计!
AccessFaceSwiping.aspx文件可以直接访问页面返回空白,看一下cs文件内的后端代码怎么写的,这里使用Request.Params以Get方式获取UserId,DoorIP两个参数,然后做了非空判断,这两个参数是可控的
这里使用GetList方法去获取数据库里面的值做下一步的判断,DoorIP直接拼接到sql语句内从而造成sql注入漏洞
构造数据请求包给两个参数赋值加单引号干扰sql闭合,成功报错
这里的UserId也是存在sql注入的只不过需要从上一个门禁IP地址判断内跳出来,由于这一块不知道所以利用条件有点苛刻,接下来看另一个
VideoUP.aspx文件内获取了ID参数,只要是ID参数不为空就会跳入下一个判断内
往下走进入MM值的判断,不过还好这个值是xml静态资源文件内的固定的,如果说使用加盐加密方法获取就很难办了
APP_MM的值拿到以后来看ID参数是否能造成sql注入
使用工具反编译方法对应的dll文件,可以看到参数依然是拼接进来的,这里id参数依然存在sql注入
构造数据包成功报错,丢到sqlmap内跑
就到这了吗?
我注意到一个目录,通常asp.net的站点都会搭配UEditor富文本编辑器,这里的是1.4.3版本漏洞覆盖到了
controller.ashx下的catchimage方法同样存在,尝试发包getshell
怎么就打穿了其他高校?
通过对该站点的版权信息收集发现属于某科技公司开发,通过ico,js,body特征等文件md5 hash比对找到了大概30多所高校
以上为部分成果
小记:
如果你对黑/白盒渗透,流量规避,工具二开,红队打点感兴趣,可以公众号私信找我聊聊,又或许你认为自己是个菜鸟小白,这一路受过太多所谓“大佬”的冷眼嘲笑,不妨交个朋友,我们放下知识体量不谈,纯粹的聊点你觉得很有意思,很棒的小玩意,又何尝不可呢?
原文始发于微信公众号(进击安全):实战|记一次代码审计打穿多所高校
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论