.NET代码审计之任意文件读取(2)

1. 文件下载

文件下载也算是另一种文件读取的方式,在.NET里代码审计时需关注以下关键特征
Response.ContentType = "application/octet-stream" "Content-Disposition", "attachment;filename"Response.WriteFile
Response.WriteFile 表示将指定文件的内容作为文件块直接写入 HTTP 响应输出流,demo代码如下图.

.NET代码审计之任意文件读取(2)

2. 文件流读取

FileStream类可以用于任何数据文件,而不仅仅是文本文件。通过读取字节数据,FileStream对象可以用于读取图像和声音的文件。FileMode.Open方法打开文件并读取,如下demo

.NET代码审计之任意文件读取(2)

通过System.Text.Encoding.UTF8.GetString(info.FileContent) 就能获取到文本字符,所以审计时需要关注一下关键特征
FileMode.OpenFileAccess.Read