浅谈终端机与移动设备的沙盒安全

0×01 Background
ziwen原创 转载请注明!
在我们每天生活的城市里随处都可见一个一个的移动终端或终端机。终端机一般由触控显示器和主机构成 比如银行的atm机 ktv的点歌机 联通营业厅的自助服务机。
而这些东西的安全性并不是很高 一般都是一个win或linux操作系统加一个沙盒构成 而我们要做的就是跳出这个沙盒 这个沙盒一旦跳出且我们的权限足够高 那么我们就可以做一些想做的事
比如我在乌云里提交的那个atm机xss跳出漏洞 如果碰见胆大的黑帽有可能那台atm机就早已经空无一文了…..
0×02 Text
跳出沙盒一般分为三种方式 小的不才 可能说的不够完美 请各位见谅

1.引出优先级更高的弹窗使系统显示出来
2.利用拔电源重启等重新进入系统并找到破綻 比如进入安全模式等
3.利用打开文件等浏览本地的功能写一些bat命令去跳出沙盒

大概就是这样 很多乌云里的案例都是利用的第一种方法
但是我们没有键盘(一般终端机都是触屏)所以没法按一些快捷键来弹窗 该咋办呢?
其实很好破
我相信很多人都会一手简单的xss技术吧?
那么就应该知道这条语句

<script>window.open(/s/)</script>

随便找一个可以输入的地方输入这条语句就可以做到弹出一个框 但是如果没有xss怎么办呢?
那么他还是会弹出一个框 提示你错误 并且如果这个框是调用的win的系统api那么你还是赢了 因为这个框也会帮助你显示出系统下边栏
但是如果他不是调用的web页面完成的功能怎么办呢 总不能在桌面程序里插xss吧?
其实也并不难 利用一些简单的溢出就可以 比如在搜索框输入无数个0000然后点击搜索 一般有溢出漏洞的应用程序碰到这个溢出的字符串之后都会弹出一个错误框 如果运气好的话还会导致应用程序直接关闭进入系统界面.
还有一种猥琐流的方法 就是利用插u盘或者拔硬盘导致他提示错误信息然后跳出沙盒
是不是很简单呢?
那么就再来谈谈第二种方法吧 这种方法是我受一个朋友的案例的启发想到的
如果上述方法不能使用那么我们就可以使用这种硬式方法
这种方法就是利用一些拔电源等恶劣方式导致他重启然后再做一些手脚 或者拔掉网线导致他提示网络连接断开跳出沙盒
第二种方法没有什么技术含量所以就不多说了
并且如果终端机像atm那样封装在铁皮里 那么第二种方法直接就可以跳过了
那么第三种呢 就是利用输入法或者浏览器里的打开文件功能或者一些可以浏览本地文件的功能去做一个bat或者找到命令行程序然后运行在命令行里输入命令跳出沙盒并控制终端机
第三种也不用多说了 很经典的方法
0×03 end
终端机沙盒跳出的一些技巧大概就是这样 不要觉得这个东西的利用性很弱 大家都知道atm机是有提款接口的 所以只要让他跳出沙盒然后运行一些病毒程序 那么这家银行就离破产不远了!

本文阐述的方法仅限安全研究之用

时间: 2024-10-29 19:07:15

浅谈终端机与移动设备的沙盒安全的相关文章

浅谈Linux驱动到设备模型再到设备树(总结)

1.最初Linux驱动架构 Linux驱动会在初始化函数中向内核注册file_operations结构体,结构体里面就包含一些基本的open,close函数.Linux驱动中也会去实现这些open函数.并且相对应的硬件信息也在这个驱动中.以LED为例,驱动程序中会将LED的引脚地址映射成虚拟地址,然后在open函数里面进行写操作. 当APP调用open函数的时候,就会通过一系列转换,最后调用到驱动中的open函数.(这边就不具体描述APP怎么调用到驱动中的open函数) 原文地址:https:/

【问题收集·初级问题】模拟器和真机,分别如何指定数据库路径,模拟器和真机对应的沙盒有何不同…

模拟器和真机,分别如何指定数据库路径,模拟器和真机对应的沙盒有何不同- 网友的问题如下所示: 23:58:19 但是原理搞不太懂... 网友的问题如下所示: 23:59:28 我在项目中用了一个数据库框架对数据库的操作是这个框架封装好的 网友的问题如下所示: 23:59:36 我看了下头文件 网友的问题如下所示: 00:00:18 就是数据库在初始化的时候指定了一个路径是模拟器运行时的沙盒路径 我的回答如下所示: 00:01:02 嗯,在真机上数据库的路径能建立起来吗 网友的问题如下所示: 00

浅谈iOS沙盒目录

