webkit 相关的一些列安全问题

1.addJavascriptInterface导出类对象,可以在JS中反射java类,执行任意代码

   调用了如下两个函数:

  1)setJavaScriptEnabled(true),
  2)addJavascriptInterface

2.系统默认对外导出searchBoxJavaBridge_对象,如果代码中调用了setJavaScriptEnabled(true),但是没有removeJavascriptInterface(searchBoxJavaBridge_),在外部的JS中可以使用导出的对象进行反射调用,致任意代码执行

检测特征:

  1)调用了setJavaScriptEnabled(true)

  2)没有调用removeJavascriptInterface (searchBoxJavaBridge_)

2.file域没有做控制,导致隐私数据泄露

检测特征:

  1)intent

<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.BROWSABLE" />
<category android:name="android.intent.category.DEFAULT" />
<data android:scheme="http" />
<data android:scheme="https" />
<data android:scheme="inline" />
<data android:scheme="file" />

2)对WebView.loadUrl(url)的参数url进行判断
3)实现file访问的方法很多,检测点待续
 
3.跨域攻击
什么叫同源:
url有协议,域名,端口和目录组成,如果协议,域名和端口相同则认为是同源,参考【http://blog.csdn.net/shimiso/article/details/21830313】

1)Ajax跨域

webkit本身对跨域有检查,但是有软连接可以绕过同源检测。【http://seclists.org/bugtraq/2013/Sep/145】

原文地址:https://www.cnblogs.com/mickeyontheway/p/3626225.html