< HomePage | Снимки
<- Сряда, 24 Ноември 2004 | Начална страница | Петък, 26 Ноември 2004 ->
Четвъртък, 25 Ноември 2004
15:58

Винаги съм обичал да се забавлявам, като гледам какви весели и "сигурни" сайтове правят т.н. "web програмисти". Днес случайно попаднах на поредният български сайт магазин helikon.bg. Гордо озаглавен "Българската книжарница". Все едно няма други, но хайде ще им простим.

Първо впечатление - изглежда шаренко и горе-долу добре. Дотук всичко е ок, я да пробвам няколко елементарни трика.

Тествам стандартните добавяния на единични кавички в параметрите към сайта и защо ли не се учудвам, че почва да се чупи. Не с някое просто "Error in query", а със страшното съобщение: "Fatal error: Maximum execution time of 30 seconds exceeded in /home/www/www/helikon.bg/template.php on line 131". Купон. Мдааа, ясно ви е, че SQL Injection има. Поне навсякъде където се сетих да пробвам, имаше.

Време е да се тества дали търсачката филтрира специлни символи. Хммм, намерено "1 до 20 от 16803", браво доста заглавия имат и не лъжат в текста отгоре на страницата. :-) Освен това не филтрират специалните символи _ и % (май не ги знаят). Тръгвам да цъкна за да видя следващата страница от резултатите и тук вече очите ми се пълнят със сълзи от умиление. И вашите ще се напълнят след като проумеете какво е измислил гениалният програмистки мозък.

Вижте внимателно адреса, който ви се отваря:

http://www.helikon.bg/search.php
?act=sql
&sql=U0VMRUNUICogRlJPTSBtYWluIHdoZXJlIHRpdGxlI Gxpa2UgJyVfXyUnIG9yZGVyIGJ5IHRpdGxlIEFTQyA=
&sql_which=20
&sub_act=1

За ваше удобство съм го разделил по параметри (махнете шпациите във SQL параметъра, добавил съм ги аз).

Лично на мен веднага ми привлича вниманието параметъра sql и "странната" поредица от букви след него. Нещо кодирано? Нещо неразчитаемо? Дали? Като гледам символа равно (=) накрая това май ще да е обикновен base64 кодиран текст. Я да вземем да проверим дали е така. Пишем една кратка PHP програмка:
<?
   print base64_decode("U0VMRUNUICogRlJPTSBtYWluIHdoZXJlIHRpdGxl IGxpa2UgJyVfXyUnIG9yZGVyIGJ5IHRpdGxlIEFTQyA=");
?>
и мислено си представяме как сега най-вероятно ще ни изплюе SQL заявката, която ползват за да търсят в базата. Но не, не може да са толкова малоумни, НЕ МОЖЕ!

Пускаме си скрипта (php -q bozi.php) и какво виждат невярващите ми очи:

SELECT * FROM main where title like '%__%' order by title ASC

А стига бре! Значи все пак МОЖЕ да са толкова малоумни, че да получават цялата заявка от клиента като текст.

Това ни отваря доста интересни възможности, набързо се сещам за няколко. Едната е абсолютно грубианска, какво ще стане ако заменим "SELECT ...." с "DELETE FROM main"? Дали няма да изчезнат някои данни, които helikon.bg сигурно смятат за важни? Или нещо още по-подло - какво ще стане ако вземем да пипаме по цените на книгите с подходящи заявки? Оставям отговора на тези въпроси и експериментите на любезният читател.

Аз само мога да кажа за пореден път, ееееееееееееееех програмистиииииии.

[ Коментари: 7 ]
Коментари

Да бе с такива всеки ден се сблъсквам, умниците с кривите пръсти

Написа :))) на 25-Nov-2004 15:41


Ей, кракер гаден! ;) Нали ти беше този, дето щеше да изхака сайта на Автора (онзи с безплатните обеди). Какво си тръгнал да се заяждаш с хората, бе!
Признавам обаче, това с гениалният похват да се изпълняват директно заявки от потребите и мен ме разтърси. Всъщност, май за потребител не не са разрешили *всякакви* операции с таблиците (което не ги оправдава, де), самият факт, че позволяват да се изпълнява код е доста стряскащ. Какво ли не прави "улеснението" и (вероятно) сроковете с всеки проект.
Нека да им е лесно на момчетата/момичетата програмисти. Сигурен съм обаче, че от Helikon не знаят за какво са платили и каква работа им е свършена. Просто се радват на шаренията и им е кеф. Не им го разваляй...остави ги да се изненадат някой ден.

Написа Владимир Герджиков (www) на 26-Nov-2004 07:29


Искам да ти благодаря за цветовите гами на блога. Днес след около 4 месеца по-късно рекох да видя кое как е направено и гледам някакъв иконостас се мъдри в Мозилата. Чак сего го забелязах.

http://www.karatebulgaria.com/alex/txt/2004-11-26/css .png

Написа Александър Панов (www) на 26-Nov-2004 08:52


Още по-интересно става като видиш какви още клиенти имат - министерства, хотели, БАН, БНР ...
А и имат награда "BG Site 2002"

Написа Izida (www) на 26-Nov-2004 09:23


Всъшност проблема идва от това, че разработката на динамични уеб приложения е много достъпна и доста хора след 2-3 седмични занимания с някоя книжка за PHP се обявяват за Уеб програмисти. Лошото е, че обикновенно развитието спира до тук и резултата е налице ;)
В този ред на мисли - можем да очакваме големи изненади от набиращите сила .НЕТ програмисти ;)
Всъшност сега достигам до извода, че достъпността на една технология е нещо много коварно.
1. намалява цената на труда свързан с технологията (напр. PHP програмисти има доста)
2. позволява разработката на отговорни системи от неотговорни програмисти ;)

Написа Becko на 26-Nov-2004 10:32


Ако потърсиш по кавичка в същият сайт резултат е следният:

SELECT main.id as book_id,main.title,main.memo,main.price,main.NR, autor.name as author,main.autor as author_id FROM autor,main where autor.id=main.autor and main.autor=15684 order by main.title ASC

показва в хедъра на сайта със ситен шрифт ;))) хихи

Написа Mesten на 26-Nov-2004 12:57


iavno sa se usetili se pak momchetata zashtoto veche ne stava i tova ne e mnogo losho ;) zabeliazvam obache i v tozi sait neshto stranno shapciite se iziajdat m/u dumite kato napisha "tova_ne" sas shpacii zashto mi stava tovane sliato?
Ne e mnogo losho sysadmina da si pogledne tvorenieto che mai i toi ima za dialane ;))
to iavno che "ne" se izpolzva i za neshto drugo ama ...

Написа nekoisi на 27-Nov-2004 06:51