原文地址:http://blog.csdn.net/wzzvictory/article/details/18269713 出于安全考虑,iOS系统的沙盒机制规定每个应用都只能访问当前沙盒目录下面的文件(也有例外,比如系统通讯录能在用户授权的情况下被第三方应用访问),这个规则把iOS系统的封闭性展现的淋漓尽致. 一.沙盒中几个主要的目录 每个沙盒下面都有相似的目录结构,如下图所示(出自苹果官方文档): 每个应用的沙盒目录都是相似的,主要包含图中所示的4个目录: 1.MyApp.app ①存放内容

iOS 浅谈对MVC、传值、和沙盒机制的理解

1.简述你对MVC的理解? MVC是一种架构设计,它考虑了三种对象:Model(模型对象).View(试图对象).Controller(试图控制器) (1)模型:负责存储.定义.操作数据 (2)视图:用来展示数据给用户和用户进行操作交互 (3)控制器是M与V的协调者,控制器获取数据,将数据交给视图去展示 2.简单描述Controllers之间的传值方式有哪几种? (1)属性传值 (2)block传值 (3)代理传值 (4)单例传值 (5)通知传值:谁要监听值得变化,谁就注册通知 3.如何理解iO

(转)浅谈移动操作系统的跨应用通信机制

[核心提示] 对开发者来说,在 iOS 上实现跨应用的通信依然是一件头疼的事.对于 iOS 的竞争对手们来说,这一问题是如何处理的呢?本文浅谈目前主流移动操作系统的跨应用通信机制. 在“应用间通信——iOS 的孤岛困境”一文中,我们曾经讨论过 iOS 上跨应用通信与内容分享的难题.而直到现在,在 iOS 上想实现跨应用的通信和内容分享依然是一件头疼的事,虽然我们已经可以使用 iOS 系统内部整合的分享功能,实现通过 Twitter.电子邮件.短消息的内容分享,但此功能尚未向第三方开发者开放,用户

[nRF51822] 14、浅谈蓝牙低功耗(BLE)的几种常见的应用场景及架构(科普类干货)

蓝牙在短距离无线通信领域占据举足轻重的地位—— 从手机.平板.PC到车载设备, 到耳机.游戏手柄.音响.电视, 再到手环.电子秤.智能医疗器械(血糖仪.数字血压计.血气计.数字脉搏/心率监视器.数字体温计.耳温枪.皮肤水分计等), 再到智能家居等领域均占有一席之地. 而蓝牙低功耗(BLE)是在蓝牙4.0协议上修改以适用低功耗应用场景的一种蓝牙协议. 随着上一股智能消费类电子大潮的到来,BLE的各种应用也像雨后春笋般在市场上铺开. 如果想 紧跟蓝牙协议的最新动态 ,可以在https://www.b

浅谈数据库系统中的cache(转)

http://www.cnblogs.com/benshan/archive/2013/05/26/3099719.html 浅谈数据库系统中的cache(转) Cache和Buffer是两个不同的概念,简单的说,Cache是加速"读",而buffer是缓冲"写",前者解决读的问题,保存从磁盘上读出 的数据,后者是解决写的问题,保存即将要写入到磁盘上的数据.在很多情况下,这两个名词并没有严格区分,常常把读写混合类型称为buffer cache,本文后续的论述中,统一

【转】浅谈Nginx负载均衡与F5的区别

前言 笔者最近在负责某集团网站时,同时用到了Nginx与F5,如图所示,负载均衡器F5作为处理外界请求的第一道"墙",将请求分发到web服务器后,web服务器上的Nginx再进行处理,静态内容直接访问本地门户,动态数据则通过反向代理指向内网服务. 其实Nginx和F5这两者均可用作网站负载均衡,那二者有什么区别呢?笔者在此浅谈下Nginx与F5的一些区别. 目前很多网站或应用在设计之初都会为高并发的数据请求做负载均衡,不差钱的土豪用户一般会直接买F5硬件设备作为其负载均衡器,原因不用多

浅谈Android多屏幕的事

浅谈Android多屏幕的事 一部手机可以同时看片.聊天,还可以腾出一支手来撸!这么吊的功能(非N版本,非第三方也能实现,你不知道吧)摆在你面前,你不享用?不关注它是怎样实现的?你来,我就满足你的欲望! 一部手机可以同时看片.聊天,还可以腾出一支手来撸==!就像这样: 是时候告别来回切换应用屏幕的酸爽了,还可以在分屏模式下两Activity间直接拖放数据! 好高大上的样子!这是怎么实现的?别急,我们一一道来: kitkat(4.4)版本对多任务分屏的实现 由于相关的代码和功能被封装及隐藏起来,所