bypass_disable_function on php 7+

时间:2020-03-17 19:10:56   收藏:0   阅读:66

去年的笔记,放上来除草

0x00 漏洞原理
其中一个为php gc中的一个释放后重用漏洞,由ryat(陈韬光)发现提交。
影响版本:
  • 7.0 - all versions to date
  • 7.1 - all versions to date
  • 7.2 - all versions to date
  • 7.3 - all versions to date
另外一个是JsonSerializable的释放后重用漏洞,由nikic 发现提交
影响版本:
  • 7.1 - all versions to date
  • 7.2 < 7.2.19 (released: 30 May 2019)
  • 7.3 < 7.3.6 (released: 30 May 2019)
0x01 Exp
https://github.com/mm0r1/exploits
 
0x02 利用平台
linux
 
0x03 漏洞效果
bypass_disable_funciton 执行任意命令
 
0x04 实际利用
其中php gc的释放后重用漏洞,能够稳定在多个php在线运行沙盒执行
技术分享图片

 

技术分享图片

 

 sandbox.onlinephpfunctions.com 禁掉了gc_collect_cycles()函数

技术分享图片

 

而JsonSerializable的话,则不是很稳定,偶尔需要调一下参数

tool.lu稳定执行

技术分享图片

 

dooccn.com 调值好像也不行

技术分享图片

 

但sanbox这个却可以稳定打

技术分享图片

 

 

认真对比会发现,国内的几个平台都直接用的root权限,没有划分权限
同时也发现了一些修复的方法,比如gc的禁掉gc_collect_cycles()
 
0x05 总结
整体上GC的那个更加稳定,如果GC不行,那么就可以用JSON那个打试一下,不行再调大值多打两次

 

原文:https://www.cnblogs.com/r00tuser/p/12512322.html

评论(0
© 2014 bubuko.com 版权所有 - 联系我们:wmxa8@hotmail.com
打开技术之扣,分享程序人生!