V Anboxu:

  • Spusťte app DIVA.
  • 7. INPUT VALIDATION ISSUES - PART 1
  • Možná vás napadne, že by zde mohla být zranitelnost SQL Injection - vyzkoušejme to:
  • Do pole "Enter user name to search" zadejte apostrof
    '
    uvidíme, jak aplikace reaguje.
  • SEARCH
  • Nevidíme žádnou reakci. A co v logu?
  • V terminálu zadejte
    sudo adb logcat
  • nebo
    sudo gedit /var/snap/anbox/common/logs/console.log
  • V žurnálu nalézáme
    SQLiteLog: (1) unrecognized token: "'''" 
    Diva-sqli: Error occurred while searching in database: unrecognized token: "'''" (code 1): , while compiling: SELECT * FROM sqliuser WHERE user = '''
  • Je vidět, že je pokládán SQL dotaz. Známe jeho konstukci - mohla by tam být zranitelnost SQL Injection.

V tabletu:

  • Do pole "Enter user name to search vyzkoušejme zadat jiný vstup - použijeme řetězec, který vždy vrátí hodnotu true pro načtení položek z databáze, např.:
    1' or '1' != '2
  • SEARCH
  • Ve spodní části obrazovky se nám zobrazily údaje o uživatelích.
  • Kde je problém?

V MobSF

  • V nástroji MobSF se podívejte do souboru SQLInjectionActivity.java.
  • Část "this.mDB.rawQuery("SELECT * FROM sqliuser WHERE user = '" + view.getText().toString() + "'", null);"