Как преодолеть ошибки манипулирования путями от HP fortify VB.NET код
Всем привет
я написал код в vb.net
Public Function GetFileContentvalue(ByVal Path As String) As String Dim FileStream As New StreamReader(Path)<--- Dim sFileText As String = String.Empty Try 'Read file and load all its content to the string sFileText = FileStream.ReadToEnd() Return sFileText Catch ex As Exception message.show("File exception") Finally If FileStream IsNot Nothing Then FileStream.Close() End If End Try Return sFileText End Function
-вызывающая ценность
sconfigText = GetFileContent(sFilePath)
'********************************************************
когда я сканирую свой код отверстия HP fortify scanner, показывающий ошибку манипуляции путями.где я указал выше.
пожалуйста, может ли кто-нибудь подсказать мне, как преодолеть эту проблему с помощью результатов сканирования hp fortify.
заранее спасибо.
Что я уже пробовал:
я попытался изменить код, но я не могу преодолеть эту ошибку манипуляции путем
Ralf Meier
Что такое "сканер HP fortify" ?
Какое значение содержит слово "путь"?
А как насчет документации вашей ?Сканер? ...?
lakshjoshi
i.О компании HP Foritfy SCA
Fortify Static Code Analyzer-это набор анализаторов безопасности программного обеспечения, которые ищут нарушения специфичных для безопасности правил и рекомендаций кодирования. Анализаторы предоставляют богатые данные, которые точно определяют и расставляют приоритеты нарушений в исходном коде программного обеспечения
2.путь, по которому читается текстовый файл forex:D:\config.txt
3.рискованное управление ресурсами - CWE ID 022
Неправильное ограничение пути к ограниченному каталогу ("обход пути"). CWE-22 утверждает: "программное обеспечение использует внешние входные данные для построения пути, предназначенного для идентификации файла или каталога, расположенного под ограниченным родительским каталогом, но программное обеспечение должным образом не нейтрализует специальные элементы внутри пути, которые могут привести к разрешению пути в местоположение, находящееся за пределами ограниченного каталога".
Укрепить Вопросов Папке Категории Аудит Операции С Контурами 37 0 Критические 9 0 Высокий 9 0 Средний 0 Низкий 9 10 0
дайте мне знать ваше предложение..спасибо
Richard Deeming
Это наводит на мысль, что код, который вызывает ваш GetFileContentvalue
функция строит путь на основе значений, введенных пользователем, без надлежащей проверки этих значений. Мы не можем сказать вам, как исправить этот код, потому что мы его не видим.
Нажмите кнопку "улучшить вопрос" и добавьте вызывающий код к вашему вопросу.
NB: Вы можете значительно упростить свою функцию, используя Файл.ReadAllText[^]:
Public Function GetFileContentvalue(ByVal Path As String) As String Try Return File.ReadAllText(Path) Catch ex As Exception message.show("File exception") Return String.Empty End Try End Function
Bryian Tan
откуда этот путь? Пользовательский ввод? конфигурационный файл?
lakshjoshi
конфигурационный файл.
когда я использовал приведенный выше код, предложенный Ричардом ... он работает нормально.
теперь HP fortify не сообщает об ошибке манипулирования путями.
спасибо за помощь
lakshjoshi
Отлично! ..
это решение работает ... большое вам спасибо.