sqllabs的order by注入

当我们在打开sqli-labs的46关发现其实是个表格,当测试sort等于123时,会根据列数的不同来进行排序

我们需要利用这个点来判断是否存在注入漏洞,通过加入asc 和desc判断页面有注入点

1、基于使用if语句盲注

如果我们配合if函数,表达式正确就根据username排序,否则根据password排序。

要在知道列名的情况下使用:?sort=if(表达式,username,password)

比如:?sort=if(ascii(substr((select database()),1,1))>=115,username,password)

通过看根据什么排序就可以知道数据库的字符了,经过多次测试就可以拿到数据库名

2、基于时间的盲注

在基于if语句盲注的基础上,可以直接使用时间盲注即可:

?sort=if(ascii(substr((select database()),1,1))>=115,sleep(2),0)

为了快速得到数据库的信息,我们使用python脚本来注入

​​​​​​​

最后得到数据库名为security,这样就完成了order by的注入

相关推荐
醉风塘2 分钟前
JDBC批量操作终极指南:PreparedStatement批处理与事务性能优化实战
数据库·性能优化
2401_838472515 分钟前
使用Python处理计算机图形学(PIL/Pillow)
jvm·数据库·python
invicinble25 分钟前
对于mysql层对sql层面的知识体系的理解和把握
数据库·sql·mysql
2301_7903009628 分钟前
用Matplotlib绘制专业图表:从基础到高级
jvm·数据库·python
DFT计算杂谈1 小时前
VASP+PHONOPY+pypolymlpj计算不同温度下声子谱,附批处理脚本
java·前端·数据库·人工智能·python
数据知道1 小时前
PostgreSQL核心原理:为什么数据库偶尔会卡顿?
数据库·postgresql
Nandeska1 小时前
14、MySQL基于GTID的数据同步
数据库·mysql
Mr_Xuhhh1 小时前
MySQL表的内连接与外连接详解
java·前端·数据库
l1t1 小时前
DeepSeek辅助总结postgresql wiki提供的数独求解器
数据库·sql·postgresql