应用程序安全报告显示了几个安全错误,其中一个是“不存在Android插件保护”。 他们的解决方案是:
PluginKiller
ServiceName检查
未声明的权限
SharedUID ProcessCheck
AppRuntimeDir检查
ReceiverFilter检查
EnabledComp Check
请解释每个示例,并给我示例代码
tnx
答案 0 :(得分:0)
该漏洞是在2017年黑帽亚洲大会上引入的。此漏洞的幻灯片显示here和该漏洞的文章为here。
我描述一种方法。
在文章中,我们有“ SharedUID ProcessCheck”:
与PID(过程ID)是暂时的且始终保持变化的PID不同,在安装时为每个应用程序分配了UID,只要不重新安装该应用程序,它就保持不变。该UID对于每个应用程序都应该是唯一的,除非该应用程序明确要求与另一个应用程序共享用户ID。由于从未将插件APK文件安装到系统,因此插件包没有唯一的UID。即使主机应用程序可以分叉一个新的进程来启动它,例如DroidPlugindid,插件进程也会与主机应用程序进程共享不同的PID,但UID相同。
首先获取程序的uid和pid,然后获取android的所有进程并检查其uid,该进程具有相同的uid,但pid不同,这是安全问题。 这是简单的伪代码,您应该检查错误并对其进行优化,
public function myMethod(Request $request)
{
return $this->showQuestion();
}