ctfshow web 10

news/2025/9/18 15:34:10/文章来源:https://www.cnblogs.com/zdqjudy/p/19098882

ctfshow web 10

打开题目长这样,点击取消会自动下载indexs.php文件,打开查看源码

<?php$flag="";function replaceSpecialChar($strParam){$regex = "/(select|from|where|join|sleep|and|\s|union|,)/i";return preg_replace($regex,"",$strParam);}if (!$con){die('Could not connect: ' . mysqli_error());}if(strlen($username)!=strlen(replaceSpecialChar($username))){die("sql inject error");}if(strlen($password)!=strlen(replaceSpecialChar($password))){die("sql inject error");}$sql="select * from user where username = '$username'";$result=mysqli_query($con,$sql);if(mysqli_num_rows($result)>0){while($row=mysqli_fetch_assoc($result)){if($password==$row['password']){echo "登陆成功<br>";echo $flag;}}}?> 

$regex 告诉了我们一些sql查询过滤的一些语句,正常情况下来说我们会使用双写来绕过,但是

if(strlen($username)!=strlen(replaceSpecialChar($username))){die("sql inject error");}if(strlen($password)!=strlen(replaceSpecialChar($password))){die("sql inject error");}

这两个if语句会限制你用双写绕过,会比较长度和内容,这你不就炸杠了吗

源码中先根据用户名查询用户信息, 用户名通过以后, 再判断密码是否相同, 我们绕过用户名的过滤条件, 在使用 with rollup注入绕过密码

这边查了网上大佬的wp发现mysql里面有个with rollup函数绕过

