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特殊文字を迂回
Reference
この問題について(Part-1,SQL Inject Save(Blog)), 我々は、より多くの情報をここで見つけました https://velog.io/@gaebolin/Part-1-저장Blogテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol