bypass_disable_function on php 7+


去年的筆記,放上來除草

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
 
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那個打試一下,不行再調大值多打兩次

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM