当前位置: 首页 > news >正文

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) --+

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

http://www.cnnetsun.cn/news/3654136.html

相关文章:

  • Linux系统编程:从libc到glibc的演进与优化实践
  • 5分钟学会AI自动去除硬字幕:免费开源工具终极指南
  • C++ Win32桌面应用集成WebView2控件:从零构建混合开发窗口
  • Linux信号机制解析与高级应用实践
  • AI智能降重工具:论文查重与写作优化全攻略
  • 机器学习在工程结构优化中的应用与实践
  • 多因子量化交易策略:机器学习在股票预测中的应用
  • 氢硼聚变技术:原理、挑战与清洁能源前景分析
  • Unity音频编码实战:使用Lame-For-Unity插件实现MP3实时编码与优化
  • 深入解析TI CC27xx时钟管理:从基础原理到低功耗实战
  • AAAI 2026 | LungNoduleAgent:用于肺结节精准诊断的协作式多智能体系统
  • C++基础入门:从指针、内存管理到面向对象编程实战
  • 【AI自动化数据同步终极指南】:20年架构师亲授5大避坑法则与实时同步黄金配置
  • Facebook 变革频出:模仿 TikTok、推新应用、改验证规则,能否留住用户?
  • C++ 条件变量信号丢失与虚假唤醒:成因与解决方案
  • NCM格式解密与音频转换:Python实现网易云音乐文件批量转MP3/FLAC
  • Unity游戏配置管理新思路:Luban插件实现Excel到Json自动化流程
  • C++ string类模拟实现:从深拷贝到移动语义的底层原理与实践
  • 【JAVA毕设源码分享】基于springboot的美食分享平台的设计与实现(程序+文档+代码讲解+一条龙定制)
  • CC2430 DMA控制器实战指南:从原理到嵌入式系统高效数据搬运
  • 影刀RPA京东商品数据采集实战:价格库存评分批量监控
  • C/C++ BFS算法面试实战:从核心原理到高频考点解析
  • C++项目升级实战:规避六大核心陷阱,平稳迁移至现代标准
  • C++实战:从零构建Windows窗口信息获取工具,深入Win32 API与自动化开发
  • 如何彻底解决Windows无法预览iPhone HEIC照片的终极指南
  • C++实现Pagoda期权蒙特卡洛定价:从理论到代码的量化实践
  • 安卓设备免Root实现AI功能的技术方案
  • Godot游戏资源解包终极指南:3步提取.pck文件所有内容
  • Python实战成员推理攻击:从原理到实现,保护机器学习模型隐私
  • 智能学习Agent架构解析与教育实践