DT, LFI, NBI та DoS уразливості в PHP-Nuke
23:53 13.10.2011Нещодавно я оприлюднив уразливості на hackzona.ru, знайдені мною ще 30.10.2010. Які адміни цього секюрі провекту довго виправляли (і перед цим ще багато років тримали на сайті). Враховуючи, що на сайті використовується PHP-Nuke, то дірки стосуються саме цього движка.
При попередньому перегляді було схоже, що на сайті використовується PHP-Nuke 8.0. Але як показали мої дослідження, що Directory Traversal уразливість була виявлена в PHPNuke 7.8 і 7.9 і експлоіт для неї був розроблений sp3x і оприлюднений ще в 2005 році. Тому, або цей сайт мав 7.9 версію PHP-Nuke, або 8.0 з деякими уразливими модулями (зокрема News) з попередньої версії. Й відповідно цілих п’ять років з часу оприлюднення експлоіту до того як я виявив ці дірки в жовтні 2010 року, адміни їх не виправляли та забивали на безпеку власного сайта.
Якщо sp3x у власному експлоіті наводить лише Directory Traversal (з Null Byte Injection) уразливість, то я доповнив її іншими дірками. І якщо DT потребує виключених mq для використання NBI для проведення атаки, то LFI та DoS уразливості не потребують NBI і тому працюють як з виключеними, так і включеними mq.
Directory Traversal + Null Byte Injection:
http://site/modules.php?name=News&file=../../robots.txt%00
Local File Include + Null Byte Injection:
http://site/modules.php?name=News&file=file.php%00
LFI також можна використати без NBI (для файлів з розширенням php).
DoS (Recursive File Include):
http://site/modules.php?name=News&file=../../modules
Уразливі PHP-Nuke 7.9 і попередні версії.