Loading

preg_replace的/e漏洞-ics-05-攻防世界

类似于ics-03

发现有page这个变量,通过?page=php://filter/convert.base64-encode/resource=index.php

通过base64解码得到index.php源码

 

在hackbar中增加header,进入这个函数

这里需要用到preg_replace的/e漏洞,“/e” 修正符使 preg_replace() 将 replacement 参数当作 PHP 代码进行执行。如果这么做要确保 replacement 构成一个合法的 PHP 代码字符串,否则 PHP 会在报告在包含 preg_replace() 的行中出现语法解析错误。

 所以可以构造

?pat=/abc/e&rep=system('ls')&sub=abc

得到目录

 

 打开目录,最后发现有一个flag.php文件,通过cat命令查看文件,在f12中即可以得到flag

posted @ 2021-11-22 21:17  Nanne1ess  阅读(48)  评论(0编辑  收藏  举报