All A-Loan

Body Count で用いたファイルについて、 employees in California により発行された Small Business loans のお金が一番多いのはどの city かと、その額を要求された。

これは、以下の手順で求めることができそうである。

まず、「in California」かどうかの判定方法を推測する。
employees のデータから California を検索したが、見つからなかった。
そこで、「California」でググると、略称が US-CA であるアメリカの州を表すようだった。

カリフォルニア州 - Wikipedia

これを踏まえ、state'CA' である employee の employee_idcity の対応表を抽出する以下のプログラムを作成した。
このプログラムの入力は、employees のデータ (demonne.sql の164行目) とする。

Regarding the file used in Body Count, we were asked to determine which city has the largest amount of money in "Small Business loans" that are issued by "employees in California" and the amount.

This can be achieved in this way:

Firstly, I guessed how to judge if an employee is "in California".
I searched for California from the data of employees, finding nothing.
Then I googled "California" and found that it looks standing for a state in the United States, whose code is US-CA.

California - Wikipedia

Based on this, I created this program to extract a conversion table between employee_id and city for employees whose state is 'CA'.
This program takes the data of employees (the 164th line of demonne.sql) as an input.

extract_california.pl

さらに、loans のデータのうち、loan_type_id3 であり、かつ employee_id が対応表にあるものの balance の値を、 employee_id に対応する city ごとに合計し、合計の降順で出力する以下のプログラムを作成した。
このプログラムは、loans のデータ (demonne.sql の224行目) を標準入力から、対応表をコマンドライン引数で指定したファイルから読み込む。
また、この問題の問題文と、自分が解いた後に修正された El Paso の問題文に共通して outstanding という表現が使われていたことから、 この問題でも El Paso と同じ balance の値を使うと良いと推測した。

Then, I created this program to calculate the sum of values of balance of entries in the data of loans whose loan_type_id is 3 and employee_id is in the conversion table.
These values are added for each city corresponding to the employee_id and printed in decending order of the sum.
This program reads the data of loans (the 224th line of demonne.sql) from the standard input and the conversion table from the file specified in the command line arguments.
I guessed that I should use the value of balance for this challenge like I did in El Paso because both of the challenge description of this challenge and El Paso (modified after I solved that) had an expression "outstanding".

extract_loan_ranking.pl

その結果、一番 balance の値の合計が多いのは Oakland であり、その合計は 90600.00 であった。
これを指定されたflagの形式に当てはめることで、flagが得られた。

As a result, it revealed that Oakland has the largest sum of values of balance, and that the sum is 90600.00.
I obtained the flag by putting these results to the specified format.

flag{Oakland_$90,600.00}

DEADFACE CTF