avl pro在杀毒引擎查杀完手机之后,杀毒结果先保存在db中,之后通过provider读出扫描信息呈现给用户, 如有病毒则提示删除/清除等动作.
而该provider名为content://com.antiy.avlpro.MyProvider,却无权限暴露在外.
导致任意apk,无须申请任何特殊权限即可随意访问,读取/删除/插入db中的内容.
从而,若是恶意程序利用,则可以构造内容插入,以导致avl误判/删除正常合法apk;抑或实时(或短时间隔线程轮寻)db内容若见到自己package则予以删除,从而免杀.
poc:
为证明清晰, 特意把各个步骤拆分,逐一截图讲解. 实际使用时,用户看不到任何这些过程. 只能承受结果: 病毒没有被发现或者合法程序被查杀.
截图:
该图中avl查杀一个risk. 务必记住名字.
图1,
该图中,POC程序通过暴露的provider读出db中的内容.
图2,
点击删除button, 删除db中的内容.
该图中,显示db中的内容已空.
图3,
回到avlpro的界面,显示0个威胁:
图4,
也就是说,POC程序在没有申请任何权限的情况下,成功修改了avl pro的判别结果.
发散思维~~