Szerző Téma: SQL érték megváltoztatása  (Megtekintve 2898 alkalommal)

SQL érték megváltoztatása
« Dátum: 2017. Június 26. - 08:30:34 »
0
Sziasztok!
 
Van egy bejelentkező panelem és, ha bejelentkezel és mondjuk változik a pénzed akkor az SQL - ben is meg kell változnia a pénzednek. Ahhoz, hogy megváltozzon az SQL - ben kell egy felhasználónév. 
 



   
      mysql_query(Database, \"SELECT * FROM `accounts` WHERE `Username` = \'\"..Username..\"\'\")
   

[/quote]
 
A Username - et, hova/mibe érdemes lementeni, illetve mibe biztonságos?
« Utoljára szerkesztve: 2017. Június 26. - 08:31:04 írta Somax02 »

SQL érték megváltoztatása
« Válasz #1 Dátum: 2017. Június 26. - 11:50:47 »
0
Idézetet írta: Somax02 date=1498458634


   
       
   
   
      A Username - et, hova/mibe érdemes lementeni, illetve mibe biztonságos?
   


A jelszót titkosítani, de ne felhasználónévről keress. Hanem AI val csinálj egy id oszlopot, és csak egyszer a felhasználónévvel lekéred azt az ID-t majd elementDatázod. Aztán:
 

mysql_query(Database, \"SELECT * FROM `accounts` WHERE `id` = \'\"..getElementData(telefonrol nem tudom a szintaxist)..\"\'\")

 
//telo

SQL érték megváltoztatása
« Válasz #2 Dátum: 2017. Június 26. - 11:54:21 »
0
Rendben! Köszönöm szépen a választ, ezzel sokat segítettél!

SQL érték megváltoztatása
« Válasz #3 Dátum: 2017. Június 27. - 17:41:03 »
0
https://www.w3schools.com/SQL/sql_update.asp
Ezen az oldalon megtalálod a választ a kérdésedre
 
 

SQL érték megváltoztatása
« Válasz #4 Dátum: 2017. Június 30. - 14:00:30 »
0
Idézetet írta: asdpudingasd date=1498578063


   
      https://www.w3schools.com/SQL/sql_update.asp
      Ezen az oldalon megtalálod a választ a kérdésedre
   
   
       
   


Neki nem ez volt a kérdése.

SQL érték megváltoztatása
« Válasz #5 Dátum: 2017. Július 23. - 17:03:56 »
0
Nah.. Csak kérlek (!!!!), nagyon szépen kérlek (!!!!!!!!!!!), ne használj string-összevonást (nem tudom, hogy hívjam magyarul, de: ..-öt), mert előbb-utóbb olyan SQL injektált szervered lesz, hogy szép lesz nézni. Nézz majd utána.. Én dbQuery()-t használok, ott is stringben kell megadni a \"parancsot\", és utána a paramétereket.
 
Nézzünk egy példát SQL injektálásra:A kód:
 

myQuery = dbQuery(connection, \"SELECT * FROM accounts WHERE name = \'\".. megadottNev .. \"\' AND pass = \'\".. megadottJelszo .. \"\' LIMIT 1)

 
Ha emberünk felhasználónévnek megad egy admin fiókot (pl. MakroBox), (és jelszónak egy 1\' OR \'1\' = \'1), akkor a query így fog kinézni:
 

myQuery = dbQuery(connection, \"SELECT * FROM accounts WHERE name = \'MakroBox\' AND pass = \'1\' OR \'1\' = \'1\' LIMIT 1)

 
Azaz megtalálja azokat a sorokat, ahol a felhasználónév MakroBox, és a jelszó 1, VAGY 1 = 1 (AMI MINDIG IGAZ!!), azaz meg fogja találni a MakroBox accountot, és átenged.
 
Nem tudom, hogy ez hogyan működik mysql_query-nél, de az 90%, hogy ott sincs kivédve az injektálás, és valamilyen ilyesmi dolgot kell alkalmazni.
 

Nem elérhető id100

  • 903
    • Profil megtekintése
SQL érték megváltoztatása
« Válasz #6 Dátum: 2017. Július 23. - 17:08:28 »
0
MTASA-ban nincs SQL injection, mielőtt lefutna csinál rajta tisztítást. (Wiki)

SQL érték megváltoztatása
« Válasz #7 Dátum: 2017. Július 23. - 17:10:39 »
0
Idézetet írta: id100 date=1500822508


   
      MTASA-ban nincs SQL injection, mielőtt lefutna csinál rajta tisztítást. (Wiki)
   


Áá, az remek..
Egy linket azért küldesz, hogy ránézzek?

Nem elérhető id100

  • 903
    • Profil megtekintése
SQL érték megváltoztatása
« Válasz #8 Dátum: 2017. Július 23. - 18:00:22 »
0
DBQuery functionnak van a leírásába.
 
Mi kipróbáltuk, nem működött az injection.

SQL érték megváltoztatása
« Válasz #9 Dátum: 2017. Július 23. - 21:52:45 »
0
Idézetet írta: id100 date=1500825622


   
      DBQuery functionnak van a leírásába.
   
   
      Mi kipróbáltuk, nem működött az injection.
   


Akkor nem jót próbáltatok!  

SQL érték megváltoztatása
« Válasz #10 Dátum: 2017. Július 23. - 22:07:26 »
0
Idézetet írta: AlexSwamp date=1500839565


   
      Akkor nem jót próbáltatok!  
   


Akkor jól tudtam.. 

Nem elérhető id100

  • 903
    • Profil megtekintése
SQL érték megváltoztatása
« Válasz #11 Dátum: 2017. Július 24. - 01:19:00 »
0
Pedig ugyanezt próbáltuk amit leírt ide az előbb hogy ilyet ne :)

SQL érték megváltoztatása
« Válasz #12 Dátum: 2017. Július 24. - 07:48:51 »
0
Idézetet írta: MakroBox date=1500822236


   
      Ha emberünk felhasználónévnek megad egy admin fiókot (pl. MakroBox), (és jelszónak egy 1\' OR \'1\' = \'1)
   


Ez akkor sem biztonságos, hogyha amikor bejelentkezik a jelszót kódolja md5, sha256 stb - be?

SQL érték megváltoztatása
« Válasz #13 Dátum: 2017. Július 24. - 09:04:13 »
0
Idézetet írta: id100 date=1500825622


   
      DBQuery functionnak van a leírásába.
   
   
      Mi kipróbáltuk, nem működött az injection.
   


Én nem találom.

SQL érték megváltoztatása
« Válasz #14 Dátum: 2017. Július 24. - 09:12:39 »
0
https://wiki.multitheftauto.com/wiki/ExecuteSQLQuery
 



   
      (SQL injection is rendered impossible)
   

[/quote]
 
ExecuteSQLQuery nincsen injection. Mysql_query - nél van injection, én is kipróbáltam valóban működik. Viszont azt nem tudom, hogy hogyan tudnám elkerülni.
« Utoljára szerkesztve: 2017. Július 24. - 09:13:57 írta Somax02 »

 

SimplePortal 2.3.7 © 2008-2024, SimplePortal