Translated materials from chapters 'Buffer Overflows','CodeQuality','Concurrency'

git-svn-id: http://webgoat.googlecode.com/svn/trunk/webgoat@427 4033779f-a91e-0410-96ef-6bf7bf53c507
This commit is contained in:
white.tiger.russia@gmail.com 2011-05-24 13:59:24 +00:00
parent 17c1c68525
commit a66e8d4c78
4 changed files with 48 additions and 24 deletions

View File

@ -1,9 +1,9 @@
<div align="Center">
<p><b>Lesson Plan Title:</b> How to Exploit Buffer Overflows</p>
<p><b>Название урока:</b> Эксплуатация уязвимостей переполнения буффера</p>
</div>
<!-- Start Instructions -->
<p><b>Concept / Topic To Teach:</b> </p>
How to Exploit Buffer Overflows.
<p><b>General Goal(s):</b> </p>
This lesson needs a creator!
<p><b>Тема для изучения:</b> </p>
Как проводить эксплуатацию уязвимостей переполнения буффера.
<p><b>Основные цели и задачи:</b> </p>
Для данного урока требуется автор.
<!-- Stop Instructions -->

View File

@ -2,21 +2,30 @@
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1">
<title>Lesson Plan</title>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<title>План урока</title>
</head>
<body>
<div align="Center">
<p><b>Lesson Plan Title:</b> Shopping Cart Concurrency Flaw </p>
<p><b>Название урока:</b> Уязвимость при одновременной работе с товарной корзиной</p>
</div>
<p><b>Concept / Topic To Teach:</b> </p>
<p><b>Тема для изучения:</b> </p>
<!-- Start Instructions -->
Web applications can handle many HTTP requests simultaneously. Developers often use variables that are not thread safe. &nbsp;Thread safety means that the fields of an object or class always maintain a valid state when used concurrently by multiple threads. It is often possible to exploit a concurrency bug by loading the same page as another user at the exact same time. Because all threads share the same method area, and the method area is where all class variables are stored, multiple threads can attempt to use the same class variables concurrently. <br>
Веб-приложения могут обрабатывать множество HTTP-запросов одновременно.
Часто разработчики используют конструкции не приспособленные к многопоточной работе, и
это создаёт возможность использования ошибок связанных с одновременными обращениями.
Например когда одна и та же страница открывается одновременно разными пользователями и один их них видит
на ней данные другого.
Под приспособленностью к многопоточной работе подразумевается способность полей классов и объектов
всегда находиться в верном состоянии при выполнении множества одних и тех же операций вызываемых
разными потоками. Поскольку все потоки используют одно и то же рабочее пространство вызываемых методов, и в данном
пространстве хранятся данные всех свойств отдельно взятых классов, то множественные одновременные попытки
обращений к ним могут привести к неожиданным результатам.<br>
<!-- Stop Instructions -->
<p><b>General Goal(s):</b> </p>
For this exercise, your mission is to exploit the concurrency issue which will allow you to purchase merchandise for a lower price.
<p><b>Основные цели:</b> </p>
Ваша цель - проэксплуатировать уязвимость этого типа для того чтоб получить возможность покупать товары по заниженной цене.
<br>
</body>
</html>

View File

@ -1,12 +1,14 @@
<div align="Center">
<p><b>Lesson Plan Title:</b> How to Discover Clues in the HTML </p>
<p><b>Название урока:</b> How to Discover Clues in the HTML </p>
</div>
<p><b>Concept / Topic To Teach:</b> </p>
<!-- Start Instructions -->
Developers are notorious for leaving statements like FIXME's, TODO's, Code Broken, Hack, etc... inside the source code. &nbsp;Review the source code for any comments denoting&nbsp; passwords, backdoors, or something doesn't work right.&nbsp;
Below is an example of a forms based authentication form. Look for clues to help you log in.
Многие разработчики, к сожалению, забывают удалять из рабочих версий кода всевозможные отметки типа FIXME, TODO, небольшие хаки и т.д.
&nbsp;Исследование исходного кода на наличие различных комментариев&nbsp;, паролей, бэкдоров и прочего может очень
сильно вам помочь. Ниже представлена форма авторизации. Попробуйте исследовать код страницы и найти
зацепки которые позволят вам войти как легитимный пользователь.
<!-- Stop Instructions -->
<br>
<p><b>General Goal(s):</b> </p>
The user should be able to bypass the authentication check.
<p><b>Основные цели и задачи:</b> </p>
Вы должны обойти систему авторизации.

View File

@ -2,21 +2,34 @@
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1">
<title>Lesson Plan</title>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<title>План урока</title>
</head>
<body>
<div align="Center">
<p><b>Lesson Plan Title:</b> How to Exploit Thread Safety Problems </p>
<p><b>Название урока:</b> Как эксплуатировать проблемы одновременной работы нескольких потоков.</p>
</div>
<p><b>Concept / Topic To Teach:</b> </p>
<p><b>Тема для изучения:</b> </p>
<!-- Start Instructions -->
Web applications can handle many HTTP requests simultaneously. Developers often use variables that are not thread safe. &nbsp;Thread safety means that the fields of an object or class always maintain a valid state when used concurrently by multiple threads. It is often possible to exploit a concurrency bug by loading the same page as another user at the exact same time. Because all threads share the same method area, and the method area is where all class variables are stored, multiple threads can attempt to use the same class variables concurrently. <br>
Веб-приложения могут обрабатывать множество HTTP-запросов одновременно.
Часто разработчики используют конструкции не приспособленные к многопоточной работе, и
это создаёт возможность использования ошибок связанных с одновременными обращениями.
Например когда одна и та же страница открывается одновременно разными пользователями и один их них видит
на ней данные другого.
Под приспособленностью к многопоточной работе подразумевается способность полей классов и объектов
всегда находиться в верном состоянии при выполнении множества одних и тех же операций вызываемых
разными потоками. Поскольку все потоки используют одно и то же рабочее пространство вызываемых методов, и в данном
пространстве хранятся данные всех свойств отдельно взятых классов, то множественные одновременные попытки
обращений к ним могут привести к неожиданным результатам.
<br>
<!-- Stop Instructions -->
<p><b>General Goal(s):</b> </p>
The user should be able to exploit the concurrency error in the web application and view login information for another user that is attempting the same function at the same time. <b>This will require the use of two browsers</b>.
<p><b>Основные цели:</b> </p>
В приложении урока пользователь может воспользоваться уязвимостю данного типа для того чтобы просматривать
авторизационные данные другого пользователя, если одновременно с ним попытается вызвать одну
и ту же функцию.
<b>Здесь вам придётся использовать два браузера</b>.
<br>
</body>
</html>