CTF网络安全大赛web题目:baby lfi 2

题目来源于:bugku
题目难度:难
题目 描  述: What about making things a bit harder ?

题目源代码:

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <link
      rel="stylesheet"
      href="https://cdn.bootcdn.net/ajax/libs/twitter-bootstrap/5.2.3/css/bootstrap.min.css"
      integrity="sha384-Vkoo8x4CGsO3+Hhxv8T/Q5PaXtkKtu6ug5TOeNV6gBiFeWPGFN9MuhOf23Q9Ifjh"
      crossorigin="anonymous"
    />
    <link rel="stylesheet" href="main.css" />
    <title>Say Hello to our Gentelmen | LFI Warmups</title>
</head>
<body>
<br /><br />
    <div class="container">
        <h1 id="h1">LFI Warmups - level 2</h1>
        <hr />
        <h2 id="challenge">Hello I can speak 2 languages !</h2>
        <hr />
        <u><b>Rules</b></u>
        <ul>
        <li>include some critical file <code> why not /etc/passwd</code></li>
        </ul>
        <hr />
        <u><b>Challenge</b></u>
        <p>Please Select a language of your choice : en/fr </p>
        <p><b>HINT :</b> Approved Paths, there is a <code>languages </code> directory, I wont tell you what's stocked in it ? ;)</p>
        <hr />
        <p>
                    </p>
    </div>
</body>
</html>

这个HTML页面似乎是一个Web挑战或练习的一部分,特别是关于本地文件包含(Local File Inclusion, LFI)的。在这个挑战中,用户被要求通过某种方式访问一个名为languages的目录中的文件,以选择英语(en)或法语(fr)的语言设置。

不过,这个HTML页面本身并没有包含任何执行LFI的代码。它只是一个前端界面,用于向用户展示挑战的规则和提示。

这里有一些关键点:

  1. 挑战规则:规则中提到要“include some critical file”,并给出了一个例子/etc/passwd。但在一个真正的Web应用中,直接包含像/etc/passwd这样的系统文件是不安全的,也是不可能的(除非存在严重的安全漏洞)。
  2. 挑战内容:用户被要求选择一种语言(en/fr)。这可能意味着后端代码会根据用户的选择来包含或读取languages目录下的某个文件(例如en.txtfr.txt)。
  3. HINT:提示说“Approved Paths, there is a languages directory”。这意味着用户应该尝试访问languages目录下的文件。
  4. 潜在的LFI风险:虽然这个HTML页面本身没有LFI风险,但后端代码(可能是PHP、Python等)可能会根据用户输入来动态包含文件。如果后端代码没有正确验证或转义用户输入,就可能导致LFI漏洞。

为了完成这个挑战,你可能需要:

  • 访问后端代码(如果可用)以了解它是如何处理用户输入的。
  • 尝试通过修改URL或发送POST请求来传递不同的语言参数(例如?lang=en?lang=fr)。
  • 使用开发者工具(如浏览器的Network或Console标签页)来查看和调试HTTP请求和响应。
  • 根据后端代码的行为和响应来确定如何成功访问languages目录下的文件。

ctf.jpg


下面我们开始解题:
这个题目还是有点难度的,根据bugku的网友提供的解题思路
我们直接输入“ URL/?language=./languages/../../../../etc/passwd
这样就能成功获取到flag,题目就解决了

原文链接: CTF网络安全大赛web题目:baby lfi 2 - [红客网]网络编程与渗透技术笔记

红客网:blog.hongkewang.cn

  • 4
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值