2021-06-06 · 1

LOS #2 cobolt write-up

securitypwnable

この記事は公開から2年以上経過しています。


LOS とは?

この LOS(Lord Of SQLInjection)は SQLInjection を実習できる Web ハッキング実習サイトです。

SQL Injection については [ハッキング/Web ハッキング] - SQL Injection この記事を読んでください〜ㅎ

[ハッキング/Web ハッキング] - [LOS] #1 gremlin write up <- 1 番の問題

解法の過程

1〜6 行目までは前の #1 の内容と同じなので飛ばします。

$query = "select id from prob_cobolt where id='{$_GET[id]}' and pw=md5('{$_GET[pw]}')";

#1 から変わったクエリ文です。pw に md5 というものが追加されたのが全部のようです。核心はここではなく 10〜11 行目です。

if($result['id'] == 'admin') solve("cobolt");
elseif($result['id']) echo "<h2>Hello {$result['id']}<br>You are not admin :(</h2>"; 

さて前と変わった点は、result['id'] 値が 'admin' にならないと解けないようです。ただ #1 のように解くと下の elseif 文が作動するようです。確認してみましょうか?#1 と同じように ' or 1=1 %23 を id 値に入れてみます。

予想どおり elseif 文が作動するのが確認できます。ではどうすればよいでしょうか?

とても簡単です、id 値だけ admin にすればよいのです!id=admin' %23 のように入力すると id 値が admin に変わり、後ろに # を入力して後ろをコメント処理しました。

こうして解決しました!!2 番の問題、お疲れさまでした。


原文(韓国語): tistory — 2021-06-06 公開、当ブログへ移行。この翻訳は AI の協力で作成されました。

コメント

コメントを削除しますか?

関連記事

LOS #2 cobolt write-up · 나봄하랑