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
DIVA Android - 6.Insecure Data Storage – Part 4
DIVA Android - 7.Input Validation Issues – Part 1
DIVA Android - 8.Input Validation Issues – Part 2
DIVA Android - 9.Access Control Issues – Part 1
DIVA Android - 10.Access Control Issues – Part 2
DIVA Android - 11.Access Control Issues – Part 3
DIVA Android - 12.Hardcoding Issues – Part 2
DIVA Android - 13.Input Validation Issues – Part 3
「13.Input Validation Issues – Part 3」對應到的 Activity 是 InputValidation3Activity,看一下 code 長這樣:
一樣追 DivaJni:
JNI 機制上一篇有稍微提到就不多說了,這次追 native 變數 initiateLaunchSequence。
接著看 divajni.c:
弱點在於 strcpy 不會做字串長度的檢查,而前面的變數 CODESIZEMAX 值為 20,一但使用者輸入值超過 20,便可能造成 buffer overflow。
防範方法:
(1)限制使用者輸入的字串長度。
(2)使用安全的函數,參考 停止使用 strncpy 函数!
DIVA Android - 7.Input Validation Issues – Part 1
DIVA Android - 8.Input Validation Issues – Part 2
DIVA Android - 9.Access Control Issues – Part 1
DIVA Android - 10.Access Control Issues – Part 2
DIVA Android - 11.Access Control Issues – Part 3
DIVA Android - 12.Hardcoding Issues – Part 2
DIVA Android - 13.Input Validation Issues – Part 3
「13.Input Validation Issues – Part 3」對應到的 Activity 是 InputValidation3Activity,看一下 code 長這樣:
一樣追 DivaJni:
JNI 機制上一篇有稍微提到就不多說了,這次追 native 變數 initiateLaunchSequence。
接著看 divajni.c:
弱點在於 strcpy 不會做字串長度的檢查,而前面的變數 CODESIZEMAX 值為 20,一但使用者輸入值超過 20,便可能造成 buffer overflow。
防範方法:
(1)限制使用者輸入的字串長度。
(2)使用安全的函數,參考 停止使用 strncpy 函数!
膜拜大佬,学习了。
回覆刪除