Bugku-web(需要管理员)

WriteUp1

题目信息

解题思路

打开页面,

无任何有效信息,点击try again不会跳转其他页面,第二个连接是个广告

直接打开kali,扫描页面,看是否有隐藏文件夹

用dirsearch -u 命令

看到有一个颜色不同的页面robots.txt

访问robots.txt

看到有文件resusl.php文件,访问resusl.php

提示我不是管理员,且以get方式获取一个名为x的变量

直接在url中给x赋值为admin即可

得到flag

使用工具

Kali

dirsearch

Flag

flag{803e969b0700474c740ef52654602f56}

总结

通过本题学到:

robots协议

WriteUp2

题目信息

解题思路

打开页面,

查看源代码

点击code.txt

php 复制代码
<?php
if(isset($_GET['v1']) && isset($_GET['v2']) && isset($_GET['v3'])){ # 判断 URL 上 ? 后面这种 GET 传递的查询参数,v1 和 v2 和 v3 都得有值才进入这个 if 判断体里执行
    $v1 = $_GET['v1']; # 提取 v1 的值
    $v2 = $_GET['v2']; # 提取 v2 的值
    $v3 = $_GET['v3']; # 提取 v3 的值
    if($v1 != $v2 && md5($v1) == md5($v2)){ # 判断 v1 和 v2 的值不能相当,但是 hash 值弱判断得相等(前面做过类似的,有 2 个固定的值翻翻)
        if(!strcmp($v3, $flag)){ # strcmp 是 PHP 中的一个字符串比较函数,比较 2 个字符串是否相等:
# 情况1:$v3 和 $flag 完全相同包括字符顺序和大小写,则返回 0(才能进入因为前面有个 !), !0 才是真
# 情况2:$v3 大于 $flag,则返回正数
# 情况3:$v3 小于 $flag,则返回负数
            echo $flag;
        }
    }
}
?>

使两个if里的条件为true即可

v1赋值为MMHUWUV

v2赋值为NOOPCJF

因为strcmp 比较数组时返回null

v3[]=1

在url中传递三个参数即可

得到flag

Flag

flag{2a706404c7058ebe934e4b7255801421}

总结

通过本题学到:

知识点1:当 strcmp 比较数组类型时,会返回 null

知识点2:url?v3[]=666, 这种格式会让 PHP 把参数名和值转换成数组类型,$v3=['666']。

而 url?v3=[666] 这种格式会让 PHP 把参数名和值设置成 "[]" 左右中括号的字符串,不是数组,$v3="['666']"

相关推荐
树下水月25 分钟前
php artisan serve 在window上执行报错的问题
开发语言·php
棒棒的唐39 分钟前
开发中,如何指定不同的php版本启动yii项目
开发语言·php
Cyber4K12 小时前
【Python专项】进阶语法-系统资源监控与数据采集(1)
开发语言·python·php
Le_ee12 小时前
ctfweb:php/php短标签/.haccess+图片马/XXE
开发语言·前端·php
Johnstons18 小时前
Wireshark 和 tcpdump 到底怎么选?网络故障排查实战中的边界、判断标准与落地清单
wireshark·php·es·tcpdump·抓包分析·抓包与协议分析工具选型
TA远方18 小时前
【JavaScript】Promise对象使用方式研究和理解
javascript·编程·脚本·web·js·promise·委托
暮雨疏桐19 小时前
阿里云从 OSS 将 CSV 推送至内网机器方案
阿里云·云计算·php
白鳯19 小时前
塔罗神谕:星月神域莱诺薇为您占卜
react·web·three.js·codex·deepseek·vibe coding·塔罗占卜
laomocoder21 小时前
Project-Nexus-WAN-跨公网Agent对话
开发语言·php
d111111111d1 天前
MQTT+STM32+ESP8266网络程序分层+韦老师
笔记·stm32·单片机·嵌入式硬件·学习·php