极客大挑战2019PHP1
[极客大挑战 2019]PHP1
打开靶机
看到备份网站想到源码泄露
用dirsearch扫一扫,扫了很久才扫出来
解压后得到源文件
直接用flag.php中的flag尝试发现不行
进入class.php进行代码审计
发现很简单,只要绕过一个__wakeup()魔术方法
绕过__wakeip()只要将2变大就行了
第一次尝试发现不行
分析网站响应结果是直接在!=100处就die了
网上看了一下师傅们的wp发现username和password是私有变量,
私有变量变量中的类名前后会有空白符,而复制的时候会丢失,所以要加上%00
所以我直接在php里通过urlencode输出
记得把2改大
1 | payload:O%3A4%3A%22Name%22%3A3%3A%7Bs%3A14%3A%22%00Name%00username%22%3Bs%3A5%3A%22admin%22%3Bs%3A14%3A%22%00Name%00password%22%3Bi%3A100%3B%7D |
拿到flag
这里提一嘴,我的Visual Stdio Code老是出问题,每次改代码后得保存后才能正常输出,这么一说好像又确实要保存后才能正常执行,和C中的编译差不多。
Comments
Comment plugin failed to load
Loading comment plugin