І знову про Oracle 
Header
Уявімо ситуацію:
1. Back-end: Oracle Database Sever (8i-10g).
2. Front-end: Apache + php (будь-http сервер + будь-який інтерпретатор, не важливо який, але для наочності візьмемо php, саме його я і використовував при написанні цієї статті).
3. Завдання: обійти обмеження і отримати якомога більше інформації
4. Захист: фільтр where, set, insert у запиті.
5. Ми будемо розглядати ін’єкцію в pl / sql процедуру, яка, в свою чергу, вже виконує sql запит
Read more…
Таки дійшли руки, почнемо.
Ми маємо:
1. DBA (можна й більш “дрібні” права, головне, щоб був доступ до Java, або DBMS_SCHEDULER або ALTER SYSTEM)
2. Все написане тестувалося на Win32 XP SP3 та Oracle XE (у мене немає ліцензії на платний Oracle. Тестувати дані скрипти на робочому сервері я не став) Тут ми будемо розглядати приклад тільки з DBMS_SCHEDULER. Служба OracleJobScheduler% ORACLE_SID% повинна бути запущена, інакше нічого не вийде )
Read more…
Написав нескладний exploit, що використовує уразливість в DBMS_SQLHASH.GETHASH. Exploit для роботи потребує sql ін’єкцію в pl / sql процедурі (зазвичай, на Oracle Application server, там і належать такі процедури по дефолту користувачеві з правами, яких нам достатньо). Загалом можна запитати, навіщо нам exploit, якщо є ін’єкція? Я відповім, що часто в таких процедурах йде простий sql select / update / insert, а в них ми можемо використовувати тільки простий sql. Даний exploit дозволяє виконати pl / sql, маючи при цьому тільки ін’єкцію у процедурі, яка виконує, скажімо, select і права тільки create_session.
Read more…
Останні коментарі