小谈移动APP安全

zzR 2013-11-26 16:27:00

0x00 背景


随着移动互联的扩张,移动APP承载了更多企业的终端梦。“用户手机安装APP以后,企业即埋下一颗种子,可持续与用户保持联系。”  种子是种下了,可要是它本身就是个[特洛伊木马]呢?试想你在某某知名APP平台下载安装一款知名APP,深更半夜突然响起了[THE PHANTOM OF THE OPERA]那会是怎样的一种情景!

通过这近一个月来的观察和实验,斗胆在这里简单介绍一下手机移动APP安全测试方法、工具和一些容易产生安全问题的点。(此处仅就IOS版本APP进行说明)

0x01 细节


1.工具:PC、手机;软件:burpsuite/fiddler、sqlmap等

2.代理设置:首先将你的PC和手机置于同一局域网,在PC上打开burpsuite ,proxy选项proxy-listeners

new/edit一下吧

在下拉列表中能够找到PC本机IP,同时可以自定义端口,此处设置了8088。

手机端,连接WIFI后,网络属性设置代理,写上上图IP地址和端口号

此时您的PC端burpsuite就设置完成。

3.接下来就是找到你感兴趣的APP对他们进行友情测试了。测试过程中,有几个安全点我在之前提交的报告中也都提到了,WEB端存在的问题在移动端同样存在(小伙伴们可针对OWASP TOP 10有针对性进行测试,其他此处不尽详表),只是现在WEB前端重兵把守,兵强马壮,而移动端尚未得到足够的重视,相对薄弱,应者那句世界名言,我们何不找找小道前行?

说的这里,提几个比较具有代表性(易发现易批量应用,对隐私数据影响大)的安全关注点:

由于缺乏对移动端安全防护,并且未对APP客户端用户数据做过滤导致SQL注入等一系列问题(跨站/CSRF什么的那就不说了)

WooYun: 乐视网App端Sql注入Num 1

模糊的用户权鉴往往造成各式各样的越权操作,用户隐私数据得不到安全保障;不安全的数据传输过程,敏感数据篡改(登陆、支付)

WooYun: 乐视网2200万用户任意用户登录

WooYun: 中粮我买网APP越权操作缺陷04(删除/修改任意用户信息)

应用设计存在逻辑缺陷导致的跨界

WooYun: 百度某应用设计缺陷可直接浏览企业内部关键系统甚至渗透

移动云端系统载体自身存在缺陷,导致服务器沦陷。如app云端存在远程命令执行漏洞、任意文件上传getshell等

WooYun: 凡客某站远程命令执行

移动安全平台、推广平台存在安全缺陷导致海量APP可被操纵,恶意APP侵害移动用户。

WooYun: 乐视网某主站站控制不严可传播恶意app感染手机端

WooYun: 联想1#某站权限控制不严导致预装恶意App流毒

以上方法针对少量APP测试还是挺实用的,这个月测试下来,就如一位皂友所说,发现这些问题是比较繁琐,但是出现的问题概率比较大。所以问题还是挺好找的。当我孜孜不倦升级的时候@xsser 给俺一个非常不错的建议用于批量检测:在本地搭建http代理记录APP访问日志,然后sqlmap批量扫这些去重的日志!很赞!

0x02 总结


各厂商在APP程序开发的过程中严格执行开发安全处置流程同时将WEB应用防线扩至移动端!

各APP应用、推广平台加强自身安全防范,升级安全基线,确保平台之安全可靠,要知道,你们可承载着万千互联网企业的中国梦-0-
最后,各大厂商、平台抱好你们的APP了,皂友们要来啦!

评论

瞌睡龙 2013-11-26 16:30:18

测试其实用burpsuit抓包代理之后,可以用自带的“Actively scan this host” 来扫描,还是非常强大的 :)

X

xsser 2013-11-26 17:48:49

burpsuit 支持扫描SQL之类的插件么

T

TMaMba 2013-11-26 17:57:05

burp 有sqlmap插件的哇

T

TMaMba 2013-11-26 17:57:41

app 接口扫描是个问题,怎么用工具把接口全部列出来

瞌睡龙 2013-11-26 18:30:00

本身的Actively scan this host扫描就相当于一个web扫描器,常见漏洞都会扫一遍xss sql注入之类的,而且规则还是蛮强大的~里面的url同时也可以导出,自己做处理都可以~

齐迹 2013-11-27 09:33:02

简单得方法就是把所有的功能都用一遍!

Z

zzR 2013-11-27 09:42:26

受教了,今早试了一把,确实是能够扫描常见的web漏洞唻,直接do an actie scan ,不错幺

T

TMaMba 2013-11-27 09:48:01

“Actively scan this host”是基于APP访问日志扫描的,但是地址和参数还得通过手动访问得到,把APP访问变成自动化就更高效了

Z

zzR 2013-11-27 10:06:13

这种方法却是比我那种简化了,live scanning 里active scanning 选择ues suite scope[defined in target tab]直接读取访问日志了,现在大多数厂商APP功能还是比较简单的,做几个最基本的访问请求操作,然后放到scanner就见到成效的应该不会少-0-

