Jump to content
¯\_( ツ)_/¯
  • TAD GROUP are currently hiring penetration testers. Please read the topic in Career Central subforum.
  • Sponsored Ad
ТУК НЕ СЕ ПРЕДЛАГАТ ХАКЕРСКИ УСЛУГИ ! ×
freeman987

SQL Injection програми

Recommended Posts

Какво програми използвате за тестване на тази слабост? Едни от най-масовите са sqlmap и SQLi Dumper. Предложете нещо драснато на PHP или някой портативен вариант на програма (без инсталация). 

  • Thanks 1

Share this post


Link to post
Share on other sites

За тези, които ползват руски език препоръчвам интересна статия (всъщност са повече от една) по темата:

https://habr.com/en/post/148151/

Там има чист PHP код.

Лично за мен това е много актуална тема.

Защитата от SQL инжекции е сериозен проблем и считам че се нуждае от широко обсъждане.

 

 

Share this post


Link to post
Share on other sites

Изпратете линкчета за сваляне по възможност. Създавам един проект и искам да тествам повече възможности. Проблема ми е, че по презункция създавам модул към вече съществуваща система и не съм сигурен уменията на програмиста преди мен. Надграждайки системата ще запълвам дупките в нея. Нужен ми е софтуер за качествени тестове. 

Share this post


Link to post
Share on other sites
Преди 1 час, Avatara написа:

За тези, които ползват руски език препоръчвам интересна статия (всъщност са повече от една) по темата:

https://habr.com/en/post/148151/

Там има чист PHP код.

Лично за мен това е много актуална тема.

Защитата от SQL инжекции е сериозен проблем и считам че се нуждае от широко обсъждане.

 

 

Тази уязвимост би трябвало отдавна да е забравена, но уви незнанието прави големи бели!

  • Thanks 1

Share this post


Link to post
Share on other sites

Да. Абсолютно си прав. 

Мисля, че статията е добра за тези, които сега се учат. Те трябва да избягват грешките, които други са допуснали.

Share this post


Link to post
Share on other sites
Преди 15 часа, freeman987 написа:

Изпратете линкчета за сваляне по възможност

https://anonfile.com/Cc5b1b35n9/Safe3WVS-9.0_rar

https://anonfile.com/G65b1a3fne/WebCruiserWVS_rar

