Bugku题目--Web(1)

Bugku题目--Web(1)

滑稽

flag{aad20def6e7980850ed61b73ed287b52}

查看网页源代码可得到flag

计算器

f1ag{1e7c774e9cfc73f431077078908d9ff0}

计算器只能输入一位,查看网页源代码,在调试器里修改code.js,可以看到flag

alert

flag{fc03cf9d485463bb787a14fbac01c5e5}

查看网页源代码,在最后有一段html实体编码,把它转换为ascii字符可得到flag

你必须让他停下来

flag{8b358f80fb26f401d71b64a06a9a05d1}

页面一直闪,但是会有一个图片出来,查看源代码,在图片出来的时候点击设置-禁用Javascript脚本,就会出现flag

头等舱

flag{bed5a633126fcd8c7b75190e4a5d9b69}

查看源代码什么也没有,使用bp抓包,抓到之后重放然后发送就会出现flag

(为什么第一次请求“什么也没有”,重放就有 flag:

  1. 第一次请求时,你没有登录或没有权限,服务器返回空或错误;
  2. 你登录后,服务器返回了 token 或 session
  3. 你将登录后的请求(包含 token/session)重放,服务器就认为你是合法用户,返回 flag。

GET

flag{f363f197a54d657dd6c1fcdead4cba6e}

网页上的代码意思是get传参,如果在url输入?what=flag,那么flag就会出现

POST

flag{d8f9ea4be35bcec7e15138c0c2bea818}

这道题是需要构造post请求,在HarkBar中写入就可得到flag

source

flag{git_is_good_distributed_version_control_system}

查看源代码,发现一个flag,但是是错误的

首先在kali安装Web目录爆破工具dirsearch

接着对url扫描--dirsearch -u http://目标网址

可以发现有git和flag.txt目录

这个flag.txt下不是真的答案

再去git查看

.git 目录是 Git 版本控制系统在项目根目录下自动生成的一个隐藏文件夹,它存储了 Git 仓库的所有元数据和对象数据,是 Git 用来管理项目版本的核心数据存储位置

文件/目录作用
.git/HEAD确定当前分支
.git/refs/heads/获取分支的提交哈希
.git/objects/存储 Git 对象,用于恢复源码
.git/config查看 Git 仓库的配置信息
.git/logs/查看提交历史的详细日志

在git/logs/HEAD下没有看到答案

接着去kali把网站整个git目录下载

进入目标文件夹

用git查看之前版本,获得版本号

一共这四个,都尝试发现最后一个是正确的

矛盾

flag{8924cb917163f1d4b848056da6e336ab}

还是先看网页的内容,大概意思就是写入num=1就会出现flag,但是写进去没反应

继续看第二行代码,
if(!is_numeric($num)),判断!is_numeric($num)(即num不是数字 / 数字字符串),则进入代码块

所有只需要在?num=1后加入任意字符或字母,总之不是只数字或者数字字符串,就可得到flag

备份是个好习惯

flag{a2eb43bc5ea47a201234d65c2842cc90}

打开网页查看源码什么也没有

使用kali工具dirsearch查看所有目录

扫出来这些

把index.php.bak下载然后查看

是一段php代码,

利用参数名替换规则+PHP 中 MD5 处理数组的特性构造请求:

  1. 参数名构造:构造参数名为kkeyey1[]kkeyey2[]—— 当代码执行str_replace('key', '', $str)时,kkeyey1[]会被替换为key1[]kkeyey2[]会被替换为key2[],最终解析为数组类型的$key1$key2
  2. MD5 条件满足:PHP 中md5()函数接收数组时会返回false,因此md5($key1)md5($key2)均为false,满足md5($key1) == md5($key2);同时$key1(数组[1])与$key2(数组[2])不相等,满足$key1 !== $key2

所以构造一个md5碰撞就可得到flag

不懂的可以看这里https://www.doubao.com/thread/w20544a20d5498f2b

http://url/index.php?kkeyey1[]=1kkeyey2[]=2

变量1

flag{841143bff4b8d0df02e9d86d9479ffa4}

构造一个全局变量,即可得到falg

  1. args=GLOBALS满足正则/^\w+$/(“GLOBALS” 由字母组成,符合规则);
  2. eval执行var_dump($$args) → 等价于var_dump($GLOBALS)
  3. $GLOBALS是 PHP 超全局数组,会包含flag1.php中定义的所有变量(包括存储 flag 的变量)。

本地管理员

flag{5ca8bcf830dcfcb66872967decbe487e}

先查看源码,dGVzdDEyMw==这个使用base64解码就是密码

输入用户名猜测是admin,密码是test123,提示ip禁止访问

伪造成本地用户去访问,使用bp抓包-重放-写入一行X-Forwarded-For=127.0.0.1,即可得到flag

game1

flag{2024000ba4dca7f54b1d693da77a47fa}

边玩边抓包,我是玩了四次

有一个特征sign参数总是zM开头,所以把后面的用base64解码,发现后面就是score

所以我们只需要输入一个超大的分数,base64编码,再把score修改成相同的,然后发送,就可得到flag

源代码 

flag{5b81c017ddaaf6273ae60846d6d8956f}

查看源代码,发现两段很像url编码的

在往下看,是p1+一段编码和p2,先解p1

p2就用%35%34%61%61%32加上p2的原始编码,解码就是

两个合起来就是67d709b2b54aa2aa648cf6e87a7114f1,把它放入框框里,就可以得到falg

网站被黑

flag{9227ed00a1a9e5183099ccbd98bf0094}

先用kali里的dirsearch扫描目录

访问一下,需要密码

bp抓包,然后使用intruder模块密码字典爆破

得到hack是密码

回到网页输入密码即可得到flag

bp

flag{3bc277b76ef4ee0510c447519e5088c7}

打开是登录页面,尝试密码不对

题目提示用弱密码top1000,直接使用bp抓包,然后爆破,让他攻击着,我们等一会

没有爆破到密码,但是在错误包里有一个js报错代码

将报错代码过滤了即可,在设置--检索匹配里添加{code: 'bugku10000'}

这一行得删掉不然就限制了长度

接着再爆破,即可得到密码就是zxc123

登录即可得到flag

好像需要密码

flag{cd9cee9e1634a74551a90182919a19e1}

题目说输入5位数密码查看,直接bp抓包,密码爆破,paload类型选数值,从10000开始到99999

等一会直接破解出来了,密码是12468

输入密码即可得到flag

eval

flag{d2f147732aaf93953c83c07a10fb0e18}

看网页上得代码,把flag.php用文件输出就出现flag

文件包含

flag{30ed5e415fd3a24df2bda6ac8b79d3ff}

这个题是文件包含漏洞:通过PHP函数引入文件时,传入的文件名没有经过合理的验证,从而操作了预想之外的文件,就可能导致意外的文件泄漏甚至恶意代码注入。

访问了首页是超链接到了这里,存在文件包含点

构造payload,在rul后加?file=php://filter/read=convert.base64-encode/resource=index.php

即可得到一段代码,base64解码得到flag

Flask_FileUpload

flag{a4a11cdb2f29236e184bcd261dc622e3}

查看源代码,以及题目就说明这个题得框架是flask,且存在fileupload漏洞,并且flask框架是python编写。

先上传一个图片并bp抓包,接着利用python中os库得system命令执行,再cat查看flag,就可得到flag

Read more

前端Vue如何对接unet后端?跨域CORS配置实战教程

前端Vue如何对接unet后端?跨域CORS配置实战教程 1. 教程目标与背景 你是否正在开发一个前端项目,想要把真人照片一键变成卡通头像?最近很多开发者都在尝试用 UNet人像卡通化模型 实现这个功能。而科哥基于阿里达摩院的 DCT-Net 模型搭建了一个本地运行的 WebUI 工具,支持单图/批量处理、风格调节、高清输出等功能。 但问题来了:这个后端服务默认只在 localhost:7860 提供接口,而你的 Vue 项目通常运行在 localhost:8080 或 3000 端口上。这就导致了经典的“跨域问题”——浏览器直接报错: Access to fetch at 'http://localhost:7860/predict' from origin 'http://localhost:8080&

By Ne0inhk
Flutter for OpenHarmony:web 拥抱 Web 标准的桥梁(Wasm GC 与 DOM 互操作) 深度解析与鸿蒙适配指南

Flutter for OpenHarmony:web 拥抱 Web 标准的桥梁(Wasm GC 与 DOM 互操作) 深度解析与鸿蒙适配指南

欢迎加入开源鸿蒙跨平台社区:https://openharmonycrossplatform.ZEEKLOG.net 前言 随着 Flutter 3.x 全面拥抱 Wasm(WebAssembly),Dart 团队推出了全新的 package:web 来取代老旧的 dart:html。 package:web 是基于最新的 JS Interop 机制构建的,它不仅性能更好,而且兼容 Wasm GC 标准。 虽然这个库通过名字看是为 “Web” 平台的,但对于 OpenHarmony 开发者来说,了解它有着特殊的意义: 1. 混合开发:鸿蒙原生支持 ArkWeb (WebView),在 Flutter 中通过 JS互操作与 Web 页面交互是常见需求。 2.

By Ne0inhk
基于YOLOv8/YOLOv10/YOLOv11/YOLOv12与SpringBoot的行人车辆检测系统(DeepSeek智能分析+web交互界面+前后端分离+YOLO数据

基于YOLOv8/YOLOv10/YOLOv11/YOLOv12与SpringBoot的行人车辆检测系统(DeepSeek智能分析+web交互界面+前后端分离+YOLO数据

一、 摘要 摘要: 随着城市化进程的加速和智能交通系统的普及,高效、准确的行人与车辆目标检测成为智慧城市、自动驾驶及公共安全等领域的关键技术。传统视频监控方法依赖于人工筛查,存在实时性差、易漏检和成本高昂等问题。本研究设计并实现了一个基于深度学习与Web技术的实时行人车辆检测与分析系统。系统核心集成当前最前沿的YOLOv8、YOLOv10、YOLOv11及YOLOv12四种目标检测算法,构建了一套可灵活切换、性能优异的检测引擎,专门针对“行人”和“车辆”两类目标进行精准识别与定位。系统采用前后端分离架构,后端基于SpringBoot框架构建,提供了RESTful API接口;前端提供直观的交互界面,实现了用户管理、多模态检测(图像、视频、实时摄像头)与全流程数据追溯。创新性地集成DeepSeek大型语言模型,可为检测场景提供智能语义分析与报告生成,提升了系统的决策支持能力。系统将全部检测记录与用户数据持久化存储于MySQL数据库,并通过可视化图表展示检测统计结果。经测试,系统在5607张图像数据集上表现稳定,实现了从算法应用到业务管理的完整闭环,为相关领域提供了可部署、易扩展的一体化

By Ne0inhk
Flutter 三方库 flutter_dropzone 的鸿蒙化适配指南 - 掌握万物皆可拖拽的资源流转技术、助力鸿蒙大屏与 Web 应用构建极致直观的文件导入与交互体系

Flutter 三方库 flutter_dropzone 的鸿蒙化适配指南 - 掌握万物皆可拖拽的资源流转技术、助力鸿蒙大屏与 Web 应用构建极致直观的文件导入与交互体系

欢迎加入开源鸿蒙跨平台社区:https://openharmonycrossplatform.ZEEKLOG.net Flutter 三方库 flutter_dropzone 的鸿蒙化适配指南 - 掌握万物皆可拖拽的资源流转技术、助力鸿蒙大屏与 Web 应用构建极致直观的文件导入与交互体系 前言 在 OpenHarmony 鸿蒙应用全场景覆盖、特别是适配鸿蒙桌面模式(Desktop Mode)、折叠屏大屏交互及鸿蒙 Web 版推送的工程实战中,“文件拖拽(Drag and Drop)”已成为提升生产力效率的标配功能。用户希望能够像在 PC 上一样,直接将图片或文档拖入应用窗口即可完成上传。如何实现这种跨越边界的直观交互?flutter_dropzone 作为一个专注于“拖放区域感知与文件流提取”的库,旨在为鸿蒙开发者提供一套标准的拖放治理方案。本文将详述其在鸿蒙端的实战技法。 一、原原理分析 / 概念介绍 1.1 基础原理 flutter_dropzone

By Ne0inhk