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 ...
随机推荐
- HDU4787_GRE Words Revenge
这个题目做得泪牛满面. 题目为给你若干串,有的表示添加一个串,有的表示询问一个串有多少个字串为前面出现过的串. 题目一看就知道肯定是AC自动机(不过后缀自动机也是可以的) 但是细想就会发现AC自动机好 ...
- 当使用listIterator进行迭代时候 list的迭代器可以在创建迭代器对象后 添加数据 但打印的时候不显示添加后的数据。 collection 的iterator迭代器不能添加数据 。list的对象与collection的实例对象都不能在创建迭代器后添加数据 list的迭代器保存的是循环前的数据长度
- Android 水波纹点击效果(Ripple Effect)
上周Android发布了Android M的Preview版本.但想必Android5.0很多炫酷效果,多数开发者还没有使用过,那更不要说广大用户了. 本文介绍的是Android5.0中其中一个炫酷的 ...
- 【Java并发编程】之三:线程挂起、恢复与终止的正确方法
挂起和恢复线程 Thread 的API中包含两个被淘汰的方法,它们用于临时挂起和重启某个线程,这些方法已经被淘汰,因为它们是不安全的,不稳定的.如果在不合适的时候挂起线程(比如,锁定共享资源时), ...
- Tomcat+JDK安装和配置
Tomcat+JDK安装和配置 一.打开FlashFXP软件,建立连接,选择需要的包,右击传输到 /home/guest中 二.进入到:cd /home/guest中,对tomcat包进行解压 三.将 ...
- 二维RMQ模板
int main(){ ; i <= n; i++) ; j <= m; j++) { scanf("%d", &val[i][j]); dp[i][j][][ ...
- web框架引入
1. web请求的本质就是一个socket. 2.http:一次请求,一次响应,断开链接.如下程序:必须先运行服务器端,然后客户端才能去连接.所有web框架的本质就是如下: import socket ...
- vim在行首和 行尾加
在每行开始加入“<a href=” vim 命令: :%s/^/<a href=/g 在每行尾加入 “</a>” vim命令 : ...
- codeforces 691F 暴力
传送门:https://codeforces.com/contest/691/problem/F 题意:给你n个数和q次询问,每次询问问你有多少对ai,aj满足ai*aj>=q[i],注意 a* ...
- 手脱EZIP v1.0
一.单步 1.载入PEID查壳 EZIP v1.0 2.载入OD,一上来就是一个大跳转,F8单步一直走 0040D0BE > $ /E9 jmp Notepad.004102DC ; //入口点 ...