SQLを文字列で結合して作る単純な(ダメな)例 "UPDATE hoge_table SET fuga = '" + user_input + "' WHERE id = piyo;" このuser_inputに ';--have i been pwned? が入力されてくると UPDATE hoge_table SET fuga = '';--have i been pwned?' WHERE id = piyo となり、--の後はコメントになるので実際に実行されるのは UPDATE hoge_table SET fuga = ''; hoge_table のfuga列が条件に関わらず全て上書きされてしまうという手口…というか脆弱性というか。
ロゴ (スコア:0)
頭4文字が何を意味しているのかよく分からん。
Re:ロゴ (スコア:4, 参考になる)
SQL文で
'は文字列の終了(開始もだが)
;は命令の終了
--はコメントの始まり
になるので単純に文字列を結合して実行するようなプログラムだとSQLインジェクションが出来てしまう。
最も基本的?なSQLインジェクションの手口なのでロゴに使用したんでしょう。
SQLを文字列で結合して作る単純な(ダメな)例
"UPDATE hoge_table SET fuga = '" + user_input + "' WHERE id = piyo;"
このuser_inputに ';--have i been pwned? が入力されてくると
UPDATE hoge_table SET fuga = '';--have i been pwned?' WHERE id = piyo
となり、--の後はコメントになるので実際に実行されるのは
UPDATE hoge_table SET fuga = '';
hoge_table のfuga列が条件に関わらず全て上書きされてしまうという手口…というか脆弱性というか。
Re: (スコア:0)
SQLインジェクションによる個人情報流出を引き起こす文字列と、ウインクしてる横向きの顔文字のダブルミーニング
Re: (スコア:0)
最初のシングルクォートいらなくない?
Re: (スコア:0)
眉毛を片方剃り落としてしまったんですよ(リンクはあえてはらない)
Re: (スコア:0)
そろそろこの漫画も古典かな…と思っていたらまだまだ現代劇ですね。
https://xkcd.com/327/ [xkcd.com]