Jump to content
php.lv forumi

XSS un SQL injekcijas..


Recommended Posts

Posted (edited)

Cik reāli ir dabūt no datubāzes k-ko vairāk ārā ja lietotājam ir iespēja manipulēt ar SQL pieprasījumu no URLja ? un ir redzams redzultāts, ja SQL pieprasījusm ir kļūdains?

 

Piemēram, no šāda pieprasījuma ?

select desc_txt from products_desc_full where desc_id = '164' and products_id = '12056' and languages_id='4'

 

Šai gadījumā iespējams manipulēt ar 12056 un netiek pielietots mysql_real_escape_string un citas funkcijas ?

Edited by MakaTaNaw
Posted (edited)

iedod kveriju kas tev izvada tabulas struktuuru ... un ja attieciiigajam userim buus tiesiibas, tad var dariit to ko tiesiibas atljauj ,,, :)

Edited by Klez
Posted

emm.. atvainojos par samērā muļķīgu jautājumu, bet kāds izskatīsies tas kverijs ? :)

Posted

bubu, tad atmet uz iepriekšējo lapu..

bet piem ja ierakstu ' bla, bla '

tad parādas tāda kļūda:

1064 - You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near 'bla, bla'' and languages_id='4'' at line 1

select desc_txt from products_desc_full where desc_id = '348' and products_id = '28449' bla, bla'' and languages_id='4'

 

 

P.S. bubu, kā Tev izdodas forumā ierakstīt iekrāsotu SQL pieprasījumu ? :)

Posted

[ sql ] bbtagi.

Nu errorus jau nav māksla dabūt :)

 

A kāpēc atmet uz iepriekšējo lapu? Vienīgi varbūt tāds kods ir paredzēts. Atkarīgs jau ko dara ar selekta rezultātiem. Es biju domājis, ka izvada tos ārā. Tad tas ievadītas vienk izvadītu visus abulas ierakstus, ne tikai kuri atbilst tiem WHERE nosacījumiem.

Posted

Atmet uz iepriekējo lapu laikam tāpēc ka nav dots $_GET['id'].. (pirms pieprasa no SQL droši vien ka pārbauda.

 

Un tos rezultātus izvada lapā arā cik nojaušu, jo tiek attēloti produkta apraksts... (smukā formatētā html tabulā)

Posted

Dzi, pēc taviem tekstiem man tagad liekas, ka tā nav tava lapa, ko tu tur jauc.. Tā nav labi. Ja radīsies lielāka aizdoma, tad topiks pazudīs.

Posted

Tad formatēšu savu jautājumu savādāk. Vai pēc dotā sql pieprasījuma var attēlot no sql dabūtos datus (tabulas saturu), piemēram, uz teksta failu ?

Posted
Vai pēc dotā sql pieprasījuma var attēlot no sql dabūtos datus (tabulas saturu), piemēram, uz teksta failu ?

Var

 

Principā, lai neradītu liekas problēmas, lapas ir jātaisa, ka linkā tiek padots skaitlis. (protams, ja tas ir iespējams - nav pieprasījums pēc teksta meklēšanas utt.) Skaitli var viegli pārbaudīt etc.

 

Ja tiek likts teksts, tad varam definēt simbolus, kas ir atļauti [a-Z] un ar problēmas nebūs. Kad vajag ievadīt semikolu vai apostrofus, tas jau ir retāks variants - tad var attiecīgi ar php līdzekļiem eskeipot pēdiņas..

Posted

Nu ar ar mysql_real_escape_string un htmlspecialchars taču pietiek, lai izbēgtu no injekcijām, vai ne?

Posted

htmlspecialchars nav nekāda sakara ar SQL injekcijām.

Pietiek ar kveriju eskeipošanu (vai parametru bindošanu: mysqli_stmt_bind_param)

  • 3 weeks later...
Posted

Ar htmlspecialchars var pārveidot apostrofus, kurus padod caur $_GET, $_POST, etc, lai izbēgtu no injekcijām. Piem., ' OR ' pārveodps par ' OR ' [apmēram tā] un ' vairs nav "indīgs" SQL pieprasījumam.

Posted

ar magiskajaam kvotaam ar var ... magick_quota .. vai kaa vinsh slashu pieliek priexaa .... ja caur get/post ienaak ' vai " tad kverijaa jau ira \' \"

×
×
  • Create New...