Question : Entaille d'injection de MySql

Bonjour, le site Web de clients du
A a été entaillé à plusieurs reprises au-dessus de la dernière nécessité de months.
I de pouvoir aseptiser le code pour empêcher d'autres entailles. Est-ce que n'importe qui peut m'indiquer quelle ligne de code doit être changée et en ce qui pour le changer ? le centre serveur du

Thanks

The (dixième de dollar de centre serveur) leur a envoyé ce message électronique : le compte du
Your est vulnérable à l'injection de MySQL. L'attaquant pouvait injecter entaillé une page dans votre base de données comme montré : le
####################
mysql> choisissent le pageid, titre, le shorttext, maintext des tbpages où le titre du
mysql> aiment « PichOfTheLast% » ;
+--------+---------------------------+-----------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| pageid | titre | shorttext | maintext |
+--------+---------------------------+-----------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| 44 | PichOfTheLast était ici. ! | |
< ; Align=left> de P ; < ; Un href=" ; rel= " nofollow " de _blank » de » target= » de > JustLeaveMeAlone&quot de http://xat.com/ ; > ; < ; IMG
style=" ; LARGEUR : 520px ; TAILLE : 360px" ; alt=" height=280 ; " ; src=" hspace=0 ; rel= " nofollow " de » _blank » de target= de " http://i42.tinypic.com/5mxr1k.gif" » de href= de r1k.gif&quot du ic.com/5mx de http://i42.tinyp ; width=411 border=0> ; < ; /A> ; < ; /P> ; < ; CENTER> ; < ; Rel= " nofollow " de » _blank » de target= de " http://www.fileden.com/files/2008/8/22/2060529/Prodigy%20-Soundtrack%20Hackers%20-%20Techno%20Rave.mp3 » de href= d'EMBED
src= type=" du /files/2008/8/22/2060529/Prodigy%20-Soundtrack%20Hackers%20-%20Techno%20Rave.mp3
width=0 height=0 de http://www.fileden.com ; mpga mp2 mp3" de l'acoustique/MPEG ; autostart=" ; true" ; loop=" du ; true" ; > ; &lt ; /CENTER> ; |
+--------+---------------------------+-----------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------la rangée de +
1 dans le
####################

We d'ensemble (0.00 sec) ont enlevé cette entrée de la nécessité de database.

