Привет У меня есть следующий запрос, который является частью класса java. Я просто хочу знать, какие возможные атаки возможны с помощью SQL Injection. Как злоумышленник может вводить запросы? Каковы примерные запросы в этом случае, которые могут быть использованы для получения доступа к базе данных?SQL Injection и возможные атаки
String query = ("SELECT username, password, admin FROM users
WHERE " + "username='" + username + "' AND password='" +
password + "'");
ResultSet rs = st.executeQuery(query);
// Entry in the result set means the query was successful and
//the user is a valid user
if (rs.next()) {
username = rs.getString(1);
isAdmin = rs.getBoolean(3);
Я думаю, что это возможный способ атаки, также помещая имя пользователя в качестве аЬса '; # так что-нибудь после # будет рассматриваться как комментарий в SQL. Что другие думают об этом?
Я хочу знать, что злоумышленник будет вводить в поле имени пользователя и пароль страницы HTML, чтобы получить доступ в качестве администратора. Предполагая, что работа вышеуказанного класса java заключается в обработке запроса входа пользователя с HTML-страницы путем запроса базы данных.
http://www.sqlinjectionwiki.com/Default.aspx – DCoder
Просто добавьте эту строку над первой строкой и запустите свой код. Он должен дать вам представление о том, что злоумышленник может предоставить при вводе пользователя: 'String username =" me '; Пользователи UPDATE SET password =' foo '; - "' – StuartLC
В зависимости от того, какие РСУБД, вы можете сделать все, отбрасывая базы данных для полного компрометации машины. –