android webview 铺满_聊一聊Webview安全与URL跳转

49afe08202743a7de1b012ef600b0efc.gif

在学习信息安全技术的过程中,用开阔的眼光看待安全问题会得到不同的结论。

本文是i春秋论坛作家「衬衫a」表哥发布的一篇关于Webview安全与URL跳转的文章,感兴趣的小伙伴快来学习吧。公众号旨在为大家提供更多的学习方法与技能技巧,文章仅供学习参考。

d016509907b7756688f0ffceb75b4d62.png

在一次测试中我用Burpsuite搜索了关键词url找到了某处url,测试一下发现waf拦截了指向外域的请求,于是开始尝试绕过。第一个测试的url是:

https://mall.m.xxxxxxx.com/jump.html?url=https://baidu.com

打开成功跳转以为会跳转成功,但是baidu.com是在白名单的,所以只能想办法去绕过它,经过几次绕过后发现

https://mall.m.xxxxxxx.com/jump.html?url=https:/\c1h2e1.github.io可以跳转成功,于是我觉得有必要总结一下url的跳转绕过思路,分享给大家!

@绕过

这个是利用了我们浏览器的特性,现在除了Firefox浏览器大部分都可以完成这样跳转,下面是跳转的内容:

da795ad027f66c7eaf64d1ffd5549170.png

问号绕过

可以使用Referer的比如https://baidu.com,可以https://任意地址/?baidu.com

锚点绕过

利用#会被浏览器解释成HTML中的锚点:http://127.0.0.1/#qq.com

xip.io绕过

http://www.baidu.com.127.0.0.1.xip.io/,这样之后会访问127.0.0.1

How does it work?
xip.io runs a custom DNS server on the public Internet.
When your computer looks up a xip.io domain, the xip.io
DNS server extracts the IP address from the domain and
sends it back in the response.

053765a45b32221ec8c2a549567cf6a5.png

在公网上运行自定义的DNS服务器,用它的服务器提取IP地址,在响应中将它取回。

反斜杠绕过

这次测试中也是使用了这种思路:

https://mall.m.xxxxxxx.com/jump.html?url=https:/\c1h2e1.github.io

IP绕过

把目标的URL修改成IP地址,这样也有可能绕过waf的拦截。

chrome浏览器特性

\/baidu.com

这样的都会跳转到百度

1

URL跳转到Webview安全问题

这次的漏洞在手机上测试时发现利用APP url Schema也就是

xxxx://app/webview?url=xxxxxxx

其实这里的任意Webview跳转已经构成漏洞了,但是我想更加深入一下,请看下面的案例。

案例

我们先用file://协议读取一下测试文件试一下:

58809a9c7987c11fca958efc41a976db.png

可以看到成功读取了手机的敏感host文件,但不是只要读取成功就能完成利用的,我们还需要设计到发送并读取。

这边我又测试了一下JavaScript的情况,发现开启,在vps上搭建一下利用代码。

<html>

在app上测试一下发现不成功,之后才得知是因为同源策略导致的,在网上各种找方法绕过后无果,没办法只好放弃。


虽然这个应用绕不过,我们可以mark一点姿势。


Ps:很多代码都是手码的没写过JS,所以可能会有一些错误不要见怪。

<html>

这个是执行命令的poc

<html>
<html>

2

更换目标

这是我想到了weixin的协议,weixin://看了官方的文档之后我发现了微信支持如下操作:

//dl/general

经过一番查找后,找到了能够跳转的方法:weixin://dl/business/?ticket=xxxxxxxxxxxxxxxxx。


那么这个ticket哪里来呢?


我在t00ls上看到一篇同样关于这个微信协议的分析,百度了一下找到了这个地址:

6c496fd6db548d5840594cba3381c6a4.png

我们注册并登陆尝试一下跳转:

c2a1b25699c143e8a51c5f4e1edb1c7b.png

果然还是收费,因为写文章的时候比较早,他们可能没有上班所以就换个地方找一下:

d8cc61cc2bd598b923a7e4e410ce481a.png

我们加一下这个客服的qq:

b531b5aff35c75de689af956912d6349.png

正如我想象的那样:

weixin://dl/business/?ticket=taa597ccdcdf00ecb865d9e04904bbff4

手机打开测试一下网页:

828e2e7076ba6606ae2b788d7ab9ea0f.png

成功打开微信并跳转,以上内容大家看懂了吗?

文章素材来源于i春秋社区

新来的朋友如果想要了解其他的必备技能和实用工具,可以点击菜单栏中的入门锦囊查看相关内容:

06a3731be65f9430918d0ca77d01154e.png

a5300bfe798dc3f237899eb80f4c4380.png

3127b45203c73ce718dc39b82b37c106.gif

文末右下角点个“在看”再走哦~

7596d59541a918948cc2dd397fcd461a.png

i春秋官方公众号为大家提供

前沿的网络安全技术

简单易懂的实用工具

紧张刺激的安全竞赛

还有网络安全大讲堂

更多技能等你来解锁

9d9e0e3428c9f93222c1d462e4eb1250.png

0da292898fbb83e0b313b9fb5000ec41.gif

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值