APP部分漏洞及解决方法

 公司APP在教育移动互联网应用程序备案管理平台上收到通报预警,陈列了部分需要解决的漏洞,陈列如下

 

1. 漏洞-动态注册Receiver风险

解决方法:

1.在 AndroidManifest.xml 文件中静态注册 BroadcastReceiver,同时设置 exported="false"。

2.必须动态注册 BroadcastReceiver时,使用registerReceiver(BroadcastReceiver, IntentFilter, broadcastPermission,android.os.Handle)函数注册。

 

2. 漏洞-WebView远程代码执行漏洞

解决方法:

如果一定要使用addJavascriptInterface接口,需使用以下方法:

1. 设置minSdkVersion值大于或等于17,使应用不能在4.2以下系统上运行。

2. 允许被JavaScript调用的函数必须以@JavascriptInterface进行注解。

 

3. 漏洞-WebView明文存储密码漏洞

解决方法:

建议开发者通过WebView.getSettings().setSavePassword(false)来关闭WebView组件的密码保存功能。

 

4. 漏洞-RSA加密算法不安全使用风险

解决方法:

1.使用RSA算法进行数字签名时,建议密钥长不要低于512位,推荐1024位。

2.使用RSA加密时,如果设置工作模式为ECB,建议填充方式为OAEPWithSHA256AndMGF1Padding。

 

5. 漏洞-密钥硬编码风险

解决方法:

1. 使用算法生成密钥。

2. 若不使用算法生成密钥,则使用参数的形式传递密钥,使密钥与加密算法不在同一函数中

 

6. 漏洞-数据库注入漏洞

解决方法:

1. 不必要导出的Provider组件,建议显示设置组件的“android:exported”属性为false。如果Provider组件需要与其他APP共享数据或者交互,请对组件进行权限控制和参数校验。

2. 不要在query中使用拼接字符串形式构造的SQL语句去查询底层SQLite数据库,使用selectionArgs进行参数化查询。 修复代码示例如下: 

selection = "name=?";
String[] selectionArgs = new String[]{et_name.getText().toString()};
cursor = sqldb.query("addressbook", null, selection, selectionArgs, null, null, null, null);

 

7. 漏洞-0204

描述:

该应用存在滥用权限。 1:android.permission.RESTART_PACKAGES

2:android.permission.CHANGE_WIFI_STATE

3:android.permission.CHANGE_WIFI_MULTICAST_STATE

4:android.permission.BLUETOOTH

5:android.permission.RECORD_AUDIO

6:android.permission.WRITE_SETTINGS

解决方法:动态申请相应权限,必要时做出充分使用说明

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
根据提供的引用内容,解weblogic检测到目标URL存在http host头攻击漏洞方法如下: 1. 在weblogic中配置HTTP Host头过滤器[^1]。可以通过以下步骤进行配置: - 打开weblogic控制台。 - 导航到“环境” -> “服务器” -> “目标服务器”。 - 选择目标服务器,然后点击“配置”选项卡。 - 在“过滤器”部分,点击“新建”按钮。 - 在“过滤器类”字段中输入“weblogic.servlet.internal.http.HttpHostFilter”。 - 点击“添加”按钮,然后在“参数”字段中输入“allowHosts”。 - 在“值”字段中输入允许的主机名列表,用逗号分隔。 - 点击“保存”按钮,然后重新启动weblogic服务器。 2. 在代码中使用可靠的方法获取HTTP Host头信息。可以使用以下代码替换原有的获取方法: ```java String host = request.getHeader("Host"); ``` 这样可以确保获取到的HTTP Host头信息是可靠的,避免被攻击者篡改。 3. 配置web应用的web.xml文件,禁用不必要的HTTP方法。可以通过以下代码将不需要的HTTP方法禁用: ```xml <web-app> ... <security-constraint> <web-resource-collection> <web-resource-name>Restricted Methods</web-resource-name> <url-pattern>/*</url-pattern> <http-method>TRACE</http-method> <http-method>DELETE</http-method> <http-method>PUT</http-method> <http-method>OPTIONS</http-method> <http-method>CONNECT</http-method> <http-method>TRACK</http-method> <http-method>MOVE</http-method> <http-method>COPY</http-method> <http-method>PROPFIND</http-method> <http-method>PROPPATCH</http-method> <http-method>MKCOL</http-method> <http-method>LOCK</http-method> <http-method>UNLOCK</http-method> <http-method>VERSION-CONTROL</http-method> <http-method>CHECKOUT</http-method> <http-method>CHECKIN</http-method> <http-method>UNCHECKOUT</http-method> <http-method>REPORT</http-method> <http-method>UPDATE</http-method> <http-method>LABEL</http-method> <http-method>MERGE</http-method> <http-method>BASELINE-CONTROL</http-method> <http-REDIRECT-REF</http-method> <http-method>VERSION-CONTROLLED-UPDATE</http-method> <http-method>BASELINE-CONTROLLED-CHECKOUT</http-method> <http-method>VERSION-CONTROLLED-CHECKOUT</http-method> <http-method>VERSION-CONTROLLED-CHECKIN</http-method> <http-method>VERSION-CONTROLLED-UNCHECKOUT</http-method> <http-method>VERSION-CONTROLLED-UPDATE-REDIRECT-REF</http-method> </web-resource-collection> <auth-constraint/> </security-constraint> ... </web-app> ``` 这样可以限制不必要的HTTP方法,减少攻击面。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值