一、SQL注入概念
  1、sql注入是一种将sql代码添加到输入参数中
  2、传递到sql服务器解析并执行的一种攻击手法
  举例:某个网站的用户名为name=‘admin’。执行时为select name from users where name=‘admin’
    则输入时输入name='' or '1=1'。实则数据库中执行的是select name from users where name='' or '1=1'则为真,用户名有效
二、SQL注入的产生
  1、web开发人员无法保证所有的输入都已经过滤
  2、攻击者利用发送给sql服务器的输入数据构造可执行的sql代码
  3、数据库未做相应的安全配置
  对于1和2两点,攻击者可以利用get请求、post请求、cookie信息、相应的http头信息等进行数据的输入而达到攻击的目的
三、寻找sql注入漏洞
  1、通过构造异常而引发异常,例如:只支持整型的地方输入特殊字符来引起sql异常
  2、通过get请求、post请求、cookie信息、相应的http头信息等查找敏感信息
  3、检测服务器中相应的异常
四、进行sql注入攻击
  1、数字注入。利用数据库中where判断语句中数字输入进行攻击。
    例如:select name from users where name='' or '1=1'。结果永远为true
  2、字符串注入。利用mysql的注释方法进行攻击
    a、#注释的方法。
      用户名的输入框中输入:admin'#,密码任意填写。
      在数据库中执行的是:select * from name='admin'#'and password=xxxxx'。#后面的全部注释掉,判断的时候只判断name=admin
    b、-- hdka方法,两个横杠+空格+任意字符。在执行的时候空格后面的所有被当作注释处理
      用户名的输入框中输入:admin'-- ,密码任意填写。
      在数据库中执行的是:select * from name='admin'-- 'and password=xxxxx'。#后面的全部注释掉,判断的时候只判断name=admin 
 

SQL注入简单介绍的更多相关文章

  1. day39——SQL语句简单介绍、库、表、记录、安装mysql简单命令

    day39 SQL语句简单介绍 库(增删改查) 查看数据库 show databases; 查看其中一个库 show create database db1; 创建数据库 create databas ...

  2. WEB安全:XSS漏洞与SQL注入漏洞介绍及解决方案(转)

    对web安全方面的知识非常薄弱,这篇文章把Xss跨站攻击和sql注入的相关知识整理了下,希望大家多多提意见. 对于防止sql注入发生,我只用过简单拼接字符串的注入及参数化查询,可以说没什么好经验,为避 ...

  3. WEB安全:XSS漏洞与SQL注入漏洞介绍及解决方案

    对web安全方面的知识非常薄弱,这篇文章把Xss跨站攻击和sql注入的相关知识整理了下,希望大家多多提意见. 对于防止sql注入发生,我只用过简单拼接字符串的注入及参数化查询,可以说没什么好经验,为避 ...

  4. 初学JDBC,防SQL注入简单示例

    在JDBC简单封装的基础上实现 public class UserDao{ public static void testGetUser(String userName) throws Excepti ...

  5. SQL注入详细介绍及如何防范SQL注入式攻击

    一. SQL注入攻击的简单示例. statement := "SELECT * FROM Users WHERE Value= " + a_variable + " 上面 ...

  6. SQL注入 (1) SQL注入类型介绍

    SQL注入 SQL注入介绍与分类 1. 什么是sql注入 通过把SQL命令插入到Web表单提交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的SQL命令. 2. sql注入类型 按照注入 ...

  7. 手工sql注入简单入门

    1.判断是否可以注入: 数字型: 1.1在参数后面加一个引号',如果页面报数字number错误,则一定不是sql注入点:如果报数据库比如mysql.oracle之类的错误,则是一个sql注入点. 1. ...

  8. PDO防止SQL注入具体介绍

    <span style="font-size:18px;"><?php $dbh = new PDO("mysql:host=localhost; db ...

  9. python-pymysql防止sql注入攻击介绍

    目录 pymysql sql 注入攻击 调用存储过程 pymysql pymysql 是一个第三方模块,帮我们封装了 建立表/用户认证/sql的执行/结果的获取 import pymysql # 步骤 ...

随机推荐

  1. 10个精选的颜色选择器Javascript脚本及其jQuery插件

     Color picker即颜色选择器使我们在web开发中可能经常用到的组件,今天我们特意精选了10个超酷的颜色选择器实现,其中包括了javascript脚本 实现及其传说中的jQuery插件实现 ...

  2. 介绍一种很棒的wince 如何替换系统声音的方法

    Topic:介绍一种很棒的wince 如何替换系统声音的方法(作者:Baiduluckyboy) //------------------------------------------------- ...

  3. 【ROM修改教程】添加高级电源重启菜单(安卓4.0.4官方ROM)

    准备工作: 电脑上安装好JDK.下载smali和baksmali.下载apktools.要修改的ROM.adb工具(可选) 注:由于本教程面向的对象为有一定ROM修改基础的兄弟,所以对于如何使用电脑, ...

  4. sieve的objective-c实现

    用obj-cl来实现前面的sieve代码貌似"丑"了不少,应该有更好的方式:比如不用Foundation或不用NSArray类,而改用其它更"底层"的类. 先把 ...

  5. The 1st tip of DB Query Analyzer

     The 1st tip of DB Query Analyzer               Ma Genfeng   (Guangdong Unitoll Services incorporate ...

  6. RocketMQ源码 — 六、 RocketMQ高可用(1)

    高可用究竟指的是什么?请参考:关于高可用的系统 RocketMQ做了以下的事情来保证系统的高可用 多master部署,防止单点故障 消息冗余(主从结构),防止消息丢失 故障恢复(本篇暂不讨论) 那么问 ...

  7. Space Golf~物理题目

    Description You surely have never heard of this new planet surface exploration scheme, as it is bein ...

  8. Sina微博爬取@pyspider

    这是一篇不应该写的文章,都写了,针对特定“方式”的爬虫也就没法爬了. 1.模拟登录的一些文章: 解析新浪微博的登录过程(2013-12-23): http://www.cnblogs.com/houk ...

  9. sql server数据字符串分割功能sql

    --分割字符串函数 create FUNCTION [dbo].[GetSplitStringValueInIndex] ( ), --要分割的字符串 ), --分隔符号 @index INT --取 ...

  10. Java多线程:线程间通信之volatile与sychronized

    由前文Java内存模型我们熟悉了Java的内存工作模式和线程间的交互规范,本篇从应用层面讲解Java线程间通信. Java为线程间通信提供了三个相关的关键字volatile, synchronized ...