Sql注入(Search/GET)

大家好!!! 现如今web服务在我们的网络上遍地都是,各个终端设备成为我们看不见的客户,web服务也成为公司的招牌。80 443为我们展现的视角也是多姿多彩但背后新闻爆出的安全风险事故有时也让我们触目惊心,近年来随着各个公司网络安全意识不断提高发生的安全事故也明显下降,但更高级的攻击手段也时时刻刻让企业面临着挑战。如今不妨让我们了解一下这些攻击的原理,对这些手段也做一个了解。

(本章内容)我们以sql注入为例,Sql注入的方法类型有多种方式(get型,post型,表单的,存储型的,盲注的),我们根据类型一个个的进行讲解

各种的手法有各自的特点注入的地点有些不相同,但原理上大致相同头一篇都已较为简单的注入来介绍方便大家理解。(下面进入正题)

首先观察这个页面有一个查询电影的出入框,点击search后我们发现下面列出了列表

当我们在图中输入框里面简单的加一个单引号的时候整个页面发生了变化,通过报错的内容来看单引号让整个语句出现了问题,并直接爆出来这是一个sql语句的问题。这样注入点我们就找到了。

因为输入的是电影名字,我们随便复制上一张图片中的一个电影名将他输进去查询一下,有结果显示所以这是一个字符形的。

