XML 파일을 로드 시도하는 부분에 보안 이슈가 있어서 처리한 내용
XML 파일을 검증 없이 로드하다가 공격 코드에 노출될 수 있어서 처리한 함수
public static Stream GenerateStreamFromString(string s)
{
MemoryStream stream = new MemoryStream();
StreamWriter writer = new StreamWriter(stream);
writer.Write(s);
writer.Flush();
stream.Position = 0;
return stream;
}
public static XmlDocument XmlLoadIgnoreDTD(string xml)
{
Stream stream = GenerateStreamFromString(xml);
XmlDocument xmlDoc = new XmlDocument();
try
{
XmlReaderSettings settings = new XmlReaderSettings();
settings.ProhibitDtd = false;
settings.XmlResolver = null;
XmlReader reader = XmlReader.Create(stream, settings);
xmlDoc.Load(reader);
}
catch (Exception x)
{
return xmlDoc;
}
finally
{
stream.Close();
}
return xmlDoc;
}
'프로그래밍 > C#' 카테고리의 다른 글
자바스크립트 CryptoJS.HmacSHA256를 C# HMACSHA256 클래스 대응 (0) | 2021.10.28 |
---|---|
C# WEB URL로 PDF 다운받아 Base64문자열 변환하기 (0) | 2021.02.17 |
C# SecureString 클래스를 이용한 문자열 보호 (0) | 2018.02.27 |
C# 파일명 유효성 체크 (0) | 2018.02.26 |
C# 파일 경로 유효성 체크 (0) | 2018.02.26 |
C# 싱글톤 패턴 예제 모음 (2) | 2018.02.21 |
C# DataGridView 에서 선택된 DataRow 꺼내기 (0) | 2018.01.11 |
C# 일정 범위 내에 IP 체크하기 (0) | 2017.11.09 |