
Доказательство концепции, демонстрирующее уязвимость IDOR в CodeAstro Online Job Portal, позволяющую аутентифицированным работодателям удалять произвольные вакансии через изменённый параметр id.
Проект Online Job Portal Project in PHP MySQL, разработанный CodeAstro, не проверяет, принадлежит ли аутентифицированному пользователю объявление о вакансии, перед обработкой запроса на удаление. Изменяя параметр id в GET-запросе, злоумышленник может удалить объявления о вакансиях, принадлежащие другим работодателям.
id на ID вакансии Работодателя Aшаг 1:- GET /online-job-portal-php-mysql/jobs/job-delete.php?id=[victim_job_id] HTTP/1.1 Host: target Cookie: [attacker_session_cookie]
от пользователя A мы создадим новое объявление о вакансии и запишем его id — здесь это 41

шаг 2:-
от пользователя B мы удалим его объявление о вакансии, но перехватим запрос с помощью burp
как мы видим, id объявления о вакансии пользователя B равен 39
шаг 3:-
мы можем изменить id объявления о вакансии с 39 на 41 и удалить объявление пользователя A с учётной записи пользователя B
на этом изображении мы видим, что id объявления о вакансии был изменён с 39 на 41
и затем мы видим, что оно было успешно удалено

шаг 4:-
если мы зайдём в учётную запись пользователя A и посмотрим на конечную точку postedJobs, мы увидим, что объявление о вакансии было удалено

HTTP/1.1 302 Found Location: /online-job-portal-php-mysql/users/postedjobs.php?msg=deleted
Любой аутентифицированный работодатель может навсегда удалить объявления о вакансиях, принадлежащие другим работодателям на платформе, что приводит к потере данных и нарушению работы сервиса.