Проблема безопасности с портом 80
Пожалуйста, смотрите код ниже:
public ActionResult URLInjection(string id)
{
string connectionString = ConfigurationManager.ConnectionStrings["SQLInjection"].ToString();
using (SqlConnection connection = new SqlConnection(connectionString))
{
try
{
connection.Open()
SqlCommand command = new SqlCommand("select * from SQLInjection.Person WHERE ID = @id", connection);
command.Parameters.Add(new SqlParameter("@id", id));
command.CommandTimeout = 5;
command.ExecuteNonQuery();
using (System.IO.StreamWriter w = System.IO.File.AppendText("C:\\Development\\C#\\SQLInjection\\Log.log"))
{
w.WriteLine("Executed query");
}
Response.Redirect("~/Home/Index");
}
catch (Exception e)
{
//Log the error
}
}
Я развернул его в IIS на моем локальном ПК. Пожалуйста, смотрите команды SQLMap ниже:
C:\SQLMap\sqlmap.py -u http://localhost/SQLInjection/SQLInjection/URLInjection/1 --dbs --tamper between.py
Если я выполню эту команду, то SQLMap вернет имена всех баз данных на моем локальном сервере.
Если я изменяю привязку порта IIS с 80 на 81, то это не так, то есть, если я запускаю приведенную ниже команду (после изменения порта с 80 на 81), то он говорит, что проблем нет (я подтвердил, что он может видеть веб-сайт на порт 81):
C:\SQLMap\sqlmap.py -u http://localhost:81/SQLInjection/SQLInjection/URLInjection/1 --dbs --tamper between.py
Похоже, это указывает на проблему безопасности с портом 80 на моем локальном компьютере для разработки.
В чем может быть проблема?