Skip to content

4- Insecure Data Storage - Part 2

Pasted image 20260825195317

InsecureDataStorage2Activity.java

java
package jakhar.aseem.diva;

import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.os.Environment;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.EditText;
import android.widget.Toast;

import java.io.File;

public class InsecureDataStorage2Activity extends AppCompatActivity {

    private SQLiteDatabase mDB;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        try {
            mDB = openOrCreateDatabase("ids2", MODE_PRIVATE, null);
            mDB.execSQL("CREATE TABLE IF NOT EXISTS myuser(user VARCHAR, password VARCHAR);");
        }
        catch(Exception e) {
            Log.d("Diva", "Error occurred while creating database: " + e.getMessage());
        }

        setContentView(R.layout.activity_insecure_data_storage2);
    }

    public void saveCredentials(View view) {
        EditText usr = (EditText) findViewById(R.id.ids2Usr);
        EditText pwd = (EditText) findViewById(R.id.ids2Pwd);
        try {
            mDB.execSQL("INSERT INTO myuser VALUES ('"+ usr.getText().toString() +"', '"+ pwd.getText().toString() +"');");
            mDB.close();
        }
        catch(Exception e) {
            Log.d("Diva", "Error occurred while inserting into database: " + e.getMessage());
        }
        Toast.makeText(this, "3rd party credentials saved successfully!", Toast.LENGTH_SHORT).show();


    }
}

Si observamos el código se crea una db con openOrCreateDatabase("ids2")

Por defecto estas dbs se guardan en

bash
/data/data/jakhar.aseem.diva/databases/
bash
adb shell
su

cd /data/data/jakhar.aseem.diva/databases/

cp ids2 /sdcard/ids2

adb pull /sdcard/ids2
Pasted image 20260825201622

Mismo problema que el reto anterior: posible acceso root o con debug, por forense físico, backups ...

Notas personales de seguridad ofensiva.