WebCruiser се инсталира (дал съм и Crack) но тази програма има една тънкост повечето не я знаят. Примерно понякога Data Base се криптира (примерно fFfWf#@ad#@$) излиза ето така или подобно. Но с тази програма това не е голям проблем. Другото което е сканира за SQL инжекция и изтегля Data Base. Докато другите програми не се справят но тази върши много по-добра работа. Но трудно се работи в началото.

Edited by Pentester
  • Thanks 1

Share this post


Link to post
Share on other sites
Преди 4 часа, Pentester написа:

https://anonfile.com/Cc5b1b35n9/Safe3WVS-9.0_rar

https://anonfile.com/G65b1a3fne/WebCruiserWVS_rar

WebCruiser се инсталира (дал съм и Crack) но тази програма има една тънкост повечето не я знаят. Примерно понякога Data Base се криптира (примерно fFfWf#@ad#@$) излиза ето така или подобно. Но с тази програма това не е голям проблем. Другото което е сканира за SQL инжекция и изтегля Data Base. Докато другите програми не се справят но тази върши много по-добра работа. Но трудно се работи в началото.

Много готина програмка е WebCruiser-а. Благодаря ти много  за нея!!! Safe3 ми дава само веднъж да тествам и иска някаква регистрация. Други програмки за пентестинг имаш ли? 

  • Like 1

Share this post


Link to post
Share on other sites

WebCruiser е прекрасен инструмент за анализ на уязвимости.

Ако позволите две думи как функционира.

Това е типичен web-crowler. 

Първо "сканира URL адреса и установява къде физически са разположени отделните странници на web-ресурса. Напълно възможно е отделните компоненти да са разположени на различни физически устройства (сървъри с различни IP-адреси).

Следващата стъпка е анализ на HTML кодовете (ах, тези браузъри) и извличане на всички препратки към скриптовете.

Тук искам да направя малко отклонение.

Дори да сте написали index.php (или ASP или нещо подобно) спасение няма, защото скриптовете са ТЕКСТОВИ ФАЙЛОВЕ и като такива могат да бъдат разчетени.

След като сте получили съдържанието на скриптовете няма как да не получите и скрипт, посредством който се извършва свързване (connection) със СУБД (базата данни.

Всички connection string символни низове следват ЕДИН ОБЩ МОДЕЛ, което ги прави много лесни за анализ (някъде бях аписал, че ще се наричаме "анализатори").

Лично аз горещо ви препоръчвам да се запознаете със техническата документация. Повярвайте тя е невероятен инструмент.

Ето ви нагледен пример, колко много може да научите за connection string от напълно ОФИЦИАЛЕН ИЗТОЧНИК (компанията зас тази информация е ORACLE):

https://www.connectionstrings.com/mysql/

След като знаете кое какво е имате два варианта:

1. Варианта на начинаещият - проникване в базата посредством използване на SQL

2. Копиране на базата на локално устройство или друг сървър при използване на TCP.

Кой от двата варианта е по-добър не мога да кажа. Ако имате голяма СУБД ще трябва да сваляте с месеци, при това следвайки определени процедури за сигурност.

Предимството обаче е, че в този случай няма да ви се налага да "хаквате" базата. Трабва ви просто бай-обикновен ТЕКСТОВИ РЕДАКТОР, защото както скриптовете, така и масово използваните бази данни не са нищо повече от ТЕКСТОВИ ФАЙЛОВЕ.

За вас е важно съдържанието им, а то се достъпва с обикновен PE2 редактор и може да го четете като роман.

Но ...

Да видим какво правим, когато имаме голяма база данни. Там е важно да се получи т.н. СХЕМА.

И тук може да видите ролята на WebCruiser.

На практика той иззема функциите на т.н. "бизнес слой" и анализира структурата на СУБД.

От там насетне вие реално виждате всички записи и полета в отделните таблици, от които е изградена базата.

Така функционира WebCruiser.

Механизмът е изключително ефективен, най-вече поради своята простота.

Срещу какво е безсилен?

Безсилен е ако  позлвате SSQL или други подобни решения. Тогава POST или GET заявките са напълно безполезни.

Реално една псевдо SQL заявка ще има вида: "table_name = query1, query2; ... ueryN", а това няма как да се използва за SQL injection.

За да ме разберете, ето едно и също нещо записано с SQL и със SSQL:

 

SQL заявка

SELECT customer_name
  FROM customers
WHERE (first_name LIKE 'A%') AND (last_name LIKE 'B%')

 

SSQL заявка

customer_name: first name = A..; last_name = B..

И при двете заявки искаме от таблицата customer_name да получим списък с лица, чието първо име започва с A, а фамилията започва с B. При SSQL ; e AND, a , e OR.

Разликата е очевидна, но във вторият случай SQL инжекциите са невъзможни.

Тогава ще се налага да се свали цялата база под форма на архивно копие, но ... Това вече е друга тема.

Мисля, че WebCruiser e много силен инструмент за анализ на уязвимостите, при стандартни решения.

Въпросът е колко експерти по "индустриално разузнаване" (моля да не се бърка със "икономически шпионаж", защото са много различни) биха използвали SQL инжекция, когато могат да достъпят директно текстовите файлове (достъп на физическо ниво), които на практика са СУБД и да извлекат информация директно без да разполагат с административни привилегии.

В този случай е добре да се контролира трафика (входящи и изходящи пакети) за да се установи дали докато ние пазим портите на замъка, информацията не "изтича" през прозорците или директно не се изхвърля от главната кула.

Но пак повтарям, че лично на мен  WebCruiser ми е много симпатичен.

Знаете ли защо ми е симптична?

ЗАЩОТО Е WebCruiser ТИПИЧЕН OUT OF BROWSER ПРОДУКТ!  :)

Това на мнозина никак няма да се понрави, но е факт.

Локално приложение, което е създадено да върши работа, а не web ресурс, който не се знае как работи и какво върши.

А ето и как в Русия използват WebCruiser. Мисля, че статията е написана много добре.

https://lolzteam.net/threads/153417/

 

 

  • Like 1
  • Thanks 1

Share this post


Link to post
Share on other sites
На 20.08.2019 г. at 10:53, freeman987 написа:

Много готина програмка е WebCruiser-а. Благодаря ти много  за нея!!! Safe3 ми дава само веднъж да тествам и иска някаква регистрация. Други програмки за пентестинг имаш ли? 

Имам братле но трябва да видя най добрите и ще ти ги пратя ако искаш. :) 

  • Thanks 1

Share this post


Link to post
Share on other sites

Наистина е готина програмаката, но за тези, които я ползват за тестване на собствени проекти - не я пускайте преди да сте си направили бекъп на базата ;)
 

 

Share this post


Link to post
Share on other sites
преди 12 минути, tatul написа:

