Do 20. Nov 14:14:30 CET 2008

Touchpoint scrolling mit dem neusten X11

Da im neuen xorg die Konfiguration der Eingabegeraete nicht mehr in der xorg.conf steht sondern das ganze ueber hal erfolgt, muss die Konfiguration fuer das touchpoint scrolling ueber hal erfolgen.
Dazu einfach eine Datei mit dem folgenden Inhalt in /etc/hal/fdi/policy/ anlegen, z.bsp. scrolling.fdi
    <match key="info.product" string="DualPoint Stick">
        <merge key="input.x11_options.EmulateWheel" type="string">true</merge>
        <merge key="input.x11_options.EmulateWheelButton" type="string">2</merge>
        <merge key="input.x11_options.EmulateWheelTimeout" type="string">200</merge>
        <merge key="input.x11_options.XAxisMapping" type="string">6 7</merge>
        <merge key="input.x11_options.YAxisMapping" type="string">4 5</merge>
        <merge key="input.x11_options.ZAxsisMapping" type="string">4 5</merge>
        <merge key="input.x11_options.Emulate3Buttons" type="string">true</merge>
        <merge key="input.x11_options.Protocol" type="string">ExplorerPS/2</merge>
    </match>
Wenn man wie ich ein ALPS Touchpad hat, benoetigt man momentan noch einen Kernelpatch um mittels mittlerer Maustaste + Touchpoint zu scrollen.

Posted by Ulrich Dangel | Permanent Link | Categories: Stuff

Do 20. Nov 13:52:22 CET 2008

Netwerktraffic per Verbindung messen

Ab und zu steht man vor dem Problem festzustellen welche Netzwerk Verbindung gerade am meisten Traffic macht. Hier kommt jnettop ins Spiel das das ganze sehr komfortabel visualisiert.
Jetzt noch mittels netstat -anp nachschauen welcher Benutzer den Traffic generiert und ihn schimpfen :)

Posted by Ulrich Dangel | Permanent Link | Categories: Shell stuff

So 21. Sep 16:07:45 CEST 2008

WSGI Applikationen als CGI ausfuehren

WSGI Frameworks erfreuen sich immer grösserer Beliebtheit, und es gibt zig verschienden Möglichkeiten diese in seine bestehende Infrastruktur einzubinden, via Fastcgi, WSGI Modeln, http proxys etc. Die einfachste und sicherlich unperformanteste Möglichkeit ist, das ganze als CGI auszufuehen.
#!/usr/bin/env python2.5
from wsgiref.handlers import CGIHandler
from lodgeit import make_app

application = make_app(
    # the path to the database
    dburi='sqlite:////tmp/pastebin.db',
    secret_key='xlw7pe@FO_gZ\xa4\xah\xbdTz\xa7\x9v\xf7\x7f_o\x8f\xedq\xc7\xaf\xc5R'
)
CGIHandler().run(application) 

Dies ist ein Beispiel für lodgeit, und sollte eigentlich selbsterkärend sein.

Die Apache Konfiguration ist jetzt ziemlich einfach:

ScriptAlias /foo "/pfad/zum/cgi/script.cgi"
und fertig.

Posted by Ulrich Dangel | Permanent Link | Categories: Stuff

Sa 20. Sep 16:41:24 CEST 2008

Cache von Linux leeren

echo 3 > /proc/sys/vm/drop_caches
Nur zur Erinnerung ;)

Posted by Ulrich Dangel | Permanent Link | Categories: Stuff

Do 7. Aug 20:12:26 CEST 2008

Nur .onion URLs ueber Tor abrufen

Das Tor Projekt bietet eine schöne Möglichkeit um die Vorratsdatenspeicherung zu umgehen und den ganzen Traffic zu verschlüsseln. Dies ist leider nicht sonderlich praktikabel da das ganze langsam ist. Um nun aber trotzdem die Vorratsdatenspeicherung teilweise zu umgehen und schnell zu surfen bieten sich so genannte Hidden Services in Tor an. Das sind Server die nur über das Tor Netzwerk erreichbar sind, und über ihren Public Key erreichbar sind. Sprich wenn man auf die Seite 5iiiyugkwgfwwb37.onion geht, erreicht man sicher den Rechner der den entsprechenden Private Key hat.

