本文主要是介绍Android静态安全检测 - 日志泄漏风险,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
日志泄漏风险 - System.out.print& System.out.println
一、API
1. 继承关系
【1】java.lang.Object
【2】java.io.OutputStream
【3】java.io.FilterOutputStream
【4】java.io.PrintStream
2. 主要方法
【1】print
- print(int i)
- print(String s)
- print(Object obj)
- ...
【2】println
- println(char x)
- println(String x)
- println()
- println(Object obj)
- ...
【3】其他方法
https://developer.android.com/reference/java/io/PrintStream.html
二、触发条件
1. smali语句中的System.out.println形式
2. 定位print和println的位置
Ljava/io/PrintStream;->print(
Ljava/io/PrintStream;->println(
3. 方法内向上查找,System.out获取PrintStream对象
Ljava/lang/System;->out:Ljava/io/PrintStream;
三、漏洞原理
【1】使用System.out.print和System.out.println输出打印日志信息,容易泄漏敏感信息
【2】更多内容
http://drops.wooyun.org/tips/3812
四、修复建议
【1】建议删除所有使用System.out.print和System.out.println输出打印日志信息的代码
这篇关于Android静态安全检测 - 日志泄漏风险的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!