with rollup 可以对 group by 分组结果再次进行分组,并在最后添加一行数据用于展示结果( 对group by未指定的字段进行求和汇总, 而group by指定的分组字段则用null占位

这里我们利用 admin'/**/or/**/1=1(这道题试了一下貌似还是有空格过滤,太无聊了)保证前面的username查询为真,使其成功查询username,接下来就会password是否和username匹配,我们就先使用group by函数将password分组,由于with rollup不会对password

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/907210.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【ACM出版】第四届公共管理、数字经济与互联网技术国际学术会议(ICPDI 2025)

第四届公共管理、数字经济与互联网技术国际学术会议(ICPDI 2025)定于2025年9月26-28日在中国-北京举行。【高录用快见刊、检索:审稿录用速度快】 【录用信息完整:含ISSN号,DOI,封面目录】 第四届公共管理、数字经…

SMA的射频连接器

SMA的射频连接器射频相关的器件和应用设备经常会用到各种各样的射频连接器,这里将介绍一部分常用的连接器。上图是不同型号的连接器的使用频率,这里仅供参考,因为随着工艺和科技的发展,各个型号的连接器使用频率范…

KEITHLEY 数字万用表

KEITHLEY 数字万用表KEITHLEY 数字万用表(DMM, Digital Multimeter) 都具备 电阻测量功能。 🔹 一般 KEITHLEY 的 DMM(如 DMM6500、DMM7510、2000/2100 系列 等)都有以下功能:直流电压 DCV交流电压 ACV直流电流…

什么是Elasticsearch?它与其他搜索引擎相比有什么优势?

一、Elasticsearch 是什么? Elasticsearch(简称 ES) 是一个基于 Apache Lucene 的开源分布式搜索和分析引擎,用 Java 开发,设计用于云计算中,能够实现实时数据搜索、分析和存储。它具有高扩展性、高可用性和分布…

pdf.js-2.3.0国内下载地址

https://npmmirror.com/package/pdfjs-dist?version=2.3.200

opencv学习记录2

腐蚀操作 #设置核 kernel = np.ones((3,3),np.uint8) erosion = cv2.erode(img,kernel,iterations=1)膨胀 dige_dilate = cv2.dilate(src,kernel,iterations=1)开运算,闭运算,梯度运算 膨胀-腐蚀 开运算原理: 图像开…

大数据毕业设计选题推荐-基于大数据的慢性肾病数据可视化分析系统-Spark-Hadoop-Bigdata - 详解

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

get请求图片文件转为base64编码

public static String convertImageToBase64(String url) throws IOException {String urls = url.replaceAll("192.168.10.242", "192.192.192.192");// 创建HTTP客户端try (CloseableHttpClient…

BMS与威纶通人机界面通信问题

BMS和威纶通人机界面通信 接口:485 协议:modbus-rtu 波特率:115200bps 问题:电脑模拟人机界面和BMS连接时,显示正常,使用人机界面实物和BMS连接时,无反应;排除BMS的modbus协议本身问题 排查思路: 1)确认人机…

Blazor全栈是个陷阱

前言 大家好,我是曦远~ 最近有个项目急着上线 大概就是接受一堆客户端连接上报数据,然后在界面上展示数据和简单的控制 这种场景感觉 Blazor 还挺合适的,折腾之心蠢蠢欲动 于是掏出了 Blazor 开搞 现在 .NET9 的 Bl…

大型语言模型安全实践:Copilot安全防护经验总结

本文通过实际测试案例深入分析Microsoft Copilot在企业环境中的安全风险,揭示LLM集成带来的数据泄露隐患,并提供基于零信任和RBAC的防护方案,帮助企业构建安全的人工智能应用环境。禁锢Copilot:LLM安全实践的经验教…

一些编程语言的发展史

计算机语言的发展史 C语言的命名由来 C语言,作为一种广泛使用的编程语言,其命名背后有着一段历史。C语言的前身是B语言,而B语言又是基于BCPL语言发展而来。BCPL(Basic Combined Programming Language)是由剑桥大学…

mysql生成uuid,3种实用方法详解

你知道MySQL中有几种生成唯一标识符的方法吗?作为数据库开发者,我们经常需要为数据记录生成全局唯一的ID。与自增ID相比,UUID具有全局唯一性和分布式友好的特性,特别适合微服务架构下的数据库设计。 UUID基础概念 …

vmware ubuntu共享文件夹

sudo apt update sudo apt install open-vm-tools open-vm-tools-desktop sudo vmhgfs-fuse .host:/ /mnt/hgfs -o allow_other,uid=1000,gid=1000 开机自动挂载 编辑/etc/fstab文件,添加以下行(需确保共享文件夹名称…

Oracle数据库镜像大全

Oracle数据库镜像大全Posted on 2025-09-18 15:01 lzhdim 阅读(0) 评论(0) 收藏 举报这次整理了Oracle数据库的镜像。通过网盘分享的文件:  链接: https://pan.baidu.com/s/1H5e7P6MK52lwlLAbobbP1A?pwd=fete…

深入解析:【2025年华为秋招(AI)-9月17日-第二题(200分)- 大模型Attention模块开发】(题目+思路+JavaC++Python解析+在线测试)

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

【10章】n8n+AI工作流:从入门到企业级AI应用实战

【10章】n8n+AI工作流:从入门到企业级AI应用实战 网 盘 地址:……/s/14l-lQhw9M2TuBny5O4Ru8A 提取码:0hm4 在数字时代的浪潮中,自动化已成为提升效率的关键驱动力。当灵活的n8n工作流平台与强大的人工智能相遇…

CodeGPT AI代码狂潮来袭!个人完全免费使用谷歌Gemini大模型 超越DeepSeek几乎是地表最强

🚀 个人主页 极客小俊 ✍🏻 作者简介:web开发者、设计师、技术分享 🐋 希望大家多多支持, 我们一起学习和进步! 🏅 欢迎评论 ❤️点赞💬评论 📂收藏 📂加关注CodeGPT是什么 CodeGPT是一款基于AI人工智…

svg和canvas的区别

SVG(Scalable Vector Graphics)与 Canvas 是 Web 开发中两种图形技术,其核心差异体现在 ​​渲染方式、交互性、性能表现​​ 等多个维度。以下是基于最新技术标准的深度对比分析:一、核心技术差异​​对比维度​​…

MySQL LIMIT 和 ORDER BY 优化

MySQL LIMIT 和 ORDER BY 优化MySQL LIMIT 子句 MySQL LIMIT 子句是控制 SELECT 语句返回行数的重要工具。通过指定从结果集中获取的最大行数,它可以让你处理数据子集,尤其是在涉及大表的情况下。该功能可提高查询性…