bugs criminals

  • Hallo,


    Ik had een vraag. Wat zijn de bugs in de meeste criminals maar vooral Hoe los je ze op?
    Posten dus maar :D


    Bug 1
    Bug naam: +/- Bug
    Bug omschrijving: Als je +9999+ doet krijg je het al heb je het niet.
    Oplossing

    PHP
    $field = $_POST["inzet"];
    if(!ctype_digit($field)){
      echo "Aantal invullen!";
      return;
    }
  • Guest, wil je besparen op je domeinnamen? (ad)
  • Kijk

    PHP
    <?php
    if(!isset($_POST['submit'])) { }
    ?>


    Als er alleen dit staat zijn de inputs niet beveilig tdie kun je het beste beveiliging met preg_match


    En met deze stukje php code kun je hem beveiligen vanaf alle !@#$%^*()_ zeg het maar


    PHP
    <?php
    if(preg_match('/^[0-9]+$/', $_POST['inzet']) == 0) { print "Ongeldig aantal\n";exit; }
    ?>
  • Als een persoon overal iets kan intypen kan hij dus zodoende sql injections aanroepen, dus in een textveld kan hij de +9999 bug uitvoeren.


    Vandaar dat er checks moeten ingebouwd worden zoals andytjuh zei.
    Als er dan letters/;:+- etc word ingevoerd zorgt de preg_match ervoor dat het niet kan.


    Daarom moet elke input worden beveiligd.

  • Veiligheidslekken zijn geen bugs, bugs = fouten (spelfouten, errors e.d)


    Waar men over praat zijn dus 'veiligheidslekken' of gewoon in het kort 'lekken'.
    -------------


    XSS, SQL injection, en ga zo maar door .. criminals source zitten er vol mee, .. de meeste zijn ook PHP4 / 3 dat is ook een groot probleem van de veiligheid..

  • Gebruik is een echte functie genaamd is_numeric...
    Deze functie kijkt gewoon alleen of je alleen maar cijfers invult.


    is_numeric is een betere functie om te kijken of iets een cijfer is dan als je ctype_digit gebruikt.

    School
    Tweedejaars Informatica Student @ Hogeschool Rotterdam.


    Webtalen
    - PHP ( OOP )
    - SQL
    - JavaScript i.c.m. jQuery framework
    - (x)HTML
    - CSS
    - Actionscript
    - XML


    Programmeertalen
    - Java
    - C#
    - Ruby i.c.m. on Rails framework

  • NielsB, wat is het verschil dan :p
    Want ik ben bezig een nieuwe unbugged Criminal te maken, gewoon helemaal zelf, maar dan moet ik hier natuurlijk rekening mee houden :p.
    Ik heb alles nu net met ctype_digit(); en mysql_real_escape_string(); beveiligd, maar wat moet ik nog meer doen :)


    Lars

  • is_numeric is gewoon een functie om te kijken of iets numeric is.
    ctype_digit is eigenlijk voor letters etc.


    maar als je iets met letters wil dan kan je voor de zekerheid toch is_numeric doen omdat je volgens mij met ctype_digit meerdere tekens erbij kan doen..


    het als het goed is allemaal ietsie veiliger..
    Ook handig is als je cijfers in de database zet als je dan het volgende gebruikt:
    (int) $getal.


    Die int zorgt er voor dat het getal dan wel een int is wanneer het letter is en je gebruikt een or die dan weet je oo dit werkt niet.


    Cijfers moet je juist beveiligen met (int) en niet met mysql_real_escape_string..

    School
    Tweedejaars Informatica Student @ Hogeschool Rotterdam.


    Webtalen
    - PHP ( OOP )
    - SQL
    - JavaScript i.c.m. jQuery framework
    - (x)HTML
    - CSS
    - Actionscript
    - XML


    Programmeertalen
    - Java
    - C#
    - Ruby i.c.m. on Rails framework


  • Dit is niet waar, ctype_digit is wel degelijk veiliger!



    Voer dit script maar eens uit!
    Het zal de volgende output geven:

    PHP
    Volgens is_numeric is -1 numeriek!
    Volgens ctype_digit is -1 niet numeriek!


    Dus dit betekent dat die +/- bug zal blijven bestaan!

  • Citaat van max1991

    wat zijn mysql injections? hoe werkt dat?


    Hierdoor kan je SQL code uitvoeren op de aangesloten DB net als in een phpmyadmin of andere SQL manager.
    Dit is erg gevaarlijk omdat je hierdoor data als wachtwoorden kan veranderen en zelfs de db kan leeggooien.

    Koen, toppunt van zieligheid, ja dat heb je zelf begaan.
    Je komt er niet zomaar mee weg, je hoort nog van ons.
    Even a german had some form of respect for his enemy, even 65 years ago, this scumbag has none, making him the true evil.

Participate now!

Heb je nog geen account? Registreer je nu en word deel van onze community!