通过--+将原来后面的sql语句注释掉。(sql中--+和#代表这注释我们添加这个是为了不让后面的sql语句执行。  在url里面#我们要编码一下给写成%23这样系统才会认这个字符。)

(title=***)找到这个注入点以后我们要进行列的判断,找出这个表里面有几列,把列的位置一一列出来则样做的目的是为了让页面中的sql语句完整不报错。我们可以通过Order by (X)是查询这个表里有几个列(字段)当X大于正确的列数页面就会报错小于则显示正常页面。 首先输入一个较大的数然后用二分法进行筛选。例如先输入20 然后10。。。。5。。。根据页面现实的内容进行加减。

当输到order by 8报错order by 7 的时候页面又恢复了正常这就可以确定7这个数字是一个“分水岭”这表名张表里面有7列。

列已经确定了出来了是7列,这个时候第一个想到的是找到显示位用联合查询的方法进行查询,因为这样的效率是最高的。

Union select 1,2,3,4,5,6,7 用这条语句将7个字段占上。 最后在图上明显的看到2345说明这七个字段中只有2345是显示位。

这个时候就可以随便找一个显示位进行查询了(我以2号显示位做的演示)

这时候就用到之前讲过的数据库与sql相关知识了,通过查询mysql自带的关键数据库进行查询(所有的重要信息在information_schema这个库里都有一一对应 我们利用的是这个特点)

select schema_name from information_schema.schemata;

为了不出错我们用group_concat方法将 schema_name信息包裹起来输出到一个位置里面

我们将这些库名复制出来做个记录

查完库了现在开始查表 我们对这里面的一个库进行一个查表的操作

这样表名被查出来了

将这个库里面的的表名记下来

现在去探测列名 这里面应该有好几个user表。。。。(这么多的列应该是好几个user表里面的)

把这些列记下来

这些列里面有许多是重复的,应该在where后面再加一个条件,我们不管这些只找我们关心的用户名密码这是最重要的

Select 用户 from 那个库下的那个表

从始至终一直在围绕着information_schema在获取先决条件,以上就是对sql注入全过程的基本操作。

webgote的例子(2)Sql注入(SearchGET)的更多相关文章

  1. SQL注入(二)

    5.限制输入长度 如果在Web页面上使用文本框收集用户输入的数据,使用文本框的MaxLength属性来限制用户输入过长的字符也是一个很好的方法,因为用户的输入不够长,也就减少了贴入大量脚本的可能性.程 ...

  2. sql注入原理详解(一)

    我们围绕以下几个方面来看这个问题: 1.什么是sql注入? 2.为什么要sql注入? 3.怎样sql注入? 1.什么是sql注入? 所谓SQL注入,就是通过把SQL命令插入到Web表单递交或输入域名或 ...

  3. 预防SQL注入笔记

    SQL注入如何预防? 本文参考自owasp,重点是提供清晰,简单,可操作的指导,以防止应用程序中的SQL注入漏洞.不幸的是,SQL注入攻击很常见,这是由于两个因素: SQL注入漏洞的显着流行 目标的吸 ...

  4. 讲sql注入原理的 这篇不错(有空可以看看)

    我们围绕以下几个方面来看这个问题: 1.什么是sql注入? 2.为什么要sql注入? 3.怎样sql注入? 1.什么是sql注入? 所谓SQL注入,就是通过把SQL命令插入到Web表单递交或输入域名或 ...

  5. webgote的例子(3)Sql注入(SearchPOST)

    Sql注入(Search/POST) (本章内容):post的方式进行注入 今天来讲一下sql注入的另一个例子(post) 上一个用的是get请求的方法将我们的参数传到服务器进行执行 上图中的标红是需 ...

  6. webgote的例子(4)Sql注入(SelectGET)

    SQL Injection (Select/GET) 本章内容 (查询显示中要注意的错误) 这里面我们看一下 movie的数值,选择表单中的当我们选择的二个的时候 move的值也变成了第二个,选择表单 ...

  7. webgote的例子 数据库与sql注入的相关联系(1)

    大家好我是时光凉春衫薄 之前将讲的sql注入有点随便了我同事也觉得有些地方看不懂,往后的几天我尽量写的细一点.尽可能让大家能看懂.(新手出道大佬多多指教.欢迎评论批评.) 数据库与sql注入的相关联系 ...

  8. sql 注入例子及防止

    一.什么是sql注入? 所谓SQL注入,就是通过把SQL命令插入到Web表单提交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的SQL命令 二.sql例子 1.数字注入 假设在项目中,在 ...

  9. C#语言Winform防SQl注入做用户登录的例子

    using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using Sy ...

随机推荐

  1. 【Linux笔记】Linux中inittab剖析

    Linux完成内核(Kernel)引导后,会由init初始化进程调用/etc/inittab配置文件(ps -aux | less,init进程号为始终为1,是所有系统进程的起点,init进程也有一个 ...

  2. 第186天:js深入理解构造函数和原型对象

    1.在典型的oop的语言中,如java,都存在类的概念,类就是对象的模板,对象就是类的实例.但在js中不存在类的概念,js不是基于类,而是通过构造函数(constructor)和原型链(propoty ...

  3. luogu 1712 区间(线段树+尺取法)

    题意:给出n个区间,求选择一些区间,使得一个点被覆盖的次数超过m次,最小的花费.花费指的是选择的区间中最大长度减去最小长度. 坐标值这么大,n比较小,显然需要离散化,需要一个技巧,把区间转化为半开半闭 ...

  4. 【bzoj5157】[Tjoi2014]上升子序列 树状数组

    题目描述 求一个数列本质不同的至少含有两个元素的上升子序列数目模10^9+7的结果. 题解 树状数组 傻逼题,离散化后直接使用树状数组统计即可.由于要求本质不同,因此一个数要减去它前一次出现时的贡献( ...

  5. 【bzoj2329】[HNOI2011]括号修复 Splay

    题目描述 题解 Splay 由于有区间反转操作,因此考虑Splay. 考虑答案:缩完括号序列后剩下的一定是 $a$ 个')'+ $b$ 个'(',容易发现答案等于 $\lceil\frac a2\rc ...

  6. MapReduce(一) mapreduce基础入门

    一.mapreduce入门 1.什么是mapreduce 首先让我们来重温一下 hadoop 的四大组件:HDFS:分布式存储系统MapReduce:分布式计算系统YARN: hadoop 的资源调度 ...

  7. 解题:POI 2009 TAB

    题面 这也算是个套路题(算吗)?发现换来换去每行每列数的组成是不变的,那么就把每行每列拎出来哈希一下,复杂度$O(Tn^2log$ $n)$有点卡时=.=. 然而正解似乎不需要哈希,就像这样↓ ;i& ...

  8. 03-树2. List Leaves (25) 二叉树的层序遍历

    03-树2. List Leaves (25) 题目来源:http://www.patest.cn/contests/mooc-ds/03-%E6%A0%912 Given a tree, you a ...

  9. jquery动态添加的元素绑定的事件不生效的问题

    我们可以通过 $(document).on('click', '#xxx', callback) 这种形式解决. 原因,一般情况下,我们是通过 $('#xxx').click(callback) 这种 ...

  10. 使用gulp进行css、js压缩

    var gulp = require('gulp'); var cleanCSS = require('gulp-clean-css'); var concatCss = require('gulp- ...