G

G8dSnow 2013-11-27 17:22:03

你这基本上是对后端的安全测试,与传统的web安全无异

带馅儿馒头 2013-11-30 11:23:54

小哥,已经写了呀,我还说考完试,写个相关的paper呢~赞一个

路人甲 2013-11-30 13:13:14

android 的怎么设置 链接无线时 有个 代理 貌似不能用。。

小川 2013-12-02 09:51:25

原来如此~

C

Chora 2013-12-03 23:33:19

先spider了再active scanning扫描的比较全面,不过burp的扫描跟awvs相比还是有稍许差距的。

乌贼NO.1 2013-12-06 08:58:19

手动设置代理麻烦,可以直接用ProxyDroid进行设置。以后要用代理的话,直接启用它,不用则关闭,方便切换。

路人甲 2013-12-07 22:04:54

设置完了,手机连不上网,俺不熟悉这款工具额。。。

Z

zzR 2013-12-08 21:23:22

你设置的代理那个地址可以上网就行阿,工具熟悉一下就成

H

HackBraid 2013-12-09 14:20:25

楼主V5,学习了!

小胖子 2013-12-13 11:50:32

宝贝,AWVS的扫描头又不能改,在加速乐或者其他CDN面前直接被挡,而且狗日的AWVS有时候控制不住自己,一个子就上传啊删除神马的,伤不起。

Y

yhoojj 2013-12-16 10:36:51

原来在这里啊,马一个

P

px1624 2013-12-28 01:09:10

这个方法估计测试app越权不错

H

her0ma 2014-02-09 12:51:58

遇到过一次,给后台造了很多垃圾数据……还要没造成啥影响!

路人甲 2014-03-01 08:12:06

BURP和proxydroid都设置好了,就是抓不到包,不知道为啥?

U

U神 2014-03-23 14:28:39

安卓手机找不到代理啊!!!!

C

Comer 2014-04-10 17:23:52

忘记重连,然后ip port都有了

F

Focusstart 2014-05-14 10:41:48

mark!

R

random_ 2014-06-10 19:42:54

赞一个

Z

zt22172 2015-01-09 16:10:52

赞一个

H

hkAssassin 2015-02-09 15:01:27

设置了代理有些app无法运行,楼主遇到过这种情况没!

A

Arthur 2015-02-10 03:41:40

应该是端口问题,有些APP指定了端口,而burp大部分人设置的都是80端口。应该是这个问题吧

A

Arthur 2015-02-10 03:45:07

有关于IOS的推荐吗?这个貌似只适用于安卓。

K

kydhzy 2015-06-04 09:55:02

@hkAssassin 遇到过 不知道怎么解决 ,,,怎么办

C

chavez_wang 2015-07-05 20:23:03

最近也碰到了,代理了就不能正常通讯,[email protected]/* <![CDATA[ */!function(t,e,r,n,c,a,p){try{t=document.currentScript||function(){for(t=document.getElementsByTagName('script'),e=t.length;e--;)if(t[e].getAttribute('data-cfhash'))return t[e]}();if(t&&(c=t.previousSibling)){p=t.parentNode;if(a=c.getAttribute('data-cfemail')){for(e='',r='0x'+a.substr(0,2)|0,n=2;a.length-n;n+=2)e+='%'+('0'+('0x'+a.substr(n,2)^r).toString(16)).slice(-2);p.replaceChild(document.createTextNode(decodeURIComponent(e)),c)}p.removeChild(t)}}catch(u){}}()/* ]]> */ @Arthur @hkAssassin

K

kris 2015-07-26 23:40:36

最近在测试app>饭看下。,。。

路人甲 2015-10-15 14:04:51

移动手机APP测试从初级到提升(初级篇)
课程观看地址:http://www.xuetuwuyou.com/course/41
移动手机APP测试从初级到提升(进阶篇)
课程观看地址:http://www.xuetuwuyou.com/course/42
移动手机APP测试从初级到提升(提升篇)
观看地址:http://www.xuetuwuyou.com/course/43

路人甲 2015-10-23 17:50:53

移动安全问题刻不容缓,保护好自己开发的APP是开发者的义务和责任,爱加密愿意为你守护好你的APP。

路人甲 2015-10-29 18:40:43

android应用安全测试平台,http://mqc.aliyun.com/security.htm

Z

zzR

东方红**联盟欢迎你-0-

twitter weibo github wechat

随机分类

逻辑漏洞 文章:15 篇
SQL注入 文章:39 篇
CTF 文章:62 篇
IoT安全 文章:29 篇
木马与病毒 文章:125 篇

扫码关注公众号

WeChat Offical Account QRCode

最新评论

Article_kelp

因为这里的静态目录访功能应该理解为绑定在static路径下的内置路由,你需要用s

N

Nas

师傅您好!_static_url_path那 flag在当前目录下 通过原型链污

Z

zhangy

你好,为什么我也是用windows2016和win10,但是流量是smb3,加密

K

k0uaz

foniw师傅提到的setfge当在类的字段名成是age时不会自动调用。因为获取

Yukong

🐮皮

目录