作为一个汇总以及备忘录板块。不对单个做特别详细的说明,类似于大纲的结构。持续完善更新。

文件包含、读取

Session条件竞争

利用条件:

  • PHP应用可以任意读取文件
  • PHP>5.4.0
  • session.upload_progress.enabled 选项开启(默认)
  • 一般读取文件加了很多限制条件,至少限制了flag文件的直接读取。(如果能直接读取flag为何还要大费周章)

通过POST上传文件的同时添加 PHP_SESSION_UPLOAD_PROGRESS form-data参数和自定义的PHPSESSID cookieform-data可以是任意值(PHP恶意代码),发送后form-data值会临时保存在session文件(文件路径以及命名方法同PHP session配置)中,如当cookie值为abcd时对应路径为/tmp/sess_abcd(默认)。

不过,如前面提到的临时,POST文件上传结束(请求结束后),session文件中的内容就会自动清空(默认)。所以,通过”竞争“,进行多线程请求,使session文件中保持内容的概率增加,然后再通过已有的include或文件读取方法将其中的PHP代码执行达到目的。

注:此方法并不需要有真实的文件上传接口,也不用关心上传文件的内容(尽量大一些,可以延长session存在时间)

说点什么
支持Markdown语法
好耶,沙发还空着ヾ(≧▽≦*)o
Loading...