news 2026/7/26 5:35:31

sqli靶场1~5、9关

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
sqli靶场1~5、9关


第一关

判断是字符型还是数字型,先假设为数字型,如果是数字型2-1就会生效,查不到信息,所以由此得出这是字符型

先判断闭合符(常见闭合符:‘、“、’)、”)、无引号型(数字型))

如果闭合符正确,他会报错,因为我们后面还有一个闭合符

我们可以把后面的闭合符注释掉再看看有没有数据显示

也可以想办法把后面的那个闭合符组成一个完整的闭合符

也是查不出东西的,由此我们可以得出,闭合符是‘

然后我们就可以开始判断有几列数据了,我们先假设它有四列

多了,我们就减少一点,看看是不是3列

有数据显示,那就是3列 知道列数以后,我们就需要判断它的回显位置,因为它有可能username,id,password,如果它回显的位置是1和3,我们的语句就要写在对应的位置

可以用union联合查询来找回显位置,因为它会显示先查出来的数据,所以我们需要把1改成-1,让它前面的语句查不出东西,改成-1是因为绝大多数数据库自增主键id都是从 1 开始,不存在 id=-1 的记录-56789也是可以的

得到了回显位置我们就知道后面的语句写在哪了

我们可以先查一下数据库名

还有数据库的版本

正常的写完整的查找语句也是可以的

现在我们可以查询数据库里面有什么表,让表名输出在一起我们可以用group_concat

?id=-4341' union select 1,(select database()),group_concat(table_name) from information_schema.tables where table_schema='security'--+

查询security下的users表里面的所有字段名称,同时返回表名、当前所在数据库名

select table_name, database(), column_name from information_schema.columns where table_schema='security' and table_name='users'; --+

我们可以用limit来查

也可以使用group_concat

接下来我们就开始查询数据

可以用limit查也可以用group_concat

limit

group_concat

如果前端做了输出限制,我们可以使用substring

第二关

同理第二关也是判断类型

由此可知是数字型

这是列数

查询回显

得知回显位置是2,3,我们的语句就在·2,3输入

查询security下的uagents

这个表中没有username和password字段,接着查users

第三关

结果图(本人是全操作完的)

第四关

第五关(布尔盲注)

判断类型

由此我们可以推断出它是字符型并且闭合符是’
用order by 查出数据有3列

联合查询也是这个界面

我们可以先查询一下数据库长度(8个)

当前数据库名

获取该数据库下所有的表

读取users下的账号密码(修改limit 0,1limit 1,1limit 2,1依次读取全部账号密码)

第九关(时间盲注)

判断类型(使用sleep)我们输入and 1=2 时没有回显,所以我们改成and sleep(4),依然没有响应,所以我们可以判断出是字符型,然后就可以测试出来闭合符是‘

然后慢慢猜数据库长度

最后猜得8,网页卡顿5秒

然后猜数据库名

115是s
(中间省略)

121是y,得知数据库名是security
然后猜数据库下的表

慢慢猜,再比对ascll表
读取数据库username第0行的命令:
?id=1' and if(ascii(substr((select username from security.users limit 0,1),1,1))=68,sleep(3),1) --+

读取数据库password第0行的命令:
?id=1' and if(ascii(substr((select password from security.users limit 0,1),1,1))=100,sleep(3),1) --+

建议使用脚本,不然特别特别累!!!

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/7/26 5:34:19

Linux系统编程:从libc到glibc的演进与优化实践

1. 从标准C库到现代Linux的演进之路在Linux系统编程领域,libc和glibc这两个术语经常交替出现,却鲜有人能说清它们之间的渊源与差异。作为Linux系统中最基础也最核心的库,C标准库的实现直接决定了整个系统的兼容性、性能和稳定性。我曾在多个嵌…

作者头像 李华
网站建设 2026/7/26 5:30:54

5分钟学会AI自动去除硬字幕:免费开源工具终极指南

5分钟学会AI自动去除硬字幕:免费开源工具终极指南 【免费下载链接】video-subtitle-remover 基于AI的图片/视频硬字幕去除、文本水印去除,无损分辨率生成去字幕、去水印后的图片/视频文件。无需申请第三方API,本地实现。AI-based tool for re…

作者头像 李华
网站建设 2026/7/26 5:30:45

C++ Win32桌面应用集成WebView2控件:从零构建混合开发窗口

1. 项目概述:从零到一构建WebView2窗口 如果你已经跟着上一篇文章,成功把WebView2的开发环境给搭起来了,那恭喜你,最磨人的一步已经过去了。接下来,咱们要干点真正有成就感的事儿——创建第一个能跑起来的窗口。很多朋…

作者头像 李华
网站建设 2026/7/26 5:30:12

Linux信号机制解析与高级应用实践

1. 信号机制深度解析在Linux系统中,信号是进程间通信的基本方式之一,它提供了一种异步事件通知机制。当我们在终端按下CtrlC时,实际上就是通过发送SIGINT信号来终止前台进程。信号处理的核心数据结构是task_struct中的sigaction数组&#xff…

作者头像 李华
网站建设 2026/7/26 5:29:07

AI智能降重工具:论文查重与写作优化全攻略

1. 论文写作痛点与AI工具的崛起写论文最头疼的莫过于查重环节。去年帮学弟修改毕业论文时,亲眼见证他把一段200字的引言反复改了七八遍,查重率依然居高不下。这种"红色恐惧"几乎每个学术人都经历过——明明是自己写的观点,却因为表…

作者头像 李华
网站建设 2026/7/26 5:27:27

机器学习在工程结构优化中的应用与实践

1. 结构优化与机器学习融合的背景与价值在工程结构设计领域,优化问题始终是核心挑战。传统基于有限元分析(FEA)的优化方法,如拓扑优化、尺寸优化等,虽然理论体系成熟,但在实际工程应用中仍面临诸多瓶颈。以…

作者头像 李华