Prevelate / WebGoat.NET

OWASP WebGoat.NET
0 stars 0 forks source link

CX SQL_Injection @ WebGoat/WebGoatCoins/ForgotPassword.aspx.cs [master] #31

Open Prevelate opened 4 years ago

Prevelate commented 4 years ago

SQL_Injection issue exists @ WebGoat/WebGoatCoins/ForgotPassword.aspx.cs in branch master

The application's GetSecurityQuestionAndAnswer method executes an SQL query with da, at line 319 of WebGoat\App_Code\DB\MySqlDbProvider.cs. The application constructs this SQL query by embedding an untrusted string into the query without proper sanitization. The concatenated string is submitted to the database, where it is parsed and executed accordingly. The attacker would be able to inject arbitrary data into the SQL query, by simply altering the user input Text, which is read by the ButtonCheckEmail_Click method at line 26 of WebGoat\WebGoatCoins\ForgotPassword.aspx.cs. This input then flows through the code to the database server, without sanitization. This may enable an SQL Injection attack.

Severity: High

CWE:89

Vulnerability details and guidance

Checkmarx

Lines: 67 28


Code (Line #67):

                    labelPassword.Text = "Security Question Challenge Successfully Completed! <br/>Your password is: " + getPassword(txtEmail.Text);

Code (Line #28):

            string[] result = du.GetSecurityQuestionAndAnswer(txtEmail.Text);