CTF文件包含总结
首先要引入这篇文章:[文件包含大介绍]([php知识点]PHP伪协议 (ngui.cc))
然后是几个常用的协议的注意事项
data://text/plain
data://text/plain,xxxx
data://text/plain;base64,xxxxx(注意分号和逗号的位置)(暂时发现分号不能紧挨着?>,要么作为最后一句不加分号,要么加空格作为分割符)
主要用来执行php代码
php://
php://filter/read=convert.base64-encode/resource=xxx用来读源码
php://filter/convert.base64-encode/resource=xxx同上
php://input + post传代码用来执行php代码,hackbar传不过去post的代码内容,要用bp加上!!!
file://
用来读文件的,只能用绝对路径!(相对路径某些情况也许有用,不绝对)
etc
除了常见的几种伪协议,还学到了一种文件包含的方式:include会把包含在内的文件当作php文件来执行,而访问日志会记录ip、访问时间、url和ua,我们可以在ua中插入代码然后包含这个日志文件从而执行:如图
常见日志文件位置
apache:/var/log/apache/access.log
nginx: /var/log/nginx/access.log 和 /var/log/nginx/error.log
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 柚子のBlog!