BUUCTF-[N1CTF 2018]eating_cms wp

知识点:文件包含、代码审计、parse_url()绕过、命令执行

进入页面

 

 查看源码发现有login.php文件,猜测有register.php,访问后注册一个账号进行登录,登录后的页面有page参数,猜测存在文件包含,使用filter伪协议读取user.php源码

 

解密后进行代码审计

 

user.php源码里没有什么可以利用的代码,但是包含了一个function.php,再使用伪协议读取function.php,从function.php发现这么一段代码

 

 

代码应该是想让我们访问ffffllllaaaaggg文件,但是下面还有parse_url()猜测用伪协议读取ffffllllaaaaggg时要绕过parse_url()

payload:http://b3391875-c36b-4229-84b1-22d809702d09.node3.buuoj.cn//user.php?page=php://filter/convert.base64-encode/resource=ffffllllaaaaggg

 

 

查看m4aaannngggeee

 

 

访问templates/upload.html后尝试上传文件,发现是个假的上传页面

 

查看源码有提示,但是好像也猜不出什么东西

 

 

读取upllloadddd.php

 

 

审计后发现之前提示的内容,并且发现上传的文件名没有经过过滤,可以利用文件名进行代码注入

  

 

找到真正的上传点/user.php?page=m4aaannngggeee

 

 

查看ffffllllaaaaggg,但是好像没有什么东西

 

 

使用;ls;#看看其他的文件,emmmm,好像也没有什么有用的

 

看看/下有什么吧,但是发现/被过滤了,使用cd ..绕过

 

有个flag_233333文件,看来flag应该是在里面了,读取一下得到flag

 

 

 

 

 

 

 

 

 

原文地址:https://www.cnblogs.com/Yhck/p/13631028.html