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. 第102天:CSS3实现立方体旋转

    CSS3实现立方体旋转 <!DOCTYPE html> <html lang="en"> <head> <meta charset=&qu ...

  2. collection 在创建迭代器后 不能在添加数据 否则会出现并发问题

    collection 在创建迭代器后 不能在添加数据 否则会出现并发问题

  3. Appium自动化测试框架

    1.在utils包中创建一个AppiumUtil类,这个类是对appium api进行封装的. 代码如下: package utils; import java.net.MalformedURLExc ...

  4. 【Java】CSVUtils

    package com.msk.ds.logic; import java.io.*; import java.util.List; /** * Created by Administrator on ...

  5. Spring中使用要点集合

    1.InitializingBean和init-method方法 Spring的InitializingBean为bean提供了定义初始化方法的方式.InitializingBean是一个接口,它仅仅 ...

  6. 【BZOJ3894】文理分科(最小割)

    [BZOJ3894]文理分科(最小割) 题面 BZOJ Description 文理分科是一件很纠结的事情!(虽然看到这个题目的人肯定都没有纠 结过) 小P所在的班级要进行文理分科.他的班级可以用一个 ...

  7. WebLogic XMLDecoder反序列化漏洞(CVE-2017-10271)复现

    WebLogic XMLDecoder反序列化漏洞(CVE-2017-10271)                                                -----by  ba ...

  8. 常用Transformation算子

    map 产生的键值对是tupple,      split分隔出来的是数组 一.常用Transformation算子 (map  .flatMap .filter .groupByKey .reduc ...

  9. Python高级语法总结

    1.Python面向对象 创建类 使用class语句来创建一个新类,class之后为类的名称并以冒号结尾,如下实例: class ClassName: '类的帮助信息' #类文档字符串 class_s ...

  10. Codeforces Round #417 (Div. 2)A B C E 模拟 枚举 二分 阶梯博弈

    A. Sagheer and Crossroads time limit per test 1 second memory limit per test 256 megabytes input sta ...