Я разработал инструмент, и когда я запускаю fortify, я получаю 6 критических проблем, связанных со строкой подключения к базе данных, в которой говорится: «Объединение непроверенных входных данных в соединение с базой данных может позволить злоумышленнику переопределить значение параметра запроса. Злоумышленник может быть возможность переопределять существующие значения параметров, вводить новый параметр или использовать переменные вне прямой досягаемости».
public bool sqlDbValidateUser(string databaseHostname, string databaseName, string databaseUsername, string databasePassword)
{
_logger.Info("starting sql DB validation");
string ConnectionString = "Data Source=" + databaseHostname + "; " +
"Initial Catalog=" + databaseName + ";" +
"User id=" + databaseUsername + ";" +
"Password=" + databasePassword + ";";
using (SqlConnection connection = new SqlConnection(ConnectionString))
{
try
{
connection.Open();
return true;
}
catch(Exception)
{
return false;
}
finally
{
if(connection !=null)
{
connection.Close();
}
}
}
}