2012-01-12 8 views
0

POSTパラメータの形式でSQL文を挿入できない理由を理解したいと思います。私はsqlmapを使って手動で成功させました。postパラメータがinjectableでない

定義された関数があります:

function mysql_get_result($sQuery, $hSocket) //$sQuery: mysql query, 
              $hSocket:MySQLSocket(mysql_connect). 
{ 
$sResource = mysql_query($sQuery, $hSocket); 
list($sValue) = mysql_fetch_row($sResource); 
return $sValue; 
} 

とPOSTパラメータの実際のクエリはありません。

(mysql_get_result("SELECT place FROM towns 
WHERE place = '".$sR_place."' AND num = '".$iR_num."'", $hMySQLSocket) 
== $sR_place and $sR_place != '') 

全く入力sanitiazionは。それでなぜそれは働いていないのですか? SQLインジェクションは、mysql_query関数がそれ以上のステップを実行しなくても動作しますか?

答えて

1

mysql_real_escape_stringでサニタイズしていないか、クエリのパラメータを設定していないため、コードにSQLインジェクションが脆弱である必要があります。

あなたの攻撃が適切にフォーマットされていない可能性が高いため、POSTパラメータを改訂してみてください。 Try a variety of attacks

関連する問題