2016年8月26日 星期五

DIVA Android - 7.Input Validation Issues – Part 1

相關文章:

DIVA Android - 1.Insecure Logging
DIVA Android - 2.Hardcoding Issues – Part 1
DIVA Android - 3.Insecure Data Storage – Part 1
DIVA Android - 4.Insecure Data Storage – Part 2
DIVA Android - 5.Insecure Data Storage – Part 3
「7.Input Validation Issues – Part 1」對應到的 Activity 是 SQLInjectionActivity,看一下 code 長這樣:







首先新建「sqli」DB,再建立「sqliuser」Table、「user」、「password」、「credit_card」欄位,並新增 3 筆資料。

看到拼接又沒過濾特殊字串,基本就可以判斷存在 SQL Injection了。

先來撇一下:



再來看 log 的輸出:



可以上了。



弱點在於前面提到的使用字串拼接,且也未過濾單引號雙引號等特殊字串。

防範方法:

(1)使用SQLite API
(2)若要使用一般 SQL 語法,就不要拼接字串,同時應過濾特殊字串

沒有留言:

張貼留言