Избегайте кросс-стороннего скриптинга в asp.net

В настоящее время я пишу модуль регистрации. По сути, это модуль регистрации, который берет информацию о пользователе с сайта asp.net и отправляет ее на SQL-сервер. Я внес значительные изменения, но при сканировании с помощью acunetix у меня все еще возникают проблемы с XSS. Модуль регистрации работает нормально, но я хотел избежать XSS. Потому что он явно уязвим и не прошел сканирование acunetix. Последний код, который я придумал, приведен ниже. Это событие нажатия кнопки.

        Dim connQuery As String = "Data Source=myserver;Initial Catalog=mydatabase;Integrated Security=True"
    Dim cs As SqlConnection = New SqlConnection(connQuery)
    Dim da As SqlDataAdapter = New SqlDataAdapter()
    Dim table As String = "[mydatabase].[dbo].[users]"
    Dim query As String = "INSERT INTO " & table & "(passwd, FName, LName, Organization, TelNo, FaxNo, Title, Email, User_type, GroupID, Activated, request_num, FirstLogin, LastLogin, IsLoggedin, IsOutsideInv, WI, study_type) VALUES (@passwd, @FName, @LName, @Organization, @TelNo, @FaxNo, @Title, @Email, @User_type, @GroupID, @Activated, @request_num, @FirstLogin, @LastLogin, @IsLoggedin, @IsOutsideInv, @WI, @study_type)"

    Try

        da.InsertCommand = New SqlCommand(query, cs)

        ' da.InsertCommand.Parameters.Add("@passwd", SqlDbType.NVarChar).Value = txtPassword.Text
        da.InsertCommand.Parameters.Add("@passwd", SqlDbType.NVarChar).Value = encode(txtPassword.Text)
        da.InsertCommand.Parameters.Add("@FName", SqlDbType.NVarChar).Value = txtFirstName.Text
        da.InsertCommand.Parameters.Add("@LName", SqlDbType.NVarChar).Value = txtLastName.Text
        da.InsertCommand.Parameters.Add("@Organization", SqlDbType.NVarChar).Value = txtOrg.Text
        da.InsertCommand.Parameters.Add("@TelNo", SqlDbType.NVarChar).Value = txtPhone.Text
        da.InsertCommand.Parameters.Add("@FaxNo", SqlDbType.NVarChar).Value = txtFax.Text
        da.InsertCommand.Parameters.Add("@Title", SqlDbType.NVarChar).Value = txtTitle.Text
        da.InsertCommand.Parameters.Add("@Email", SqlDbType.NVarChar).Value = txtEmail.Text
        da.InsertCommand.Parameters.Add("@User_type", SqlDbType.Int).Value = 0
        da.InsertCommand.Parameters.Add("@GroupID", SqlDbType.NVarChar).Value = 0
        da.InsertCommand.Parameters.Add("@Activated", SqlDbType.Bit).Value = 0 
        da.InsertCommand.Parameters.Add("@request_num", SqlDbType.Int).Value = 0
        da.InsertCommand.Parameters.Add("@FirstLogin", SqlDbType.DateTime).Value = DateAndTime.Now
        da.InsertCommand.Parameters.Add("@LastLogin", SqlDbType.NVarChar).Value = DateAndTime.Now
        da.InsertCommand.Parameters.Add("@IsLoggedin", SqlDbType.Bit).Value = 0
        da.InsertCommand.Parameters.Add("@IsOutsideInv", SqlDbType.NVarChar).Value = 0
        da.InsertCommand.Parameters.Add("@WI", SqlDbType.NVarChar).Value = txtInves.Text
        da.InsertCommand.Parameters.Add("@study_type", SqlDbType.NVarChar).Value = 0 

        cs.Open()
        da.InsertCommand.ExecuteNonQuery()
        cs.Close()
    Catch ex As Exception
        Labelmessage.Text = "Error while adding record to the database ==> " & ex.Message.ToString()
    Finally
        cs.Close()
    End Try

Каким будет идеальный способ пройти это сканирование? Буду признателен за любую помощь.

Я не понимаю, какое отношение это имеет к VBA? Следует ли это пометить как VB.NET? Это НЕ одно и то же!

Cindy Meister 14.06.2018 18:04

Ты прав. Простите!

GoGo 14.06.2018 18:57

XSS - это то место, где вы создаете выходной html, он не имеет ничего общего с запросами к базе данных.

Gabor Lengyel 14.06.2018 22:52

Кстати, хранение паролей в виде обычного текста - действительно плохая идея. Пожалуйста, используйте bcrypt или pbkdf2.

Gabor Lengyel 14.06.2018 23:14

сохранение пароля в виде простого текстового кода было отмечено как комментарий. Пожалуйста, посмотрите в следующей строке, какой пароль зашифрован.

GoGo 20.06.2018 17:02
ReactJs | Supabase | Добавление данных в базу данных
ReactJs | Supabase | Добавление данных в базу данных
Это и есть ваш редактор таблиц в supabase.👇
Понимание Python и переход к SQL
Понимание Python и переход к SQL
Перед нами лабораторная работа по BloodOath:
0
5
40
0

Другие вопросы по теме