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的注入

相关推荐
qq_529835352 分钟前
对计算机中缓存的理解和使用Redis作为缓存
数据库·redis·缓存
月光水岸New2 小时前
Ubuntu 中建的mysql数据库使用Navicat for MySQL连接不上
数据库·mysql·ubuntu
狄加山6752 小时前
数据库基础1
数据库
我爱松子鱼2 小时前
mysql之规则优化器RBO
数据库·mysql
chengooooooo3 小时前
苍穹外卖day8 地址上传 用户下单 订单支付
java·服务器·数据库
Rverdoser4 小时前
【SQL】多表查询案例
数据库·sql
Galeoto4 小时前
how to export a table in sqlite, and import into another
数据库·sqlite
人间打气筒(Ada)4 小时前
MySQL主从架构
服务器·数据库·mysql
leegong231114 小时前
学习PostgreSQL专家认证
数据库·学习·postgresql
喝醉酒的小白4 小时前
PostgreSQL:更新字段慢
数据库·postgresql