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'"

相关推荐
企业通信技术笔记4 小时前
企业IM内外网隔离部署:DNS、证书、WebSocket与跨网接口设计
websocket·网络协议·架构·php·信息与通信
szarron5 小时前
RF Demo Kit|NanoVNA 射频演示测试板完整上手教程,滤波器、衰减器、SOLT 校准学习板
开发语言·人工智能·学习·php·射频工程·频谱仪
sbjdhjd8 小时前
从 assert 动态调用报错到临时文件链路:PHP 5.6 与 7.3 授权靶场中的短 payload 复盘 | (17字符绕过)
安全·网络安全·数据挖掘·开源·云计算·php·字符绕过
sbjdhjd8 小时前
从 7 字符文件名拼接到二维数组取值:PHP 无参函数限制下的受控靶场复盘 | (7字符绕过)
网络·nginx·安全·网络安全·云计算·php·apache
fengkai45459 小时前
七、华为云网络综合实验 & 运维类及其他服务总结
服务器·开发语言·php
PHP实战开发录9 小时前
PHP日志写满磁盘后接口为什么异常
开发语言·系统架构·php·开发
妙码生花10 小时前
golang 应用服务端部署(使用 systemd 服务)
开发语言·人工智能·后端·golang·node.js·php·gin
PHP实战开发录17 小时前
PHP事务异常后为什么数据还写进去了
mysql·php·开发
隔窗听雨眠21 小时前
记一次SQL Server数据库性能分析:从CPU100%到单配置修复的完整诊断
开发语言·数据库·php
三8441 天前
PHP Session 反序列化(2):漏洞根因 —— 序列化处理器错位与对象注入
android·web安全·php·反序列化·session