__wakeup绕过版本_PHP__wakeup()方法
生活随笔
收集整理的這篇文章主要介紹了
__wakeup绕过版本_PHP__wakeup()方法
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
__wakeup函數是在php在使用反序列化函數unserialize()時,會自動調用的函數。只要序列化的中的成員數大于實際成員數,即可繞過
<?php class xctf {public $flag = '111';public function __wakeup(){exit('bad requests');} }$a=new xctf(); var_dump(serialize($a));得到
string(36) "O:4:"xctf":1:{s:4:"flag";s:3:"111";}"所以把成員數"1",改為"2"即可繞過。
下面再詳細講講wakeup()方法。
_ _wakeup()作為魔術方法本身有一個漏洞,漏洞編號 CVE-2016-7124,當序列化字符串中表示對象屬性個數的值大于真實的屬性個數時會跳過__wakeup 的執行。
正常構造序列化對象:
O:7:"gxatest": 1 :{S:4:"test
總結
以上是生活随笔為你收集整理的__wakeup绕过版本_PHP__wakeup()方法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 晶体三极管的三个工作区域及温度对特性的影
- 下一篇: 几款PHP开发工具