Showing posts with label remote command execution. Show all posts
Showing posts with label remote command execution. Show all posts

Wednesday, February 16, 2011

MySQL Code Execution

I really embarrassed when i see SYSTEM keyword on MySQL allows execute OS Commands on current system(where mysql daemon runs). Yeah i embarrassed because i don't know it and have no idea about it (Yes i was know code execution with User Defined Functions). It's really simple.

Monday, September 13, 2010

Funny Command Injection in Pidgin

Today @_ikki tweet about this funny "fail" bug.Pidgins knotify plugin have remote command injection vulnerability. When you type some commands to your victim its executed with current users local priveliges. Its funny!! :>

--[src/pidgin-knotify.c:71-74]--
command = g_strdup_printf("kdialog --title '%s' --passivepopup '%s' %d", title,
body, timeout);
[...]
result = system(command);
--snip--


Exploitation:
Type your friend who use knotifies old version --> ';COMMAND;'

Reference:
https://bugs.gentoo.org/show_bug.cgi?id=336916

Thursday, July 22, 2010

[Analiz] Yet Another Remote Command Execution

Yine bir Remote Command Execution analizi ile karşındayım blog :) Code Injection yada RCE olarak sınıflandırabilirim sanırım bu zafiyeti. Herneyse kaynak kodu incelemeye başlayayım.


xxxxxxxxxxxx.php
...
$command = 'HTTP_COOKIE="'.getStringFromServer('HTTP_COOKIE').'" '.
'REMOTE_ADDR="'.getStringFromServer('REMOTE_ADDR').'" '.
'QUERY_STRING="'.$query_string.'" '.
'SERVER_SOFTWARE="'.getStringFromServer('SERVER_SOFTWARE').'" '.
'SCRIPT_NAME="'.getStringFromServer('SCRIPT_NAME').'" '.
'HTTP_USER_AGENT="'.getStringFromServer('HTTP_USER_AGENT').'" '.
'HTTP_ACCEPT_ENCODING="'.getStringFromServer('HTTP_ACCEPT_ENCODING').'" '.
'HTTP_ACCEPT_LANGUAGE="'.getStringFromServer('HTTP_ACCEPT_LANGUAGE').'" '.
'PATH_INFO="'.$path.'" '.
'PATH="'.getStringFromServer('PATH').'" '.
'HTTP_HOST="'.getStringFromServer('HTTP_HOST').'" '.
'DOCUMENT_ROOT="'.getStringFromServer('DOCUMENT_ROOT').'" '.
...
passthru($command);
...


getStringFromServer fonksiyonunda herhangi gibi bir filtreleme vs.. yok. Daha da konuşmaya gerek yok zaten :) HTTP başlıklarıyla (örn: Cookie, User-Agent, Accept-Encoding, Accept-Language) hedef üzerinde komut çalıştırabilirsiniz. Exploit? 1-2 güne bir reverse shell hortlatan bir remote exploit yazar yayınlarım herhalde. Az da olsa deneyimlerimden yola çıkarak belirtiyorum ki, web uygulamalarını ve zafiyetlerini hafife almamak gerekir.

cb

Saturday, July 17, 2010

[Analiz] Remote Command Execution

Selamlar günlük,
Yayınlanan advisory [1] için kısa bir analiz yapayım dedim iyide ettim herhalde çok sık yazamıyorum malum vakit ayıramıyorum yada üşeniyorum :) neyse az laf çok iş diyerekten girişiyorum analize çok konuştum yine :]

modules/gnupg/json.php:
...
$data = $gnupg->export($_REQUEST['fingerprint']);
...


Görüldüğü üzere export methodu parametre olarak 'fingerprint' isimli HTTP isteğiyle birlikte çağırılıyor. Birde export methoduna göz atalım. Açıkca söyleyeyim bu zafiyeti bulmam 4 yada 5 dakika mı aldı tabi yayınlamak daha uzun sürdü, biraz üşengeçlik biraz vendor'u bekleme vs... gerçi vendor geri dönmedi o da ayrı bir meselede :))