1. Java / Говнокод #9797

    +71

    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
    String url = "http://*.*.*.*:*/java/?code=" + sCode + "&request=monitor";
    String LogPass = sName + ":" + sPass;
    String sAuth = "Basic " + encodeBase64(LogPass);
    try
                {
                    con = (HttpConnection)Connector.open(url);
                    con.setRequestMethod("GET");
                    con.setRequestProperty("User-Agent", "Profile/MIDP-2.0 Confirguration/CLDC-1.0");
                    con.setRequestProperty("Accept_Language", "en-US");
                    con.setRequestProperty("Content-Type", "//text plain");
                    con.setRequestProperty("Connection", "close");
                    con.setRequestProperty("Authorization", sAuth);
                    in = con.openInputStream();
                    if(con.getResponseCode() == 200)
                    {
                        StringBuffer sb = new StringBuffer();
                        int chr;
                        while((chr = in.read()) != -1) 
                            sb.append((char)(chr < 192 || chr > 255 ? chr : chr + 848));
                        sBuff = sb.toString();
                    }
    }

    Авторизация в одной из платёжных систем

    Запостил: dinisoft, 28 Марта 2012

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

    • Немного несекьюрно, специально для этой цели и есть POST и HTTPS.
      Ответить
      • И я о том же...
        Ответить
      • Мне, например, небезопасным показалось, что закодированный в Base64 LogPass без "соли" передается (http://en.wikipedia.org/wiki/Salt_%28cryptography%29).
        Грубо говоря, так:
        ...
        long curTime=new Date().getTime();
        String LogPass = sName + ":" + sPass+":"+curTime;
        ...
        con.setRequestProperty("Cookie","Passwor dSalt="+curTime);
        ...
        Ну, а на сервере тем же способом, что и в создании LogPass, проверить поочередно все пары логин/пароль из базы пользователей с переданным значением PasswordSalt. И понять, кто залогинился :-)
        А то кто-нибудь перехватит один раз запрос на авторизацию и будет потом с одним и тем же значением Authorization логиниться!
        Хотя, вообще, для платежной системы и я бы только HTTPS использовал. Во избежание :-)
        Ответить
    • sb.append((char)(chr < 192 || chr > 255 ? chr : chr + 848));
      УТФ? странный какой-то утф...
      Ответить
    • Он бережно накрыл питомца одеялом и на цыпочках вышел из спальни. Ещё стоя в душе, он принял решение. Сегодняшний день он посвятит Ромке. Плевать на работу! Замы присмотрят. А если что, то он недалеко будет.
      Ответить

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