Author: sd
facebook schlaegt den teufel vor
sicherlich nur ein versehen, dass facebook sowas zulaesst:
corruption everywhere
vorhin über “Top 10 Most Corrupt Countries Of The World in 2012” gestolpert. wiedermal lustig, welche werbung eingeblendet wird, wenn das wort “corruption” im spiel ist…
die wichtigkeit geteilter inhalte bei facebook
was dieser hund macht ist weltklasse in gegensatz zu dem, was die meisten meiner “freunde” den lieben langen tag durch facebook jagen.
brute force angriffe auf wordpress
so langsam geht mir das auf den sack mit den staendigen loginversuchen in mein wordpress. auch andere haben mir berichtet, dass ihr blog betroffen ist. erst dachte ich, dass man z.b. mit einem plugin wie “Login LockDown” was sinnvolles dagegen machen koennte. aber auch das erzeugt eigentlich nur last auf dem system. und ich brauche z.b kein schickes user interface, welches mir die letzten tausend fehlgeschlagenen logins anzeigt oder emails, wenn eine bestimmte ip blockiert wurde. ein logfile wuerde fuer mich auch genuegen.
dann kam mir die idee, das wp-admin verzeichnis einfach per .htaccess mit benutzer und passwort zu schuetzen. so wird erst gar kein php mit datenbankabfragen ausgefuehrt, da der webserver das schon abfruehstueckt.
von wegen halb voll oder halb leer – teil 2
die klugscheisserversion hatten wir schon. hier nun ein klein wenig philosophischer ansatz:
A psychologist walked around a room while teaching stress management to an audience. As she raised a glass of water, everyone expected they’d be asked the “half empty or half full†question. Instead, with a smile on her face, she inquired: “How heavy is this glass of water?â€Answers called out ranged from 8 oz. to 20 oz.She replied, “The absolute weight doesn’t matter. It depends on how long I hold it. If I hold it for a minute, it’s not a problem. If I hold it for an hour, I’ll have an ache in my arm. If I hold it for a day, my arm will feel numb and paralyzed. In each case, the weight of the glass doesn’t change, but the longer I hold it, the heavier it becomes.†She continued, “The stresses and worries in life are like that glass of water. Think about them for a while and nothing happens. Think about them a bit longer and they begin to hurt. And if you think about them all day long, you will feel paralyzed – incapable of doing anything.â€It’s important to remember to let go of your stresses. As early in the evening as you can, put all your burdens down. Don’t carry them through the evening and into the night.Remember to put the glass down!
wiedermal kacka serva hacka
irgendein trojaner hat scheinbar die ftp kennwoerter eines anderen geklaut und irgedein automatismus kompromittiert dann die dazu gehoerigen webpraesenzen. nein, nicht mir… ich darfs nur wieder bereinigen 😉
in alle html dateien z.b. wurde dieser code eingefuegt:
bei allen php und js-dateien sah es aehnlich aus, nur eben an die gegebenheiten der sprache angepasst.
ich kriegs im nachhinein nicht mehr zusammen, was ich alles gemacht habe, um das malheur zu beseitigen. hier nur ein paar codeschnipsel von der bash, damit ich die wieder finde, falls ich sie doch noch mal brauchen sollte.
ein backup gab es selbstverstaendlich, doch nur fuer 5 tage in der vergangenheit. der befall wurde leider erst am sechsten tage entdeckt. die erste idee war natuerlich, die infizierten dateien aus den original sourcen des cms wiederherzustellen. also husch eine liste gemacht mit den dateien, welche geaendert wurde und auch in der sourcen vorhanden sind. mit dieser liste dann aus den sourcen die auf dem webserver ueberschrieben:
for i in `cat liste.txt`; do scp contao-2.11.5/$i host:/var/www/$i; done
leider war das insgesamt nur ein bruchteil der betroffenen dateien. also musste eine andere loesung her. da alle diese dateien den gleichen code beinhalteten, habe ich erst einmal eine liste dieser dateien erstell:
grep -l -R '9f61a5' * > /tmp/infected.txt
anhand dieser liste habe ich dann mit sed den ganzen betroffenen block in der datei entfernt. im falle der javascript dateien sah das so aus:
for i in `cat /tmp/infected.txt|grep .js`; do sed -i '/*9f61a5*/,/a65*/d' /var/www/$i; done
und bei den html dateien so:
for i in `cat /tmp/infected.txt|grep .html`; do sed -i 's///' /var/www/$i; done
wie schon geschrieben… drumherum fehlt noch einiges an arbeit 😉
bash, find, alter einer datei
damit ich mir es vielleicht irgendwann mal merken kann…
dateien suchen, die juenger oder aelter sind als x tage (bzw. geaendert wurden)
find PFAD -type f -name '*.html' -mtime +TAGE -exec BEFEHL {} \;
TAGE ist die anzahl tage, die betrachtet werden soll. mit einem plus davor bedeutet es “aelter als”. mit einem minus davor bedeutet es “juenger als”.
beispiel1: sucht im verzeichnis /tmp nach dateien, die vor mehr als 5 tage geaendert worden sind und loescht diese:
find /tmp -type f -name '*' -mtime +5 -exec rm {} \;
beispiel2: sucht im verzeichnis /var/www nach html dateien, die vor einem tag und weniger geaendert wurden und gibt diese aus:
find /var/www -type f -name '*.html' -mtime -1 -exec echo {} \;
die sacche mit den zeitstempeln ist so:
-ctime x : findet dateien, die in dieser zeit erzeugt (c wie created) wurden.
-mtime x : findet dateien, die in dieser zeit modifiziert (m wie modified) wurden.
-atime x : findet dateien, die in dieser zeit geoeffnet (a wie accessed) wurden.