Certified Secure Challenges - Over challenges en dergelijke

mysql_fetch_assoc()??

02-07-2023, 21:13 door Saint, 6 reacties
Hello hello,

Ik heb een vraag over een gegenereerde foutmelding die ik niet helemaal begrijp. Het gaat om de volgende foutmelding (ik heb de naam van de map die refereert naar de challenge vervangen door puntjes om spoilers te voorkomen):

Warning: mysql_fetch_assoc() expects parameter 1 to be resource, boolean given in /var/vhosts/.../www/index.php on line 46

Nu haal ik hieruit dat betreffende database in mysql praat en dat linux OS op de webserver draait. Nu zegt deze foutmelding, volgens mij, dat ik iets verkeerd doe, omdat de verwachte boolean parameter 1 moest zijn en deze is 0. Dus ik zeg iets verkeerd in de adresbalk wat betreffende database niet begrijpt.

Klopt het dusver wat ik zeg?

Nu probeer ik path traversals, omdat ik de linux mappen in de foutmelding zie staan, maar dit lukt niet en betreffende foutmelding blijft zich herhalen. Ook als ik andere mappen probeer. Dit lijkt dan niet de weg, volgens mij.

Weet iemand of ik iets kan doen met de mysql_fetch_assoc() in de adresbalk of is dit geen goede syntax om te gebruiken voor een injectie (ik heb al heel veel geprobeerd, maar niks lijkt te werken). En weet iemand hoe ik ervoor kan zorgen dat betreffende boolean parameter wel 1 wordt. Of heeft dit te maken dat ik de goede syntax moet gebruiken.

Hoop dat ik niet teveel spoilers geef en toch wat tips kan krijgen :D.

Thanks alvast
Reacties (6)
02-07-2023, 23:10 door Anoniem
Heel kort door de bocht betekend dat "mysql_fetch_assoc()" error eigenlijk gewoon "SQL Fout". Helaas verteld
het je niet *wat* er exact mis aan je SQL. Aangezien je bezig bent met een challenge gok ik dat iets niet klopt
in je UNION (sql-injectie). Bijvoorbeeld het aantal kolommen verkeerd of non-existing table.

Hope this helps!

TLDR: mysql_fetch_assoc() error => Database says no!
02-07-2023, 23:21 door Saint
ja precies, thanks. Ik probeer er dus achter te komen hoeveel kolommen ik moet gebruiken, maar dat lijkt ook niet echt te werken. Ik blijf proberen. Trial and error. Thanks voor de hulp.
03-07-2023, 10:12 door Power2All
Ik zou voorstellen, kijk even naar Doctrine.
https://www.doctrine-project.org/

Mogelijk kan dit je leven makkelijker maken.
Is compatible met meerdere DB engines, en kan mogelijk ook helpen SQL Injections te voorkomen.
Filteren is altijd belangrijk.
03-07-2023, 13:22 door Saint
Top thanks. Zal eens kijken. Ben inmiddels weer een stap verder. Bleek dat ik de cheatsheets iets te letterlijk nam. Het verwijderen van wat interpunctie deed het hem.
03-07-2023, 16:13 door Power2All
Door Saint: Top thanks. Zal eens kijken. Ben inmiddels weer een stap verder. Bleek dat ik de cheatsheets iets te letterlijk nam. Het verwijderen van wat interpunctie deed het hem.

Geen probleem.
Zelf gebruik ik Symfony vanwege de framework die optimaal werkt.
Doctrine zit ook in Symfony, maar je kan hem ook stand-alone gebruiken.

Succes verder :)
05-07-2023, 08:03 door Anoniem
Ik zit zelf waarschijnlijk ook vast op het zelfde stuk. Ook ik krijg wel die SQL foutmelding gegenereerd, maar verder dan dat kom ik ook niet.
Ik lees iets over interpuncties achterwege laten in de Cheat Sheet, daar ben ik ook even mee aan het stoeien gegaan, met name op de SQL Injectie (UNION etc. ) , maar ook dat mag tot nu toe niet baten. Ik blijf dezelfde melding krijgen :-(
Reageren

Deze posting is gelocked. Reageren is niet meer mogelijk.