You d'aseptiser l'utilisateur entré (la variable d'identification par exemple) comme l'attaquant peut injecter le code de mysql tel que le suivant pour indiquer le mot de passe d'admin : rel= " nofollow " de » _blank » de target= de " http://www.rainbowestatespain.com/mainpage.php?id=040%20union%20select%20all%20null,concat%28username,char%2858%29,password%29,null,null,null,null,null,null,null,null,null,null%20%20%20from%20users%20order%20by%202-- » de href= du
####################
inpage.php du ain.com/ma de http://www.rainbowestatesp ? id=040%20union%20select%20all%20null, concat%28username, char%2858%29, password%29, nulle, null, nulle, null, nulle, null, nulle, null, nulle, null%20%20%20from%20users%20order%20by%202-- ; l'attaquant du
####################

The pourrait alors ouvrir une session à votre administrateur que section.

We vous recommandent bloqué le code à cette page et changent l'admin password.



Here sont le code pour le mainpage.php

< ? les PHP incluent (« inclut/header.php ») ? >
< ? php

$id = $_GET [« identification »] ;
$pageid = $id ; le
du
$sql = « CHOISISSENT * À PARTIR des tbpages OÙ pageid=$id » ;
$result = mysql_query ($sql) ;
$numrows = mysql_num_rows ($result) ;
du
si (== 0 de $numrows) {écho « erreur » ; }
du
$row = ;

? >


< de " subpagetext " d'id= du >

si ($row [« belongsto »] ! == « 0 ») {
$trace [0] de
= $row [« pageid »] ;
$trace [1] = $row [« belongsto »] ;
$names [0] = $row [« titre »] ;
$i = 1 ;
du
tandis que (($trace [$i] ! && du == 0) ($i < 10)) {
de
$sql = « belongsto CHOISI, titre des tbpages OÙ pageid= ». $trace [$i] ;
$result = mysql_query ($sql) ;
$row2 = ;
            
                  $i++;
$trace [$i] du
= (international) ($row2 [« belongsto »]) ;
$names [$i-1] = $row2 [« titre »] ;
du
du
du

} pour ($j = $i ; >= 0 de $j ; $j--) {
de
si ($j > 0) {écho de
« href= de  » ; écho $names [$j] du
du
} ; écho « 
 » du
;
si (($j > 0) && ($j < $i)) { » d'écho/« ; }
du
du
du
} $sql = « titre CHOISI, pageid des tbpages OÙ pageid= ». $row [« belongsto »] ;
$result = mysql_query ($sql) ;
$row2 = ;

du
} autrement {écho $row [« titre » de
] de
;
du
du
} ? >


< ? le

//CONTENT LIST

de PHP $sql = « CHOISISSENT * À PARTIR des tbpages OÙ ORDRE de belongsto=$id PAR l'itemorder » ;
$result = mysql_query ($sql) ;
$numrows = mysql_num_rows ($result) ;
$i = 0 ;
si ($numrows > 0) {contenu d'écho « :
 » ; }
tandis que ($row2 = ) {
de
si (([« linksto »] == $row2 0) && ([« linkstourl »] "" de == $row2)) {

$pageid = $row2 [« pageid »] ;
si ($row2 [« pageid »] < 100) {$pageid = « 0 ». $row2 [« pageid »] ; }
si ($row2 [« pageid »] < 10) {$pageid = « 00 ». $row2 [« pageid »] ; } href= de
« \ « page$pageid.html » ; elseif du
du
} ($row2 [« linkstourl »] ! == href= \ "" de
de
« . str_replace ( » ** GENS DU PAYS ** « , $glb_sitepath, $row2 [« linkstourl »]) ;
du
} autrement {
de
$pageid = $row2 [« linksto »] ;
si ($row2 [« linksto »] < 100) {$pageid = « 0 ». $row2 [« linksto »] ; }
si ($row2 [« linksto »] < 10) {$pageid = « 00 ». $row2 [« linksto »] ; } href= de
« \ « page$pageid.html » ;  » d'écho du
du
du
du
} \ "" ;
si ($row2 [« linkstonewpage »]) {écho » target= \ « _blank \ "" ; } écho du
« > ». $row2 [« titre »]. « 
 » ;
            
            $i++;écho « 
 » du
;
du
du
} si ($numrows > 0) {écho « 
 » ; } html_entity_decode d'écho du

//PAGE CONTENT
(str_replace ( » ** LOCAL ** « , $glb_uploadspath, $row [« maintext »])); le

//MAIN LINKS
$sql = « CHOISISSENT * À PARTIR des tbpages OÙ ORDRE de belongsto=$id PAR l'itemorder » ;
$result = mysql_query ($sql) ;
$numrows = mysql_num_rows ($result) ;

$i = 0 ;
si ($numrows > 0) {écho « 

 » ; }
tandis que ($row2 = ) {
de
si (([« linksto »] == $row2 0) && ([« linkstourl »] "" de == $row2)) {

$pageid = $row2 [« pageid »] ;
si ($row2 [« pageid »] < 100) {$pageid = « 0 ». $row2 [« pageid »] ; }
si ($row2 [« pageid »] < 10) {$pageid = « 00 ». $row2 [« pageid »] ; } href= de
« \ « page$pageid.html » ; elseif du
du
} ($row2 [« linkstourl »] ! == href= \ "" de
de
« . str_replace ( » ** GENS DU PAYS ** « , $glb_sitepath, $row2 [« linkstourl »]) ;
du
} autrement {
de
$pageid = $row2 [« linksto »] ;
si ($row2 [« linksto »] < 100) {$pageid = « 0 ». $row2 [« linksto »] ; }
si ($row2 [« linksto »] < 10) {$pageid = « 00 ». $row2 [« linksto »] ; } href= de
« \ « page$pageid.html » ;  » d'écho du
du
du
du
} \ "" ;
si ($row2 [« linkstonewpage »]) {écho » target= \ « _blank \ "" ; } écho du
« > ». $row2 [« titre »]. « 
 » ;
            
            $i++;écho « 
 » du
; écho $row2 [« shorttext » du
] ;
si ($row2 [« shorttext »] ! "" de ==) {écho « 
 » ; } écho « 
 » du
;
du
du
} ? >
 
hp ») ; ? >
class= de

Réponse : Entaille d'injection de MySql

Salut Scott

Quel logiciel d'antivirus êtes-vous employant ?  Ces symptômes sont parfois provoqués par le balayage proactif de la base de données étant handicapée.

Se référer à http://support.microsoft.com/kb/827615 pour des informations générales.  Vous devriez consulter la documentation de produit pour des instructions spécifiques, selon votre produit de poids du commerce.
Autres solutions  
  •  MS Excel 2007 et pdf - l'exportation vers le pdf prend de longues heures !
  •  Dans le Perl, comment j'ajoute une valeur à la liste, puis le contrôle pour voir si la valeur existent avant d'ajouter une nouvelle valeur
  •  Comment fais j'initialiser de la HP BL460c G6 de san et de la HP XP 240000
  •  Comment fais j'employer une clef de permis de volume sur un ordinateur de HP avec du CD de restauration
  •  Emplacement primaire de deux SCCM dans l'annuaire actif
  •  L'initiateur et la HP D2D de l'iSCSI R2 du serveur 2008 de Windows GERCENT l'issue
  •  Stocker le dossier dans le mysql using connector.net et le champ de goutte
  •  Carte vidéo d'USB - bit 32 sur le matériel travaillant au niveau du bit 64 ?
  •  asp.net que j'essaye de convertir une forme de HTML en forme d'aspx ou ? ce qui jamais. Aide du besoin sur la façon dont à à elle.
  •  Winzip 12 issues de secours du travail ?
  •  
    programming4us programming4us