如何使用Ionic和Cordova修复Android App中的漏洞问题

时间:2019-08-12 13:56:29

标签: android cordova security ionic-framework android-permissions

我使用MobSF分析apk并遇到很多漏洞问题,但我不知道如何解决。

android.permission.REQUEST_INSTALL_PACKAGES dangerous
android.permission.WRITE_EXTERNAL_STORAGE dangerous
android.permission.CALL_PHONE dangerous
android.permission.WAKE_LOCK dangerous

2 个答案:

答案 0 :(得分:0)

这些不是漏洞。之所以将它们称为“危险”权限,是因为它们允许您执行可能危害用户隐私的操作。危险权限要求您在运行时(而不只是在清单中)请求权限。

我将删除您实际上不使用的任何内容。 REQUEST_INSTALL_PACKAGES特别令人关注,很少需要它。但是,如果您实际上需要这些功能,那就没有问题。

答案 1 :(得分:0)

我使用构建中的挂钩解决了我的问题。该脚本删除特定的权限:

var permissionsToRemove = [ "WRITE_EXTERNAL_STORAGE", "READ_EXTERNAL_STORAGE", "WAKE_LOCK", "REQUEST_INSTALL_PACKAGES" ];

module.exports = function(context) {
  const platformRoot = path.join(context.opts.projectRoot, 'platforms/android/app/src/main');
  const manifestFile = path.join(platformRoot, 'AndroidManifest.xml');

  if (fs.existsSync(manifestFile)) {
    fs.readFile(manifestFile, 'utf8', function (err, data) {
      if (err) {
        throw new Error('Unable to find AndroidManifest.xml: ' + err);
      }

      let result = data;

      for (var i=0; i<permissionsToRemove.length; i++) {
        result = result.replace( "<uses-permission android:name=\"android.permission." +       permissionsToRemove[i] + "\" />", "" );
      }
    });
  }
};