Pergunta : Corte da injeção de MySql

Olá!, o Web site dos clientes do
A foi cortado repetidamente sobre a última necessidade de months.
I de poder sanitise o código para impedir uns cortes mais adicionais. Pode qualquer um dizer-me à que linha de código precisa de ser mudada e que para o mudar? o anfitrião do

Thanks

The (moeda de dez centavos do anfitrião) emitiu-lhes este mensagem de correio electrónico: o cliente do
Your é vulnerável à injeção de MySQL. O atacante podia injetar cortado uma página em sua base de dados como mostrado: o
####################
mysql> seleciona o pageid, título, shorttext, maintext dos tbpages onde o título do
mysql> gosta de “PichOfTheLast%”;
+--------+---------------------------+-----------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| pageid | título | shorttext | maintext |
+--------+---------------------------+-----------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| 44 | PichOfTheLast estava aqui.! | |
< Align=left> de P; < Um href=" rel= " nofollow "” do _blank” do” target= " do > JustLeaveMeAlone&quot de http://xat.com/; > < IMG
style=" LARGURA: 520px; ALTURA: 360px" alt=" height=280; " src=" hspace=0; rel= " nofollow " do” _blank”” do target= de " http://i42.tinypic.com/5mxr1k.gif" do href= do r1k.gif&quot do ic.com/5mx de http://i42.tinyp; width=411 border=0> < /A> < /P> < CENTER> < Rel= " nofollow " do” _blank”” do target= de " http://www.fileden.com/files/2008/8/22/2060529/Prodigy%20-Soundtrack%20Hackers%20-%20Techno%20Rave.mp3 do href= de EMBED
src= type=" do /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" do áudio/MPEG; autostart=" true" loop=" do ; true" > &lt; /CENTER> |
+--------+---------------------------+-----------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------a fileira de +
1 no
####################

We do jogo (0.00 segundos) removeu esta entrada da necessidade de database.

You de sanitize o usuário entrado (a variável da identificação por exemplo) como o atacante pode injetar o código do mysql tal como o seguinte para revelar a senha do admin: rel= " nofollow " do” _blank”” do target= do " 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-- do href= do
####################
inpage.php do ain.com/ma de http://www.rainbowestatesp? id=040%20union%20select%20all%20null, concat%28username, char%2858%29, password%29, zero, null, zero, null, zero, null, zero, null, zero, null%20%20%20from%20users%20order%20by%202--; o atacante do
####################

The poderia então entrar a seu administrador que section.

We o recomendam seguro o código nesta página e os mudam o admin password.



Here são o código para o mainpage.php

hp”)? >

$id = $_GET [“identificação”];
$pageid = $id; o
do
$sql = “SELECIONA * dos tbpages ONDE pageid=$id”;
$result = mysql_query ($sql);
$numrows = mysql_num_rows ($result);
do
se (== 0 de $numrows) {eco “erro”; }
do
$row = ;

? >


< do " subpagetext " do id= do >

se ($row [“belongsto”]! == “0”) {
$trace do
[0] = $row [“pageid”];
$trace [1] = $row [“belongsto”];
$names [0] = $row [“título”];
$i = 1;
do
quando (($trace [$i]! && do == 0) ($i < 10)) {
do
$sql = “belongsto SELETO, título dos tbpages ONDE pageid=”. $trace [$i];
$result = mysql_query ($sql);
$row2 = ;
            
                  $i++;
$trace do
[$i] = (int) ($row2 [“belongsto”]);
$names [$i-1] = $row2 [“título”];
do
do
do

} para ($j = $i; >= 0 de $j; $j--) {
do
se ($j > 0) {eco do “href= ? id=”. $trace [$j]. ” \ “>”; eco $names do
do
} [$j]; eco “
” do
;
se (($j > 0) && ($j < $i))” {do eco/“; }
do
do
do
} $sql = “título SELETO, pageid dos tbpages ONDE pageid=”. $row [“belongsto”];
$result = mysql_query ($sql);
$row2 = ;

do
} mais {eco $row do
do
[“título”];
do
do
}? >



