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);"