在安卓系统接收到pdu短信代码之后,会通过名为android.provider.Telephony.SMS_RECEIVED的action调用此服务,先将pdu短信解码,然后将之显示在手机屏幕上,恶意攻击者可以在自己的程序中通过一个同名的...action,不经过任何短信接收程序,直接伪造一条pdu短信调用此服务,具体过程如下图所示:
?
...0×01 PDU短信的结构
要利用此漏洞,我们首先要清楚手机短信的结构,短信在手机操作系统中并不是以我们平常见到的文本格式传送的,而是有特定的编码格式,其中最为广泛使用的就是PDU,短信被编码成PDU...串,然后转换成byte传输,这其中发送短信和接收短信的PDU串格式是不同的,由于这个漏洞直接触发了接收流程,所以这里我们只介绍接收格式,发送格式请自行google.
...接收短信的PDU结构如下:
SCA PDU TYPE OA PID DCS SCTS UDL UD
短信中心地址 PDU类型(可选) 发送短信的手机地址 协议标志一般为00 编码标准 短信接收的时间