首页
社区
课程
招聘
[原创]Android中unlink利用练习
发表于: 2016-5-20 11:21 5455

[原创]Android中unlink利用练习

2016-5-20 11:21
5455

最近学习了一下unlink利用,于是在Android上设计了一个Demo用于练习unlink利用,以加深对原理的理解。附件是具体的利用分析,由于水平有限,难免有所错误,还请各位大大指教啊

ps:
没有找到好的Markdown导出pdf的方法,附件是用word排版的,觉得不太美观的话就可以直接访问:http://manyface.github.io/2016/05/19/AndroidHeapUnlinkExploitPractice/,另外求推荐相关转换工具啊,求推荐二进制相关的学习资源啊


[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)

上传的附件:
收藏
免费 3
支持
分享
最新回复 (6)
雪    币: 53
活跃值: (106)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
最近我也在学这个,支持
2016-5-20 13:16
0
雪    币: 160
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
对unlink不了解,不过楼主讲的不错
不知道这种利用方式在什么情况下才用得上
2016-5-20 13:25
0
雪    币: 1356
活跃值: (404)
能力值: ( LV9,RANK:180 )
在线值:
发帖
回帖
粉丝
5
https://github.com/shellphish/how2heap/blob/master/unsafe_unlink.c中的注释说:当有一个指针数组指向的是连续的malloc出的内存块时,并且知道指针数组的基址,就可以使用该利用技术。当然实际操作过程中还会配合信息泄露等其他漏洞。
2016-5-20 16:04
0
雪    币: 29
活跃值: (499)
能力值: ( LV8,RANK:120 )
在线值:
发帖
回帖
粉丝
6
好文,感谢楼主分享!
2016-5-21 00:28
0
雪    币: 34
活跃值: (50)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
7
楼主的pdf很不错,完美的诠释在android上利用unlink任意写入的奇妙。但是有个疑问,这种攻击如果是让free的ptr跳转到system函数,在这个时间节点之后很可能会导致其他进程对free的操作产生异常。能否将free.ptr跳转到自己的函数。这样更可控一点。
2016-5-21 13:20
0
雪    币: 1356
活跃值: (404)
能力值: ( LV9,RANK:180 )
在线值:
发帖
回帖
粉丝
8
每个进程是隔离的,都有独立的虚拟地址空间,这里修改unlink_demo的free ptr并不会影响到其他进程。当然跳转到自己的函数也是可以的,但是这样又会引入新的问题,如何注入自己的shellcode?如何保证注入的shellcode有可执行权限。可能构造ROP会好一点。

ps:新手愚见,有不对的地方还请指正。
2016-5-21 15:44
0
游客
登录 | 注册 方可回帖
返回
//