1
  1. Этот сайт использует файлы cookie. Продолжая пользоваться данным сайтом, Вы соглашаетесь на использование нами Ваших файлов cookie. Узнать больше.
Приветствуем вас,Гость, на форуме IFUD.WS. Обязательно рекомендуется к прочтению правила форума http://ifud.ws/threads/obnovleno-pravila-foruma.7759

Ищем уязвимости в скриптах php и защищаем их!

Тема в разделе "Веб-Уязвимости | Эксплуатация", создана пользователем djniktih, 11 окт 2013.

?

Все ли хорошо сделал?

  1. Да

    75,0%
  2. Не плохо

    0 голосов
    0,0%
  3. Нормально

    8,3%
  4. Средне

    8,3%
  5. Плохо

    0 голосов
    0,0%
  6. Очень плохо

    8,3%
  1. TopicStarter Overlay
    djniktih

    djniktih

    Регистрация:
    21 июн 2013
    Сообщения:
    415
    Симпатии:
    241
    Приступим!
    Что нужно иметь: Notepad++, Клавиатуру, Мышь, Руки и маловероятный базовый PHP знаний)
    Для начала (Это только 1 часть) мы попробуем найти самые простые дырки!
    Для этого жмем CTRL+F и ищем следующее (С каждой новой строки новый запрос)
    PHP:
    echo $_GET
    echo $_POST
    echo $_COOKIE
    Если что то нашел... То это уязвимость XSS...
    Место обычного echo $_GET['id'] мы можем сделать так: echo($_GET['id'])
    ______________________________________________________________

    Теперь рассмотрим более важные уязвимости под названием UsePhpInj
    Жмем CTRL+F и ищем следующее (С каждой новой строки новый запрос)
    PHP:
    echo eval($_GET
    echo eval($_POST
    echo eval($_COOKIE
    Вот это то что не стоит делать)
    Как защититься от XSS? Очень просто место обычного вывода массива, обрабатываем его и получается не
    PHP:
    echo $_GET['id']
    , а
    PHP:
    echo htmlspecialchars($_GET['id'])
    Так-же мы можем проделать и с POST\Cookie
    ______________________________________________________________

    Теперь перейдем к Sql inj
    Жмем CTRL+F и ищем следующее (С каждой новой строки новый запрос)
    Можно заменить id на свое, а кавычки поменять на апостроф, а так-же мы можем убрать\добавить пробелы
    PHP:
    where id=" . $_GET
    where id=" 
    $_POST
    where id
    =" . $_COOKIE
    Если вы хотите более детально разобраться... То:
    PHP:
    $_GET
    $_POST
    $_COOKIE
    И если же вы настолько терпеливый человек то:
    PHP:
    $_GET
    $_POST
    $_COOKIE
    Можно так-же попробовать поставить апостроф в конце запроса!
    Что же такое SQL-inj и с чем его едят?
    Sql-inj это не отфильтрованный массив с содержимым ARRAY с запросом в базу данных...
    То есть есть запрос "SELECT * WHERE id=" . $_GET['id']
    Тем самым мы получаем власть над запросом...
    Если мы введем ?id=1 то все будет хорошо ведь получится
    "SELECT * WHERE id=1", а если ?id=1' то
    "SELECT * WHERE id=1'" что вызывает ошибку и дает нам доступ в базу данных
    Теперь защита....
    Место "SELECT * WHERE id=" . $_GET['id'] мы пишем "SELECT * WHERE id=" . mysql_real_escape_string($_GET['id']) Тем самым мы фильтруем запрос $_GET['id']
    И мы предотвратили взлом... Тоже самое что с POST и COOKIE!
    _____________________________________________________________

    Теперь перейдем к File-inj или как его ещё называют Php-Inj
    Мы ищем
    PHP:
    include($_GET
    include($_POST
    include($_COOKIE
    require($_GET
    require($_POST
    require($_COOKIE
    Как защититься?
    Очень просто!
    PHP:
    if(file_exists($_GET['id'] . '.php')) { 
        include(
    $_GET['id'] . '.php');

    else

        exit(); 

    Вроде все комментируем и ставим лайки)
    Скоро напишу 2 часть)
     
    • Like Like x 7
    Метки:
  2. Apple96

    Apple96

    Регистрация:
    13 апр 2013
    Сообщения:
    416
    Симпатии:
    667
    Заново все это писал?
     
  3. TopicStarter Overlay
    djniktih

    djniktih

    Регистрация:
    21 июн 2013
    Сообщения:
    415
    Симпатии:
    241
    ;-( Да ;-(
     
    • Like Like x 1
  4. nlo

    nlo

    Регистрация:
    22 сен 2013
    Сообщения:
    11
    Симпатии:
    3
    Нахуя это тем, кто в пхп 0?
    Да и описал ты не все, много чего осталось за кадром.
     
    • Like Like x 1
  5. TopicStarter Overlay
    djniktih

    djniktih

    Регистрация:
    21 июн 2013
    Сообщения:
    415
    Симпатии:
    241
    *:facepalm:* это для новичков... А "маловероятный базовый PHP знаний" это когда ты знаешь что такое echo и массивы... + это только 1 часть
    --- добавлено: 12 окт 2013 в 21:43 ---
    + Про аву не забудь!
     
  6. nlo

    nlo

    Регистрация:
    22 сен 2013
    Сообщения:
    11
    Симпатии:
    3
    лучше накодь Ifud cms :D
     
    • Like Like x 1
  7. TopicStarter Overlay
    djniktih

    djniktih

    Регистрация:
    21 июн 2013
    Сообщения:
    415
    Симпатии:
    241
    Уже занимаюсь... Мне нужен чел который знает ООП
    --- добавлено: 13 окт 2013 в 10:57 ---
    Кто поставил очень плохо? Довай блестни своими знаниями!
     
  8. nlo

    nlo

    Регистрация:
    22 сен 2013
    Сообщения:
    11
    Симпатии:
    3
    Ты уже занимаешься пол года :D
     
  9. TopicStarter Overlay
    djniktih

    djniktih

    Регистрация:
    21 июн 2013
    Сообщения:
    415
    Симпатии:
    241
    :D Учеба + я работую на одну фирму (точнее на кодера) ищу уязвимости в его коде)
    --- добавлено: 13 окт 2013 в 13:38 ---
    + там все готово только утлитами нашпиковать)
     
  10. nlo

    nlo

    Регистрация:
    22 сен 2013
    Сообщения:
    11
    Симпатии:
    3
    И код таких невьбеных размеров, что ушло на это пол года :D
     
  11. TopicStarter Overlay
    djniktih

    djniktih

    Регистрация:
    21 июн 2013
    Сообщения:
    415
    Симпатии:
    241
    Ну уж прости... 3/4 времени уделял не ей, а работе и учебе (Отдыху ещё как же без него) :-) И кстать аву поставь без неё не вижу смысла вести беседу дальше
     

Поделиться этой страницей

Загрузка...