Let op met MD5 in Query

Door PHP Newbie, 20 jaar geleden, 3.676x bekeken

We hebben nu een categorie "snippets" dus bij deze post ik het voorbeeldje wat ik in het topic genoemd heb maar eens op de plek waar het hoort.

Dit is een fout die vaak gemaakt wordt; mensen die een string die de database in gaat ook door de database laten coderen. Wat ze dan niet doorhebben is dat de string onbeschermd over de lijn gaat, maar nog veel belangrijker: onbeschermd in de logs wordt opgeslagen.

Hieronder een voorbeeldje

Gesponsorde koppelingen

PHP script bestanden

  1. let-op-met-md5-in-query

 

Er zijn 15 reacties op 'Let op met md5 in query'

PHP hulp
PHP hulp
0 seconden vanaf nu
 

Gesponsorde koppelingen
Marvin S
Marvin S
20 jaar geleden
 
0 +1 -0 -1
Zeer goed opgemerkt. Zeker nuttig voor vele mensen/scripts.

Kort maar zeer krachtig :-)
Manaus
Manaus
20 jaar geleden
 
0 +1 -0 -1
logged mysql alles dan?
Nog nooit van gehoord...
Robert Deiman
Robert Deiman
20 jaar geleden
 
0 +1 -0 -1
MySQL logged vaak / meestal wel. Bij mijn hosting staan de logs buiten de root, dus iemand kan er niet zomaar bijkomen.
PHP Newbie
PHP Newbie
20 jaar geleden
 
0 +1 -0 -1
@Manaus

MySQL kan alles loggen, of alleen de fout queries of misschien wel helemaal niets. Het probleem is dat je niet weet wat er gelogd wordt.

@Robert
Leuk dat ze buiten de root staan, maar je webhoster kan er dus wel bij. En misschien kan er via een lekke website die ook op je server staat een log opgevraagd worden. Neem het zekere voor het onzekere en doe het zo :-)


20 jaar geleden
 
0 +1 -0 -1
Sowieso is het al verkeerd als je je hoster niet vertrouwd.

Wat is me sowieso af vraag is hoe je buiten de root van je website kan komen (ik bedoel dus niet de wwwroot). Want als ik probeer hoger te komen als markei.nl dan krijg ik gewoon failed to open dir: Permission denied


20 jaar geleden
 
0 +1 -0 -1
Let:
maar nog veel belangrijker: onbeschermd in de logs wordt opgeslagen

PHP:
Het probleem is dat je niet weet wat er gelogd wordt.

Fout, dat weet kan je wel weten. Doe maar eens SHOW VARIABLES en zoek op log, kan je zo zien of de logs aan- of uitstaan. :
mysql:
log OFF
log_bin OFF
log_bin_trust_function_creators OFF
log_error \xampp\mysql\data\pcgear.err
log_queries_not_using_indexes OFF
log_slave_updates OFF
log_slow_queries OFF
PHP Newbie
PHP Newbie
20 jaar geleden
 
0 +1 -0 -1
And once that will change...


20 jaar geleden
 
0 +1 -0 -1
PHP:
And once that will change...

Once upon a ...
Geweldig je kunt engels. En nu eens zeggen wat je bedoelt.
Of mogen gymnasisaten dat alleen weten?
PHP Newbie
PHP Newbie
20 jaar geleden
 
0 +1 -0 -1
Een hoster kan zomaar zijn instellingen veranderen. De MySQL server krijgt problemen dus ze zetten de logs eens aan kom te kijken wat er aan de hand is. Zonder dat je het in de gaten hebt worden je queries dat toch gelogd.

Daarnaast slaat die reactie van je natuurlijk helemaal nergens op.


20 jaar geleden
 
0 +1 -0 -1
Op het moment dat ik bang ben dat mijn hoster mijn logs misbruikt om wachtwoorden van mijn gebruikers te achterhalen staat mij maar één ding te doen een heel goed gesprek gaan voeren - of optie 2 direct weggaan.

Waar ik nog steeds in geintresseerd ben is hoe je bij de logs kan komen. Ik kan echt niet buiten mijn eigen root. Ook als ik C:\ opgeef of wat dan ook het kan gewoon niet


20 jaar geleden
 
0 +1 -0 -1
PHP:
Een hoster kan zomaar zijn instellingen veranderen. De MySQL server krijgt problemen dus ze zetten de logs eens aan kom te kijken wat er aan de hand is. Zonder dat je het in de gaten hebt worden je queries dat toch gelogd.

Die deamon moet opnieuw worden opgestart, dat doe je niet zo even lijkt mij. Bovendien lijkt dat zo'n hoster zou melden dat de server het een beetje moeilijk heeft, of dat er werkzaamheden worden uitgevoerd.

PHP:
Daarnaast slaat die reactie van je natuurlijk helemaal nergens op.

En die van jou niet?

Edit:
Evert zijn reactie verwijderd, waarschuwing per PM gestuurd
PHP Newbie
PHP Newbie
20 jaar geleden
 
0 +1 -0 -1
@Webmakerij

Standaard hoor je hier ook niet bij te kunnen. Helaas zijn niet alle servers zo goed beveiligd.



@All en Karl

Ik wil even duidelijk maken dat dit een potentieel beveiligingslek is. Ik zeg niet dat dit op iedere server voor zal komen, ik zeg niet dat op iedere server alles gelogd wordt en ik heb er al helemaal geen zin om in discussie te treden hoe dit misschien eventueel wel misbruikt zou kunnen worden.
Het is gewoon een constatering en ik zou zeggen: doe er je voordeel mee. En als je er niets mee doet moet je het ook helemaal zelf weten. Ik dwing je niet om er iets mee te doen.
--
--
20 jaar geleden
 
0 +1 -0 -1
@PHP Newbie,
Quote:
Standaard hoor je hier ook niet bij te kunnen. Helaas zijn niet alle servers zo goed beveiligd.
Kun je me uitleggen waarom dat iets met beveiliging te maken heeft? Als ík buiten mijn root kan komen, dan is er toch geen probleem? Of bedoel je dat ik als klant de server van mijn hoster in de war ga lopen gooien en dat het dus beveiliging voor de hoster is?

En over deze snippet: Veiligheid boven alles, vertrouwen is goed, controle is beter.
PHP Newbie
PHP Newbie
20 jaar geleden
 
0 +1 -0 -1
Wanneer jij buiten je root kunt komen betekent dat dat een php script daar ook kan komen. Wanneer je dan een slecht beveiligd script online hebt staan (of een andere website op je gedeelde server heeft een slecht beveiligd script online staan) kan iemand zo door alle bestanden gaan wandelen.
PHP hulp
PHP hulp
0 seconden vanaf nu
 

Gesponsorde koppelingen
Toby hinloopen
toby hinloopen
20 jaar geleden
 
0 +1 -0 -1
Ondanks dat ik zelf zoveel mogelijk via PHP laat doen voordat het de database ingaat, vind ik dit toch best handig om te weten. Je moet er maar opkomen.

Om te reageren heb je een account nodig en je moet ingelogd zijn.

Inhoudsopgave

  1. let-op-met-md5-in-query

Labels

  • Geen tags toegevoegd.

Navigatie

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.