Наистина е готина програмаката, но за тези, които я ползват за тестване на собствени проекти - не я пускайте преди да сте си направили бекъп на базата ;)
 

 

Тук говорим за тестване на собствени проекти преди пускане в продукция. Идеята е просто да се потърсят слабости в системата, които могат да доведат до проблеми в публичната част на проекта. Естествено, програмите ще се използват и за анализиране на сайтове на клиенти, желаещи подобряване на тяхната защита. Така или иначе всеки сам може да си създаде подобна програма, но е глупаво да го правиш, щом хората са се постарали да го направят удобно и лесно четимо.  Много готини инструменти са това. Очаквам още предложения за готини програмки за анализ на SEO или SQLi и XSS атаки. 

  • Like 1
  • Thanks 1

Share this post


Link to post
Share on other sites

Наистина за тази цел е прекрасна. Само отбелязвам, че ако на програмата се отдаде възможност - ще пише в базата с данни и във всички случаи ще е нещо, което не трябва да е там... затова си направете бекъп... Пък и никой не тества приложение на празна база ;) просто е хабене на ресурс.. 

  • Thanks 1

Share this post


Link to post
Share on other sites
Преди 1 час, tatul написа:

Наистина за тази цел е прекрасна. Само отбелязвам, че ако на програмата се отдаде възможност - ще пише в базата с данни и във всички случаи ще е нещо, което не трябва да е там... затова си направете бекъп... Пък и никой не тества приложение на празна база ;) просто е хабене на ресурс.. 

Дали ще е празна, значение няма. Въпроса е да се свърши качествено и коректно работата. Дали си решил, ако си открил уязвимост, да правиш бели е въпрос на морал и възпитание, нищо повече!!! 

  • Thanks 1

Share this post


Link to post
Share on other sites

Само ако ми позволите да вметна.

Напълно подкрепям freeman987 за това, което е написал.

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

Ако някой не вярва в това, което пиша да пробва какво се случва когато се ползва FDPhusOracleLink и стандартен Connection на FD. Колкото и да е защитена ORACLE базата, всички записи (records) и полета (fields) стават напълно достъпни за всякакъв род манипулации и дори не се налага да се пише SQL. FDBachMove и всичко отива където му се посочи без един ред код.

Забавното e в друг интересен аспект ... 

Масовата практика е да се използва Apach и естествено Linux, с всички произтичащи от това последици. Когато някой е направил нещо не се знае какво и как точно го е направил. 

Пример:

Де що е Python програмист масово ползва cached-property.

Да, но cached-property е изключително опасен код, който може да нанесе щети съизмерими само и единствено с вирус..

Причината за това е, че на практика този код е в състояние да унищожи вътрешното състояние на обекта. Приемам, че @reif позволява да се създаде кеш и че така написаният код изглежда "елегантно", но не го препоръчвам. Ако държите чак толкова да ползвате Python е по-добре да създавате кеш, по добре познатия начин, като използвате dict или друг доказан способ.

Истината е, че проблемите с @reif са много стари. Те се знаеха още от времето на проекта Pyramid, но тогава си го знаехме като reify. Трие бази данни на случаен принцип като ламя.

 

Знам, че някой ще каже, че примера няма нищо общо с SQL. 

Истината е, че има. Има защото и в Linux и в Apach и в SQL и в HTML има куп проблеми и те се дължат на това, че всички те са просто копирани елементи на много по-големи проекти. Да, но едно парче от счупена чаша не прави цяла чаша. Та тези приложения работят само защото има такъв вид слабост, която в програмирането се нарича "политическа грешка".

Но .. да се върнем на темата.

Подобен род програми (за копиране на съдържание) са безсилни срещу стандартно IntraWeb приложение. Когато се сблъскат с нещо подобно, резултатът е нулев. IntaWeb има своя логика.

Тези приложения работят тогава и само тогава, когато web-ресурсите и съпътстващите ги скрипрове са изнесени файлове. Ако обаче този, който е разработвал сървърното решение е решил, че е много по-добре да използва PageProducer или TableProduser, те са неизползваеми. 

Можете да направите много елементарен експеримент, ако се опитате да свалите нещо от REST-сървър, който ползва PageProducer за всичко, което се достъпва по HTML. На практика ще свали резултатната странница, която няма нищо общо с реалния код. Няма да може и да свали базата, защото просто няма как да получи физически достъп. Проверено.

Съвсем друг е проблемът, когато за достъп до СУБД се ползва NetBEUI или SPX. Направих проверка и за двата протокола. Получиха се доста забавни резултати.

Между впрочем това дава интересни теми за размисъл.

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.