Um nun tor nur für die .onion Addressen zu nutzen installiert man sich einfach tor und privoxy und konfiguriert privoxy so das nur .onion urls über Tor weitergeleitet werden.

apt-get install tor privoxy
echo 'forward-socks4a .onion             127.0.0.1:9050 .' >> /etc/privoxy/config
Nun noch einfach den http proxy auf die Addresse des privoxy stellen (meistens 127.0.0.1:8118) und Spass haben.

Achja, installiert euch auch einfach einen Hidden Service und macht das ganze Bekannter!


Posted by Ulrich Dangel | Permanent Link | Categories: Stuff

Do 19. Jun 19:44:46 CEST 2008

NoScript in Opera

Ich benutze seit neustem Opera, der zwar wirklich toll ist, dem meiner Meinung nach aber ein wichtiges Feature fehlt. Das Äquivalent zu NoScript.
Es gibt nun eine sehr coole Lösung für Opera die das ganze mit Hilfe von JavaScript nachbaut, sprich die JavaScripts werden nicht mehr per default ausgeführt sondern erst nach dem sie explizit erlaubt wurden.
Es ist jetzt auch möglich Javascript temporär für eine Seite bzw. ein bestimmtes Script zu erlauben, genau wie bei NoScript. Das interessante daran ist das die Lösung allein mit Hilfe von JavaScript implementiert wurde.
Hier mal eine Kurzanleitung dazu:

Ihr braucht zunächst einen Ordner wo ihr die User Javascripte von Opera ablegen könnt, einfach einen erzeugen.
Die Datei http://files.myopera.com/shoust/files/noscriptunblockmode.js herunterladen und in dem entsprechenden Ordner abspeichern.
Das Skript erlaubt per Default Scripte von der Seite die ihr besucht, um das Verhalten zu ändern, editiert einfach die Datei und setzt die Variable blocksitescripts auf true, und schon habt ihr das Verhalten von NoScript.
Jetzt noch einfach die Option User Javascript Files von Opera auf das erzeugte Verzeichniss stellen, opera neustarten und schon hat man NoScript.
Achja, wer die Datei mit wget runterladen will, sollte nicht vergessen den Referer anzugeben, sonst lädt man nur eine HTML Seite runter.

wget --referer=http://files.myopera.com/shoust/files/noscriptunblockmode.js \
http://files.myopera.com/shoust/files/noscriptunblockmode.js

Weiterführende Diskussion rund um das Script findet man auf http://my.opera.com/community/forums/topic.dml?id=205858&t=1213897810&page=1#comment2537863

Update:


JavaScripts events die Direkt in HTML Tags angegeben werden können, werden von dem Script momentan nicht geblockt. Sprich es ist keine vollwertige Lösung :/

Posted by Ulrich Dangel | Permanent Link | Categories: Stuff

So 8. Jun 16:13:16 CEST 2008

Dateien umbenennen mit dem Editor

Wenn man mehrere Dateien schnell umbenennen will gibt es zig verschiedene Tools, z.Bsp. mmv, zmv etc. Das Problem das ich mit diesen Tools habe, ist das ich immer vergesse wie die genau Syntax ist, was der Platzhalter ist, etc.
Genau dieses Problem lösen die renameutils die das ganze Interatkiv lösen. So reicht es einfach
qmv files
aufzurufen, und schon geht der editor auf und man kann den Ziel Dateinamen einfach im Editor einstellen, speichern, fertig. Das ganze hat den Vorteil das man sich keine Passende regex ausdenken muss, sondern einfach die entsprechende Spalte löscht, die Datei Namen gross schreibt, o.ä.

Posted by Ulrich Dangel | Permanent Link | Categories: Shell stuff

So 26. Aug 05:42:05 CEST 2007

/dev/radio und die Zukunft

