del
Последнее редактирование:
str_replace("'", "''", $_REQUEST['new_profile_title']), которая используется для экранирования одинарных кавычек в значении new_profile_title. Функция clean_param вызывается с параметром PARAM_NOTAGS, оно уже содержит экранированные одинарные кавычки, и затем проходит через str_replace("'", "''", $_REQUEST['new_profile_title'])INSERT INTO user_profiles (TITLE,PROFILE) VALUES('AAAAAA2' OR '1'='1','admin')Уязвимость есть, эксплоитнуть можно, дело не в этом. Кстати обратный слеш далеко не является результатом str_replace. Эта функция просто берёт одну кавычку и заменяет её на две одинарные кавычки.
$_REQUEST['new_profile_title'] = str_replace("'", "''", $_REQUEST['new_profile_title']);
new_profile_title=AAAAAA2'; DROP TABLE user_profiles;--&new_profile_type=admin
Expected SQL Query:
INSERT INTO user_profiles (TITLE, PROFILE) VALUES ('AAAAAA2\'', 'admin')
Actual SQL Query:
INSERT INTO user_profiles (TITLE, PROFILE) VALUES ('AAAAAA2''; DROP TABLE user_profiles;--', 'admin')