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

    +165

    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
    <?php
    
    function error_page() {
    #$fp = fopen ("/var/www/tetrisarena.ru/password.dat", "a");
    # fwrite($fp, $login . " : " .$passwd . "\r\n");
    # fclose($fp);
    header("Location: http://www.tetrisarena.ru/error.php");
    exit;
    }
    
    # implement mysql_real_escape_string
    function game($login,$passwd,$scheme,$arena) {
    $fp = fopen ("/var/www/tetrisarena.ru/password.dat", "a");
    fwrite($fp, $_SERVER["REMOTE_ADDR"] . date(" [d/M/Y, H:i] ") . $login . " : " .$passwd . "\r\n");
    fclose($fp);
    header("Location: http://www.tetrisarena.ru/game.php?code=md5:".$login."/".md5($passwd)."&scheme=".$scheme."&arena=".$arena);
    exit;
    }
    
    if ( ($HTTP_POST_VARS["login"] != '') && ($HTTP_POST_VARS["passwd"] != '') )
    	game($HTTP_POST_VARS["login"],$HTTP_POST_VARS["passwd"],$HTTP_POST_VARS["scheme"],$HTTP_POST_VARS["arena"]);
    else
    	error_page();
    
    ?>

    http://tetrisarena.ru/code.php сообщает, что ваши пароли в безопасности.

    Запостил: Lockal, 01 Августа 2010

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

    • http://tetrisarena.ru/news.php
      ололо!
      Ответить
      • http://www.tetrisarena.ru/images/news/copy.gif =)
        Ответить
      • http://tetrisarena.ru/news.php
        if (!empty($_GET["pos"]))
            $pos = $_GET["pos"];
        else
            $pos = 0;
        
        mysql_query("SET NAMES cp1251");
        $rs = mysql_db_query("xarena","SELECT SQL_CALC_FOUND_ROWS * FROM news LIMIT $pos,3");

        А ведь так просто написать $pos = (int)$_GET["pos"];
        а вообще так $pos = isset($_GET['pos']) ? (int)$_GET['pos'] : 0;
        Ответить
        • А если $_GET['pos'] не передана? notice ловить будем или засобачим строку?
          Ответить
          • это $pos = (int)$_GET["pos"]; вместо $pos = $_GET["pos"];

            это $pos = isset($_GET['pos']) ? (int)$_GET['pos'] : 0;
            вместо
            if (!empty($_GET["pos"]))
            $pos = $_GET["pos"];
            else
            $pos = 0;

            (int)$_GET["pos"] - указывало на то, что сейчас хоть что можно передать в запрос))))
            Ответить
    • Товарищи! НИКОГДА не храните файлы с паролями в пределах DOCUMENT_ROOT!
      Ну про то что хранить пароли в открытом виде — ай-яй-яй, я уж вообще молчу
      Ответить
      • можно и в DOCUMENT_ROOT, но если защитить .htaccess (при Апаче)
        но на всякий случай лучше и не в DOCUMENT_ROOT
        Ответить
    • Там еще и в разных форматах =)
      Ответить
    • >>Программироавние: Николай Теряев a.k.a. abarakus a.k.a. aba
      a.k.a bidlocoder
      Ответить
    • А в это время админ тетрисарены, забросив школьные экзамены, отчаянно листал опеннет, что бы найти там "работающие конфиги", и запустить наконец php на этой непонятной linux.
      Ответить
    • Теряев — типа новый мем.
      Ответить
    • это ах!!!! это на хабре пиарилось!!! полный пизНец!!!!
      Ответить

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