1. PHP / Говнокод #10124

    +86

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    25. 25
    26. 26
    27. 27
    28. 28
    29. 29
    30. 30
    31. 31
    32. 32
    33. 33
    34. 34
    <?
    
    function anti_sql($expressao)    {
    
        $inject=0;
      $expressao = strtolower($expressao);
    
        //arrays com palavras e caracteres invalidos
        $badword1 = array("' or 0=0 --",'" or 0=0 --',"or 0=0 --","' or 0=0 #","admin'--",'" or 0=0 #',"or 0=0 #","' or 'x'='x",'" or "x"="x',"') or ('x'='x","' or 1=1--",'" or 1=1--',"or 1=1--","' or a=a--",'" or "a"="a',"') or ('a'='a",'") or ("a"="a','hi" or "a"="a','hi" or 1=1 --',"hi' or 1=1 --","hi' or 'a'='a","hi') or ('a'='a",'hi") or ("a"="a',"or '1=1'");
        $badword2 = array("select", " select","select "," insert"," update","update "," delete","delete "," drop","drop "," destroy","destroy ");
    
        for($i=0;$i<sizeof($badword1);$i++) {
            if(substr_count($expressao,$badword1[$i])!=0)
              $inject=1;
           }
    
             for($i=0;$i<sizeof($badword2);$i++)    {
                  if(substr_count($expressao,$badword2[$i])!=0)
                  $inject=1;
             }
    
        $charvalidos = "abcdefghijklmnopqrstuvwxyz0123456789БАГВЗЙИКНМУТФХЪЩЬСбагвзйикнмутфхъщьс!?@#$%&(){}[]:;,.-_ ";
    
         for($i=0;$i<strlen($expressao);$i++)    {
            $char = substr($expressao,$i,1);
                if(substr_count($charvalidos,$char)==0)
                   $inject=1;
             }
    
        return($inject);
    }
    
    
    ?>

    Эх, португальские кодеры...

    Запостил: killro0000, 01 Мая 2012

    Комментарии (24) RSS

    • португальцы уважают кириллицу? я про строку #22
      Ответить
      • Подозреваю, что в оригинальной кодировке на месте этих символов были символы расширенной латиницы типа ñ, которые так любят в некоторых романских языках. Не все же перешли на UTF-8 и прочие уникоды.
        Ответить
    • Проверка выражения на типичные sql иньекции? А если я напишу "or 100500=100500" и "DrOp" ? :).
      Ответить
    • > strtolower
      Славабху хоть кто-то додумался. Но у него другая крайность - не фильтрует комменты типа /**/, а с таким типом комментов есть другая интересная атака, кажется, вида sel/**/ect (не проверял и проверять лень, точно не помню за давностью лет).
      Пока низачот.

      > "select", " select","select "
      Реально трешугар.
      Ответить
      • Да он собственно " or 0=0 --" (с двумя пробелами) уже не задетектит, так что им еще копипастить и копипастить.
        Ответить
    • nosql - было, а вот antisql - это что-то новенькое.
      Ответить
      • > antisql - это что-то новенькое.
        Да ладно, полно тут этого, только называется оно обычно antihakir
        Ответить
        • Ну, тогда не знаю, а на SQL пишут antiphp?
          Ответить
    • показать все, что скрытоvanished
      Ответить
    • - Я так раньше никогда не делала. Мне понравилось. А тебее? - сказала она после того, как я влил в неё свой заряд и, уставший, уселся прямо на ковролин на полу кабинета.
      Ответить
    • - Давай-ка задом, мила, - я шлёпнул Елену по ляжке, и она неловко перевернулась, встала на колени, высоко подняла зад.
      Ответить
    • -Да, мамочка, ты классная блядь! Юрка принялся целовать маму взасос…
      Ответить
    • Нет, главное к подружкам своим, таким же потаскушкам, она меня не ревновала, к проституткам каких иногда приводил прямо домой, в те дни, когда она была «занята» тоже, а тут, к матери родной ревнует!
      Ответить
    • - Сидим, пьём, а Артур Атарбекович в Лондоне важные переговоры ведёт. Если у него всё получиться, то для нас будет очень хорошо.
      Ответить
    • Ольга Анатольевна была зрелой и весьма успешной женщиной. А еще она имела сильный, напористый характер и всего привыкла добиваться самостоятельно.
      Ответить
    • Я только что окончил среднюю школу и собирался поступать в институт, мне было уже 18. Это было трудное время, нужно было готовиться к экзаменам, несмотря на хорошую погоду и летнее настроение.
      Ответить
    • Рассказ Витька Вечером после работы и учёбы я наконец дошёл до дома, после вчерашнего в голове ещё остался шум,но не стал покупать выпивки,думал пройдёт так. Меня встретил дядя Миша,он стоял курил в коридоре
      Ответить

    Добавить комментарий