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

View File

@ -2,21 +2,30 @@
<html> <html>
<head> <head>
<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1"> <meta http-equiv="content-type" content="text/html; charset=UTF-8">
<title>Lesson Plan</title> <title>План урока</title>
</head> </head>
<body> <body>
<div align="Center"> <div align="Center">
<p><b>Lesson Plan Title:</b> Shopping Cart Concurrency Flaw </p> <p><b>Название урока:</b> Уязвимость при одновременной работе с товарной корзиной</p>
</div> </div>
<p><b>Concept / Topic To Teach:</b> </p> <p><b>Тема для изучения:</b> </p>
<!-- Start Instructions --> <!-- 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 --> <!-- Stop Instructions -->
<p><b>General Goal(s):</b> </p> <p><b>Основные цели:</b> </p>
For this exercise, your mission is to exploit the concurrency issue which will allow you to purchase merchandise for a lower price. Ваша цель - проэксплуатировать уязвимость этого типа для того чтоб получить возможность покупать товары по заниженной цене.
<br> <br>
</body> </body>
</html> </html>

View File

@ -1,12 +1,14 @@
<div align="Center"> <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> </div>
<p><b>Concept / Topic To Teach:</b> </p> <p><b>Concept / Topic To Teach:</b> </p>
<!-- Start Instructions --> <!-- 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; Многие разработчики, к сожалению, забывают удалять из рабочих версий кода всевозможные отметки типа FIXME, TODO, небольшие хаки и т.д.
Below is an example of a forms based authentication form. Look for clues to help you log in. &nbsp;Исследование исходного кода на наличие различных комментариев&nbsp;, паролей, бэкдоров и прочего может очень
сильно вам помочь. Ниже представлена форма авторизации. Попробуйте исследовать код страницы и найти
зацепки которые позволят вам войти как легитимный пользователь.
<!-- Stop Instructions --> <!-- Stop Instructions -->
<br> <br>
<p><b>General Goal(s):</b> </p> <p><b>Основные цели и задачи:</b> </p>
The user should be able to bypass the authentication check. Вы должны обойти систему авторизации.

View File

@ -2,21 +2,34 @@
<html> <html>
<head> <head>
<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1"> <meta http-equiv="content-type" content="text/html; charset=UTF-8">
<title>Lesson Plan</title> <title>План урока</title>
</head> </head>
<body> <body>
<div align="Center"> <div align="Center">
<p><b>Lesson Plan Title:</b> How to Exploit Thread Safety Problems </p> <p><b>Название урока:</b> Как эксплуатировать проблемы одновременной работы нескольких потоков.</p>
</div> </div>
<p><b>Concept / Topic To Teach:</b> </p> <p><b>Тема для изучения:</b> </p>
<!-- Start Instructions --> <!-- 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 --> <!-- Stop Instructions -->
<p><b>General Goal(s):</b> </p> <p><b>Основные цели:</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>. В приложении урока пользователь может воспользоваться уязвимостю данного типа для того чтобы просматривать
авторизационные данные другого пользователя, если одновременно с ним попытается вызвать одну
и ту же функцию.
<b>Здесь вам придётся использовать два браузера</b>.
<br> <br>
</body> </body>
</html> </html>