//CONTENT LIST

do PHP $sql = “SELECIONA * dos tbpages ONDE ORDEM de belongsto=$id pelo itemorder”;
$result = mysql_query ($sql);
$numrows = mysql_num_rows ($result);
$i = 0;
se ($numrows > 0) índice {do eco “:
”; }
quando ($row2 = ) {
do
se (([“linksto”] == $row2 0) && ([“linkstourl”] "" do == $row2)) {

$pageid = $row2 [“pageid”];
se ($row2 [“pageid”] < 100) {$pageid = “0”. $row2 [“pageid”]; }
se ($row2 [“pageid”] < 10) {$pageid = “00”. $row2 [“pageid”]; } href=
do “\ “page$pageid.html”; elseif do
do
} ($row2 [“linkstourl”]! == href= \ ""
do
do “. str_replace (” ** LOCAL ** “, $glb_sitepath, $row2 [“linkstourl”]);
do
} mais {
do
$pageid = $row2 [“linksto”];
se ($row2 [“linksto”] < 100) {$pageid = “0”. $row2 [“linksto”]; }
se ($row2 [“linksto”] < 10) {$pageid = “00”. $row2 [“linksto”]; } href=
do “\ “page$pageid.html”; ” do eco do
do
do
do
} \ "";
se ($row2 [“linkstonewpage”]) {eco” target= \ “_blank \ ""; } eco do
“>”. $row2 [“título”]. “
”;
            
            $i++;eco “
” do
;
do
do
} se ($numrows > 0) {eco “
”; } html_entity_decode do eco do

//PAGE CONTENT
(str_replace (” ** LOCAL ** “, $glb_uploadspath, $row [“maintext”])); o

//MAIN LINKS
$sql = “SELECIONA * dos tbpages ONDE ORDEM de belongsto=$id pelo itemorder”;
$result = mysql_query ($sql);
$numrows = mysql_num_rows ($result);

$i = 0;
se ($numrows > 0) {eco “

”; }
quando ($row2 = ) {
do
se (([“linksto”] == $row2 0) && ([“linkstourl”] "" do == $row2)) {

$pageid = $row2 [“pageid”];
se ($row2 [“pageid”] < 100) {$pageid = “0”. $row2 [“pageid”]; }
se ($row2 [“pageid”] < 10) {$pageid = “00”. $row2 [“pageid”]; } href=
do “\ “page$pageid.html”; elseif do
do
} ($row2 [“linkstourl”]! == href= \ ""
do
do “. str_replace (” ** LOCAL ** “, $glb_sitepath, $row2 [“linkstourl”]);
do
} mais {
do
$pageid = $row2 [“linksto”];
se ($row2 [“linksto”] < 100) {$pageid = “0”. $row2 [“linksto”]; }
se ($row2 [“linksto”] < 10) {$pageid = “00”. $row2 [“linksto”]; } href=
do “\ “page$pageid.html”; ” do eco do
do
do
do
} \ "";
se ($row2 [“linkstonewpage”]) {eco” target= \ “_blank \ ""; } eco do
“>”. $row2 [“título”]. “
”;
            
            $i++;eco “
” do
; eco $row2 do
[“shorttext”];
se ($row2 [“shorttext”]! "") {eco “
” do ==; } eco “
” do
;
do
do
}? >
 
hp”); ? >
class= do

Resposta : Corte da injeção de MySql

Olá! Scott

Que software do antivirus é você que se usa?  Estes sintomas são causados às vezes pela exploração dinâmica da base de dados que é deficiente.

Referir http://support.microsoft.com/kb/827615 para a informação geral.  Você precisaria de consultar a documentação de produto para instruções específicas, dependendo de seu produto do avoirdupois.
Outras soluções  
 
programming4us programming4us