Android

    Insecure Logging - Level 1

    정보 level 1은 신용카드 번호를 입력 후 체크 아웃하는 기능을 가졌으며, 신용카드 번호와 같은 민감한 정보가 로그에 남는 것을 확인하는 단계이다. 기본 화면은 다음 [그림 1]과 같이 신용 카드 번호를 입력할 수 있는 부분과 CHECK OUT이라는 버튼 하나로 구성되어 있다. 이때 신용카드 번호 입력 후 CHECK OUT 버튼을 누르면 "An error occured. Please try again later"라는 문자열이 출력되는 것을 확인할 수 있다. 분석 checkout public void checkout(View view) { EditText cctxt = (EditText) findViewById(R.id.ccText); try { processCC(cctxt.getText().toStr..

    FLAG SEVEN - SQLITE

    Analysis Code onCreate public void onCreate(Bundle bundle) { super.onCreate(bundle); setContentView((int) R.layout.activity_flag_seven_sqlite); C((Toolbar) findViewById(R.id.toolbar)); j.g.a(this); H(); ((FloatingActionButton) findViewById(R.id.fab)).setOnClickListener(new a(this)); SQLiteDatabase writableDatabase = this.u.getWritableDatabase(); ContentValues contentValues = new ContentValues();..

    FLAG SIX - Login 3

    Analysis Code submitFlag public final void submitFlag(View view) { EditText editText = (EditText) findViewById(R.id.editText3); d.b(editText, "editText3"); if (d.a(editText.getText().toString(), k.a("k3FElEG9lnoWbOateGhj5pX6QsXRNJKh///8Jxi8KXW7iDpk2xRxhQ=="))) { Intent intent = new Intent(this, FlagOneSuccess.class); FlagsOverview.D = true; new j().b(this, "flagSixButtonColor", true); startActiv..

    FLAG FOUR - Login 2

    Analysis Code submitFlag public final void submitFlag(View view) { EditText editText = (EditText) findViewById(R.id.editText2); d.b(editText, "editText2"); String obj = editText.getText().toString(); byte[] a2 = new g().a(); d.b(a2, "decoder.getData()"); if (d.a(obj, new String(a2, d.p.c.f3141a))) { Intent intent = new Intent(this, FlagOneSuccess.class); new FlagsOverview().I(true); new j().b(th..

    FLAG THREE - RESOURCES

    Analysis code submitFlag public final void submitFlag(View view) { EditText editText = (EditText) findViewById(R.id.editText2); d.b(editText, "editText2"); if (d.a(editText.getText().toString(), getString(R.string.cmVzb3VyY2VzX3lv))) { Intent intent = new Intent(this, FlagOneSuccess.class); new FlagsOverview().L(true); new j().b(this, "flagThreeButtonColor", true); startActivity(intent); } } pub..

    FLAG TWO - EXPORTED ACTIVITY

    Analysis Code FlagTwoActivity public class FlagTwoActivity extends c { int t = 0; public /* synthetic */ void F(View view) { int i = this.t; if (i == 0) { Snackbar X = Snackbar.X(view, "Key words Activity and exported.", 0); X.Y("Action", (View.OnClickListener) null); X.N(); this.t++; } else if (i == 1) { Snackbar X2 = Snackbar.X(view, "Exported Activities can be accessed with adb or Drozer.", 0..