Exp9 инфраструктура веба-безопасности 20164303 King St.

Exp9 инфраструктура веба-безопасности

ответил Основные вопросы:

  1. SQL Injection атак, как защитить?

    • Атаки инъекции SQL вставляется с помощью команды SQL в веб-формы или введите запрос доменного имени запроса строки или страницы, и в конечном счете достичь цели обмана сервера для выполнения вредоносных команд SQL.

    • Для предотвращения атак SQL инъекций, в основном, я думаю, мы должны исходить из кодекса:
      • Использование PreparedStatement прекомпилировано набор утверждения, которое построило способность обрабатывать инъекции SQL, до тех пор, как традиционный метод использования его SetXXX значения. Он работает только готов к отчетности инъекции SQL SQL (компиляция) процесс имеет пагубные последствия, и PreparedStatement готов, но фаза выполнения входной строка, как обработка данных, а не разбор подготовки SQL заявления и, следовательно, избежать проблем SQL-инъекции;
      • Использовать регулярные выражения для фильтрации входящих параметров, некоторые ключевые слова, которые содержат SQL фильтрации для инъекций;
      • Метод фильтрации строк;
      • JSP вызвать эту функцию, чтобы проверить наличие недопустимых символов, чтобы предотвратить URL от SQL инъекций.
  2. Принцип XSS нападение, как защитить?

    • XSS является инъекции кода, который позволяет злоумышленнику внедрить код в страницу, и может быть успешно реализован браузер, другие пользователи будут затронуты при просмотре веб-страниц. Такие атаки часто содержат HTML и язык сценариев на стороне пользователя. Основные целью атак XSS, чтобы найти способы, чтобы получить цель куков атаки сайтов, из-за печенья эквивалентного иметь seesion, С этой информацией вы можете быть в состоянии подключиться к Интернету ПК в любом месте посадки, а также в других идентичности людей войти и сделать некоторые повреждения.
    • XSS защита могут быть следующие два аспекта:
      • Первый метод является заполнение формы или URL передачи параметров, параметров фильтра необходимо;
      • Проверьте ввод нелегального содержания пользователя, такие как угловые скобки, кавычки и так, строгий контроль выходного сигнала.

3.CSRF Приступы, как защитить?

  • Мы знаем, что XSS является кросс-сайт скриптинг атаки, сценарий злоумышленника выполняется в браузере пользователя, чтобы получить их печенье и другую информацию. CSRF заимствован идентификатор пользователя, отправить запрос на веб-сервер, потому что запрос не намерение пользователя, так называемый «запрос межсайтовое подделкой.»
  • Для CSRF защиты также можно исходить из следующих аспектов:
    • По реферер, маркер или код аутентификации, представленный пользователем обнаружено;
    • Старайтесь не предоставлять информацию пользователя о конфиденциальности на странице ссылки для пользователей, чтобы изменить или удалить лучшую работу после использования;
    • Избегайте родовое печенья всей станцию, строгий набор доменное печенья.

 

Методика эксперимента:

А, конфигурация Webgoat

Введите https://github.com/WebGoat/WebGoat/releases/tag/7.0.1 сайт

Скачать Webgoat-контейнер-7.0.1-войны exec.jar 

Ввод  Webgoat-контейнера 7.0.1-война exec.jar - смонтированная банка пакет Java -jar

 

Осмотрев красный прямоугольник на карте , чтобы открыть браузер для входа в информационную  Http: // локальный: 8080 сайт / Webgoat.


 

 Два нападения инъекции SQL (Инъекции изъяны)

 

 1. Команда впрыска (Command Injection)

    • Выберите Injection Дефекты -> Command Injection
      правой странице окно, выберите инспектировать Element обзор элементов страницы , чтобы изменить исходный код, добавил в конце"& netstat -an"
    • Нажмите, чтобы посмотреть, увидеть адреса использования сетевого порта и IP, атака успешна

 

 

2. Вход обманывать (Log Подмена)

    • 选择 Инъекции Дефекты -> Журнал Подмена
    • Введите имя пользователя расслоения плотного %0d%0aLogin Succeeded for username: adminиспользования 0D% (Enter) и% 0A (строки) журнал появится в двух строках
    • После ввода любой пароль и нажмите кнопку Вход, успех будет добавлять имя пользователя в файл журнала.

 

 

3.SQL инъекции (LAB: SQL Injection)

этап 1: String инъекции SQL

    • Выберите Дефекты Injection -> Строка SQL Injection, правая страница пароль для ввода пароля, выберите инспектировать Element обзор элементов страницы, чтобы изменить исходный код, максимальный предел длины был изменен на 20

 

 

    • Невилл Логин пользователя, парольSmith' or '1' = '1
    • Атака успешна, список всех сотрудников

 

 

 

4. Слепые инъекции SQL (Слепой Числовой SQL-инъекция)

    • Информационный сервер возвращает страницу двумя способами: действительный счет, счет не является действительным, и , следовательно , не может просто запросить счет значения PIN - кода. Но вы можете использовать систему в фоновом режиме с запросом , SELECT * FROM user_data WHERE userid=accountNumber;
      если возврат информацией учетной записи, страница будет запрашивать счет действителен, в противном случае приглашения недействительна.
    • Введите 101 AND 1=1 страницу возвращает действительный номер счета

    • Введите 101 AND 1=2 второе условие не выполняется, то страница возвращает неверный номер счета

    • Input 101 AND ((SELECT pin FROM pins WHERE cc_number='1111222233334444') > 10000 );страница возвращает неверный номер счета, описание PIN <= 10000

 

 

    • Несколько попыток ввести, введите 2364правильное значение PIN

 

Два, атаки XSS

1. Хранение типа XSS атаки (Stored XSS атак)

    • В названии символа в любой вход, вход доски сообщений<script>alert("js4303");</script>

 

 

2. светоотражающие атаки XSS (Отраженный XSS атак)

    • Введите код , <script>alert("js4303");</script>нажмите на странице покупки в то же время это дает обратную связь

 

 

Три, нападения CSRF

1. CSRF (Cross Site Request подлог (CSRF))

    • Проверьте правую сторону страницы и меню параметров в значении Src, соответственно, 321 и 900
    •  

    • Введите любые параметры, указанные в заголовке, сообщение поле ввода
<IMG SRC = "HTTP: // локальный: 8080 / Webgoat / атака Screen = 321 & меню = 900 & transferFunds = 5000" />
    • 点击 Submit (其中语句中的&transferFunds=5000,即转走的受害人的金额;宽高设置成1像素的目的是隐藏该图片)
    •  


       

2.绕过 CSRF 确认( CSRF Prompt By‐Pass

 

    • 查看页面右侧Parameters中的src和menu值分别为279和900
    •  

    • 在title框中输入学号,message框中输入代码:
    •   

       

       

      点击链接,攻击成功

 


 实验感想:

这次实验难度不高,但项目比较多,因此也花费了不少时间。终于做完了最后一个实验,有点小开心,尽管说实话自己也觉得做得不怎么样,验收从没有去过,现场的确做不出来,一般要花费好几天才能搞定,因此从来没敢去验收。但将基础的东西完整地做完,我觉得自己的收获也不少。尽管过程很痛苦,但现在想起来还是挺好的。

 

рекомендация

отwww.cnblogs.com/js0905/p/10927066.html