CNVD漏洞代码审计 | 危险代码与漏洞成因分析
本文由
创作,已纳入「FreeBuf原创奖励计划」,未授权禁止转载
一、前言
之前审了几个oa拿了几张CNVD证书和少许的现金奖励,这边我就根据审计过的标准.Net开发的系统,总结下遇到的漏洞与成因。
(CNVD的审核标准一直是个谜,补天评定任意文件读取为高危,但在CNVD却是中危)
因为审计的漏洞实在太多,同一类型的都不收取了=-=
二、漏洞成因
任意文件读取
任意文件读取一般会配合目录穿越
首先映入眼帘的是Upload方法,但是却是读取文件的功能
在代码中对文件路径进行了一次拼接,设置没有做任意的处理
string a = ConfigurationSettings.AppSettings["FilServer"];
text2 = ((a == "") ? (parent.ToString().ToLower().Replace("\\c6", "") + "\\Resource\\GovFiles\\" + text) : (parent.ToString().ToLower().Replace("\\c6", "") + "\\upload\\Resource\\GovFiles\\" + text));
string str = text2;
传参..\\..\\便造成了目录穿越读取到其他目录下面的文件,很简单粗暴
再来看一处代码,功能是下载上传的文件
分别由两个下载的方法:Downloadfcform和Download
Downloadfcform中,传参text拼接到../resource/目录中,无过滤传参\..\..\即可
本文为 独立观点,未经允许不得转载,授权请联系FreeBuf客服小蜜蜂,微信:freebee2022
被以下专辑收录,发现更多精彩内容
+ 收入我的专辑
+ 加入我的收藏
相关推荐
文章目录