webgote的例子(2)Sql注入(SearchGET)
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)的更多相关文章
- SQL注入(二)
5.限制输入长度 如果在Web页面上使用文本框收集用户输入的数据,使用文本框的MaxLength属性来限制用户输入过长的字符也是一个很好的方法,因为用户的输入不够长,也就减少了贴入大量脚本的可能性.程 ...
- sql注入原理详解(一)
我们围绕以下几个方面来看这个问题: 1.什么是sql注入? 2.为什么要sql注入? 3.怎样sql注入? 1.什么是sql注入? 所谓SQL注入,就是通过把SQL命令插入到Web表单递交或输入域名或 ...
- 预防SQL注入笔记
SQL注入如何预防? 本文参考自owasp,重点是提供清晰,简单,可操作的指导,以防止应用程序中的SQL注入漏洞.不幸的是,SQL注入攻击很常见,这是由于两个因素: SQL注入漏洞的显着流行 目标的吸 ...
- 讲sql注入原理的 这篇不错(有空可以看看)
我们围绕以下几个方面来看这个问题: 1.什么是sql注入? 2.为什么要sql注入? 3.怎样sql注入? 1.什么是sql注入? 所谓SQL注入,就是通过把SQL命令插入到Web表单递交或输入域名或 ...
- webgote的例子(3)Sql注入(SearchPOST)
Sql注入(Search/POST) (本章内容):post的方式进行注入 今天来讲一下sql注入的另一个例子(post) 上一个用的是get请求的方法将我们的参数传到服务器进行执行 上图中的标红是需 ...
- webgote的例子(4)Sql注入(SelectGET)
SQL Injection (Select/GET) 本章内容 (查询显示中要注意的错误) 这里面我们看一下 movie的数值,选择表单中的当我们选择的二个的时候 move的值也变成了第二个,选择表单 ...
- webgote的例子 数据库与sql注入的相关联系(1)
大家好我是时光凉春衫薄 之前将讲的sql注入有点随便了我同事也觉得有些地方看不懂,往后的几天我尽量写的细一点.尽可能让大家能看懂.(新手出道大佬多多指教.欢迎评论批评.) 数据库与sql注入的相关联系 ...
- sql 注入例子及防止
一.什么是sql注入? 所谓SQL注入,就是通过把SQL命令插入到Web表单提交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的SQL命令 二.sql例子 1.数字注入 假设在项目中,在 ...
- C#语言Winform防SQl注入做用户登录的例子
using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using Sy ...
随机推荐
- 【操作系统、UNIX环境编程】进程间通信
多个进程可以共享系统中的各种资源,但其中许多资源一次只能为一个进程使用,我们把一次仅允许一个进程使用的资源称为临界资源,许多物理设备都属于临界资源,如打印机等. Linux下进程间通信有如下几种方式: ...
- ie浏览器升级的正确姿势
一.版本说明 1.当前IE浏览器分为一下几个版本:IE 6,IE 7,IE 8,IE 9,IE 10,IE 11 2.windows最高支持IE版本win xp:IE 8win 7 :IE 11win ...
- 洛谷P2894[USACO08FEB]酒店Hotel(线段树)
问题描述 奶牛们最近的旅游计划,是到苏必利尔湖畔,享受那里的湖光山色,以及明媚的阳光.作为整个旅游的策划者和负责人,贝茜选择在湖边的一家著名的旅馆住宿.这个巨大的旅馆一共有N (1 <= N & ...
- BZOJ4976 宝石镶嵌(动态规划)
显然被留下的宝石应该贡献至少一位,否则就可以扔掉.所以如果n-k>=logw,直接输出所有数的or.现在n变得和k同阶了.于是设f[i][j]为前i个数or为j时至少选几个数,转移显然.当然可以 ...
- BZOJ4921 互质序列
即求删掉一个子序列的gcd之和.注意到前后缀gcd的变化次数都是log级的,于是暴力枚举前缀gcd和后缀gcd即可. #include<iostream> #include<cstd ...
- Period II FZU - 1901(拓展kmp)
拓展kmp板题 emm...我比较懒 最后一个字母进了vector两个1 不想改了...就加了个去重... 哈哈 #include <iostream> #include <cst ...
- hbase 基本的JavaApi 数据操作及数据过滤(filter)
本文主要是hbase的表操作.数据操作.数据查询过滤等,如果对JDBC或ADO有了解,容易理解HBASE API. hbase版本是2.0. 1.为了方便先贴helper的部分代码(文末git上有完整 ...
- 使图片水平并垂直居中的一个Hack
淘宝的一个前端面试题:使用纯CSS实现未知尺寸的图片(但高宽都小于200px)在200px的正方形容器中水平和垂直居中. 想起了vertical-align:middle;但是不行,后来才知道还要di ...
- eclipse中配置jbpm3.2插件
1.什么是jbpm?为什么要使用jbpm呢? 通俗一点讲,jbpm是一个负责管理工作流的一个产品,那么什么是工作流呢,所谓的工作流就是在办公自动化系统中,提交申请,申请经过多个部门领导审批,完成该流程 ...
- protobuf手册
1. c++快速上手 https://developers.google.com/protocol-buffers/docs/cpptutorial 2. c++使用手册 https://develo ...