Prvý level je úplne jednoduchý. Stačí sa pozrieť do zdrojového kódu.
Nachádza sa tam javascript :
Kód: Vybrať všetko
<script language="JavaScript">
<!--
function Try(passwd) {
if (passwd =="h4x0r") {
alert("Alright! On to level 2...");
location.href = "level2-xfdgnh.xhtml";
}
else {
alert("The password is incorrect. Please don't try again.");
location.href = "http://www.disney.com/";
}
}
//-->
</script>
2. Level
Nachádza sa tu flashko ktoré treba stiahnuť; adresa - http://www.try2hack.nl/levels/level2.swf
Po stiahnutí ho treba dekompilovať. Ja som použil program Sothink SWF Decompiler.
Po dekompilovani sa treba pozriet na action script :
Kód: Vybrať všetko
// Action script...
on (release)
{
if (txtUsername == "try2hack" && txtPassword == "irtehh4x0r!")
{
getURL("level3-.xhtml", "_self");
} // end if
}password : irtehh3x0r!
3.Level
Jedna sa o javascript :
Kód: Vybrať všetko
<script language="JavaScript">
<!--
pwd = prompt("Please enter the password for level 3:","");
if (pwd==PASSWORD){
alert("Allright!\nEntering Level 4 ...");
location.href = CORRECTSITE;
}
else {
alert("WRONG!\nBack to disneyland !!!");
location.href = WRONGSITE;
}
PASSWORD="AbCdE";
CORRECTSITE="level4-sfvfxc.xhtml";
WRONGSITE="http://www.disney.com";
//-->
</script>Správne heslo nájdeš v tempe.
password : try2hackrawks
4.Level
V kóde sa nachádza Java applet.
Takže ho stiahneme - http://www.try2hack.nl/PasswdLevel4.class
Na dekompilovanie som použil program DJ Java Decompiler.
Po dekompilovani dostaneš tento kód:
Kód: Vybrať všetko
import java.applet.Applet;
import java.applet.AppletContext;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.*;
import java.net.MalformedURLException;
import java.net.URL;
import java.util.EventObject;
public class PasswdLevel4 extends Applet
implements ActionListener
{
public PasswdLevel4()
{
inuser = new String[22];
totno = 0;
countConn = null;
countData = null;
inURL = null;
txtlogin = new TextField();
label1 = new Label();
label2 = new Label();
label3 = new Label();
txtpass = new TextField();
lblstatus = new Label();
ButOk = new Button();
ButReset = new Button();
lbltitle = new Label();
}
void ButOk_ActionPerformed(ActionEvent actionevent)
{
boolean flag = false;
for(int i = 1; i <= totno / 2; i++)
if(txtlogin.getText().trim().toUpperCase().intern() == inuser[2 * (i - 1) + 2].trim().toUpperCase().intern() && txtpass.getText().trim().toUpperCase().intern() == inuser[2 * (i - 1) + 3].trim().toUpperCase().intern())
{
lblstatus.setText("Login Success, Loading..");
flag = true;
String s = inuser[1].trim().intern();
String s1 = getParameter("targetframe");
if(s1 == null)
s1 = "_self";
try
{
finalurl = new URL(getCodeBase(), s);
}
catch(MalformedURLException _ex)
{
lblstatus.setText("Bad URL");
}
getAppletContext().showDocument(finalurl, s1);
}
if(!flag)
lblstatus.setText("Invaild Login or Password");
}
void ButReset_ActionPerformed(ActionEvent actionevent)
{
txtlogin.setText("");
txtpass.setText("");
}
public void actionPerformed(ActionEvent actionevent)
{
Object obj = actionevent.getSource();
if(obj == ButOk)
{
ButOk_ActionPerformed(actionevent);
return;
}
if(obj == ButReset)
ButReset_ActionPerformed(actionevent);
}
public void destroy()
{
ButOk.setEnabled(false);
ButReset.setEnabled(false);
txtlogin.setVisible(false);
txtpass.setVisible(false);
}
public void inFile()
{
new StringBuffer();
try
{
countConn = inURL.openStream();
countData = new BufferedReader(new InputStreamReader(countConn));
String s;
while((s = countData.readLine()) != null)
if(totno < 21)
{
totno = totno + 1;
inuser[totno] = s;
s = "";
} else
{
lblstatus.setText("Cannot Exceed 10 users, Applet fail start!");
destroy();
}
}
catch(IOException ioexception)
{
getAppletContext().showStatus("IO Error:" + ioexception.getMessage());
}
try
{
countConn.close();
countData.close();
return;
}
catch(IOException ioexception1)
{
getAppletContext().showStatus("IO Error:" + ioexception1.getMessage());
}
}
public void init()
{
setLayout(null);
setSize(361, 191);
add(txtlogin);
txtlogin.setBounds(156, 72, 132, 24);
label1.setText("Please Enter Login Name & Password");
label1.setAlignment(1);
add(label1);
label1.setFont(new Font("Dialog", 1, 12));
label1.setBounds(41, 36, 280, 24);
label2.setText("Login");
add(label2);
label2.setFont(new Font("Dialog", 1, 12));
label2.setBounds(75, 72, 36, 24);
label3.setText("Password");
add(label3);
add(txtpass);
txtpass.setEchoChar('*');
txtpass.setBounds(156, 108, 132, 24);
lblstatus.setAlignment(1);
label3.setFont(new Font("Dialog", 1, 12));
label3.setBounds(75, 108, 57, 21);
add(lblstatus);
lblstatus.setFont(new Font("Dialog", 1, 12));
lblstatus.setBounds(14, 132, 344, 24);
ButOk.setLabel("OK");
add(ButOk);
ButOk.setFont(new Font("Dialog", 1, 12));
ButOk.setBounds(105, 156, 59, 23);
ButReset.setLabel("Reset");
add(ButReset);
ButReset.setFont(new Font("Dialog", 1, 12));
ButReset.setBounds(204, 156, 59, 23);
lbltitle.setAlignment(1);
add(lbltitle);
lbltitle.setFont(new Font("Dialog", 1, 12));
lbltitle.setBounds(12, 14, 336, 24);
String s = getParameter("title");
lbltitle.setText(s);
ButOk.addActionListener(this);
ButReset.addActionListener(this);
infile = new String("level4");
try
{
inURL = new URL(getCodeBase(), infile);
}
catch(MalformedURLException _ex)
{
getAppletContext().showStatus("Bad Counter URL:" + inURL);
}
inFile();
}
private URL finalurl;
String infile;
String inuser[];
int totno;
InputStream countConn;
BufferedReader countData;
URL inURL;
TextField txtlogin;
Label label1;
Label label2;
Label label3;
TextField txtpass;
Label lblstatus;
Button ButOk;
Button ButReset;
Label lbltitle;Všimni si premenu infile definovanú ako "infile = new String("level4");".
Takže navštívim stránku http://www.try2hack.nl/levels/level4.
login : appletking
password : pieceofcake
5.Level
Tak v tomto leveli sa to točí okolo Visual Basic 3.0.
Na spustenie programu treba knižnicu VBRUN300.DLL, ktorú sa da stiahnuť napríklad odtiaľ. Opäť použijeme dekompiler, ja som použil VBDIS8.
Po dekompilovaní pribudne niekoľko nových súborov:
MAIN.TXT :
Kód: Vybrať všetko
' main.txt - global definitions
Global Const gc0006 = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ.,:;-*+=~|&!_$#@()[]{}<\/>"
Global Const gc000A = "http://www.try2hack.nl/levels/level6-ksghvb.xhtml"LEVEL5.BAS :
Kód: Vybrať všetko
' LEVEL5.FRM
Option Explicit
Sub cmdLogin_Click ()
If edtUsername = Mid(gc0006, 56, 1) & Mid(gc0006, 28, 1) & Mid(gc0006, 35, 1) & Mid(gc0006, 3, 1) & Mid(gc0006, 44, 1) & Mid(gc0006, 11, 1) & Mid(gc0006, 13, 1) & Mid(gc0006, 21, 1) Then
If edtPassword = Mid(gc0006, 45, 1) & Mid(gc0006, 48, 1) & Mid(gc0006, 25, 1) & Mid(gc0006, 32, 1) & Mid(gc0006, 15, 1) & Mid(gc0006, 40, 1) & Mid(gc0006, 25, 1) & Mid(gc0006, 14, 1) & Mid(gc0006, 19, 1) Then
MsgBox "Level 6 can be found at: " & Left$(gc000A, 37) & Mid(gc0006, 21, 1) & Mid(gc0006, 14, 1) & Mid(gc0006, 29, 1) & Mid(gc0006, 32, 1) & Mid(gc0006, 12, 1) & Mid(gc0006, 14, 1) & Mid(gc000A, 44, 6), 0, "Horray!"
End
End If
End If
MsgBox "Invalid username and/or password!", 0, "ERROR!"
End Sub
Sub Form_Load ()
Me.Move (Screen.Width - Me.Width) / 2, (Screen.Height - Me.Height) / 2
End SubTakže teraz treba spočítať login a heslo.
login : Try2Hack
password : ILoveDodi
6.Level
Tak toto bolo už naozaj ťažké. Po spustení programu (visual basic 6) na nás vybafne okno:

Po kliknutí na tlačidlo Login sa program pripojuje k nejakému serveru, kde overuje heslo a login. Jediný spôsob ako to zistiť kam sa program pripája, je použi nejaký sniffer.
Po použití programu Ethereal som zistil, že program sa pripája na adresu http://www.try2hack.nl/levels/level6.data :
Kód: Vybrať všetko
(ENCRYPTION TYPE)
B*C*N**N
(USERNAME)
aaabb aaaaa aaaab abbab ababb aaaab
(PASSWORD)
aabaa abbaa aaaba baaaa babba abbba baaba abaaa abbab abbaa baaaa aaaaa babaa abaab baaab
(PAGE)
babab aabab abaab abbab aabbb aaabaPo niekoľkých minútach googlovania som zistil, že sa jedná o šifru BACONION :
Kód: Vybrať všetko
A = aaaaa E = aabaa I/J= abaaa N = abbaa R = baaaa W = babaa
B = aaaab F = aabab K = abaab O = abbab S = baaab X = babab
C = aaaba G = aabba L = ababa P = abbba T = baaba Y = babba
D = aaabb H = aabbb M = ababb Q = abbbb U/V= baabb Z = babbb
login : DABOMB
password : ENCRYPTIONRAWKS
7.Level
Po prístupe na stránku sa zobrazí hláška :
Kód: Vybrať všetko
Browser check: Sorry, but you must use Microsoft Internet Explorer 7.66Keďže takýto prehliadač zatiaľ neexistuje, budeme to musieť oklamať. Zo stránky http://www.mozilla.sk/rozsirenia/ si stihneme rozšírenie pre Mozillu, ktoré sa volá User Agent Switcher.
Nastav ho podľa nasledujúceho obrázku:

Takže prvú podmienku sme splnili :
Kód: Vybrať všetko
Browser check: OK!
OS check: Sorry, but you must use a unix or linux systemTakže si rozšírenie, ktore sme pred chvíľou stiahli, trocha upravíme :

Tentoraz sa zobrazí :
Kód: Vybrať všetko
Browser check: OK!
OS check:OK!
Link check:Sorry, but you must get here from a link on the page: http://www.microsoft.com/ms.htmKeďže táto stránka neexistuje budeme to musieť nejako obísť.
Takže si niekde zožeňte rozšírenie pre mozillu – RefControl.
Nastavíme ho takto :

Napisal Anti