Wer es noch nicht wusste, ich bin im Ulmer CCC aktiv und bin in der Zwischenzeit auch bei /dev/radio als Moderator eingesprungen.
Leider hat der ccc Ulm ein kleines Nachwuchsproblem, und damit auch /dev/radio, was dazu führt das nur noch ein paar wenige die Sendungen machen.
Dies ist leider auf Dauer nicht machbar, weswegen ich auf diesem Weg mal versuche Leute für /dev/radio als Moderator zu gewinnen.
Hier also der Aufruf an alle aus der Ulmer Gegend die irgend etwas zu sagen haben (gerne auch etwas politisches!), meldet euch einfach unter radio@ulm.ccc.de oder blog@spamt.net oder kommt einfach mal zum Montags Treff vorbei. Achja ihr könnt mich auch per jabber unter schula@jabber.ulm.ccc.de erreichen. Wir beissen nicht und ich würde mich über Rückmeldungen jeglicher Art freuen.

Posted by Ulrich Dangel | Permanent Link | Categories: Just me

Fr 24. Aug 14:54:38 CEST 2007

DNS Rebinding

Ja, ich greife mal das leidige Thema dns Rebinding auf, weil die eigentlich sehr simple aber auch sehr wirkungsvoll sind.
Die Idee dahinter ist wenn eine Anfrage nach foo.com gestellt wird, zunächst ein JavaScript auszuliefern, das dann weitere Anfragen nach foo.com stellt, in der Zwischenzeit wurde aber der DNS Record umgestellt wurde und somit auf eine völlig andere Seite zeigt die man damit ausspionieren kann. Mann kommt somit an Webseiten heran an die man sonst nicht hinkommt in dem man die IP Adresse dann einfach auf den Zielhost umsetzt, z.bsp. 192.168.1.1 o.ä.
Das ganze ist ja noch relativ unspektakulär weil man nur an Webseiten herankommt (was für Spionage meistens reicht), und nicht an irgenwelche Datenbaken o.ä., dazu benötigt man Socket zugriff was man mit JavaScript ja nicht hat. Naja, aber es gibt ja Browser Plugins, und manche Browser Plugins erlauben auch Netzwerkzugriffe, z.Bsp. Flash und Java. Und mit diesen Plugins ist es möglich beliebige Sockets zu öffnen. Dadurch kann man dann wunderbar auf Datenbanken/Veraltete Dienste o.ä. zugreifen und angreifen. Aber man kann das ganze auch zu positiven Zwecken einsetzen, ala Offene Proxies, Tor Nodes, o.ä. Da man Sockets hat (bei java auch udp) sind der eigenen Kreativität keine Grenzen gesetzt, ala VoIP Spamming, File sharing, freie DNS Server..
So, und jetzt ist die Frage wie kann man sich dagegen schützen:
  1. Das einfachste ist man surft ohne Javascript und zieht es konsequent durch und benutzt keine Plugins o.ä. sprich Youtube/Google Maps... ade -> nicht praktikabel
  2. Um zu verhindern das auf Interne Dienste die im LAN stehen zugegriffen werden kann reicht es DNS Antworten zu verwerfen die auf eine Interne IP zeigen. Dafür gibt es dnswall. Das ganze schützt aber nur die Internen Dienste und nicht das man mit seinem Browser plötzlich in einem BotNetz aktiv ist.
  3. Der Browser läuft unter anderen Benutzerrechten und darf nur auf Port 80/443 zugreifen, bzw. man setzt diese Policy mit selinux oder grsecurity durch, und darf nicht aufs Interne Netz zugreifen, sondern dies geschieht mit einem anderen Browser (wenn man selinux/grsecurity einsetzt) oder läuft mit den normalen Benutzerrechten, wodurch er auf das interne Netz zugreifen darf.
  4. Es gibt eine Firefox Extension das JavaScript beobachtet und Zugriff auf die Internen IPs verhindert.
So, und fuer alle die jetzt in Panik verfallen sind unter crypto.stanford.edu/dns/ gibt es weitere Informationen.

Posted by Ulrich Dangel | Permanent Link | Categories: Stuff

Do 23. Aug 18:15:53 CEST 2007

Inverssuche mit GoYellow

Nach dem die meisten Skripte für die Inverssuche dasoertliche verwenden und deren Webseite umgestellt wurde, hier mal zwei Skripte (perl/python) die das gleiche erledigen, jedoch mit goyellow
lookup.pl Version um in bestehende read_calls Skripte einzubinden
lookup.py Version um in python Skripten benutzt zu werden, einfach importieren und benutzen
Für Tips rund um die Fritzbox einfach wehavemorfun anschauen

Posted by Ulrich Dangel | Permanent Link | Categories: Stuff