一、注入的分类

按数据库分类:1.整形

2.字符型(需要考虑单引号闭合的问题,还有注释不必要的语句  #  )

eag:  id='admin'  id='admin and1=1'这样会报错  所以需要 id='admin' and '1'='1 ' 这样来进行闭合

                        注意:字符型适合弱类型语言 php asp ,不支持jsp  aspx

按注入点分类:1.GET

2.POTS

3.COOKIE

4.搜索形注入

按注入的显示方式:1.显错注入

2.盲注(主要是根据返回数据的快慢判断)

根据sql语句的不同:1.union 2.select 3.update

二、简单的access以ASCII的方式 注入

1.判断注入点

1) and 1=1 返回正常  and 1=2 返回错误 存在注入点

2) or 1=1 返回错误    or 1=2 返回正常   存在注入点

2.判断数据库的类型

and (select count(*)from msysobjects )>0  返回的如果是权限不够的话是access

and (select count(*)from sysobjects )>0 返回正常的话是sqlserver

F12审查元素  看network看中间件  根据中间件的黄金组合来大概判断

3.猜测表名

and (select count(*) from admin)>=0   返回正常则证明存在admin表 (是根据取admin所有列的数目,如果大于等于0的话证明有admin这个表,大于0的话证明admin存在数据不是空表)

3.猜测列数(字段数)

and (select count(*) from adnmin)>1   通过不断变化数字1,2,3,4,5...来判断列数

3.猜测列名(字段名)

and(select couunt(username) from admin)>=0  返回正常则证明 存在username列

4.获取数据位数     * mid函数用于从文本字段中提取字符 mid(字段名,取第几位,取几个字符) top2  表示的是前两行,不是第二行

,1))from admin)>0 通过不断改变数字1,2,3,4...  原理: 一直变换数字知道取不出字符时,ascii就不会在大于0

5.获取数据

and (select top 1 ascii(mid(username,,1))from admin)>20  通过1来控制位数  通过变换20来控制ascii对应的具体的值 最终得出ASCII在转化为明文

三 、access快速获取数据

1. order by2222222222222

sql注入基础(原理)的更多相关文章

  1. Sql注入基础原理介绍

    说明:文章所有内容均截选自实验楼教程[Sql注入基础原理介绍]~ 实验原理 Sql 注入攻击是通过将恶意的 Sql 查询或添加语句插入到应用的输入参数中,再在后台 Sql 服务器上解析执行进行的攻击, ...

  2. SQL注入基础原理

    Web安全: 三层架构(3-tier architecture) 通常意义上就是将整个业务应用划分为: 界面层(User Interface layer) 业务逻辑层(Business Logic L ...

  3. sql注入--基础

    什么是sql注入: 利用SQL语句 在外部 对数据库进行 查询,更新等 动作 sql注入的原理: 输入值可控且带入数据库执行(前提) 接受的变量传值未进行过滤(实质) sql注入的目的: 获取数据(网 ...

  4. SQL注入的原理以及危害

    SQL注入,就是通过把SQL命令插入到Web表单递交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的SQL命令,比如先前的很多影视网站泄露VIP会员密码大多就是通过WEB表单递交查询字符 ...

  5. 【渗透课程】第五篇-SQL注入的原理

    哈哈哈,讲到注入了.我想给大家讲注入的原理.这个我们前面的前言篇就说过,所谓的SQL注入就是,绕过数据库验证机制直接执行SQL语句.怎么说呢,我们先讲一个概念吧! 网站和网页的区别 单纯的网页是静态的 ...

  6. 初级安全入门——SQL注入的原理与利用

    工具简介 SQLMAP: 一个开放源码的渗透测试工具,它可以自动探测和利用SQL注入漏洞来接管数据库服务器.它配备了一个强大的探测引擎,为最终渗透测试人员提供很多强大的功能,可以拖库,可以访问底层的文 ...

  7. 通过sqli-labs学习sql注入——基础挑战之less1-3

    首先,先看一些基础知识吧!!!!本人只是初学者,记录一下自己的学习过程,有什么错误之处请指出,谢谢!大佬请绕过!!!! url编码:一般的url编码其实就是那个字符的ASCII值得十六进制,再在前面加 ...

  8. 通过sqli-labs学习sql注入——基础挑战之less1

    环境准备: Phpstudy  (PHP+Apache+Mysql) Sql-lab 首先了解下基础知识: URL编码: 因为在浏览器中,当我们访问一个网址的时候,浏览器会自动将用户输入的网址进行UR ...

  9. Sqli-labs之sql注入基础知识

    (1)注入的分类 基于从服务器接收到的响应  ▲基于错误的SQL注入 ▲联合查询的类型 ▲堆查询注射 ▲SQL盲注 •基于布尔SQL盲注 •基于时间的SQL盲注 •基于报错的SQL盲注 基于如何处理输 ...

随机推荐

  1. Leetcode 74 and 240. Search a 2D matrix I and II

    Write an efficient algorithm that searches for a value in an m x n matrix. This matrix has the follo ...

  2. PHP常见方法

    1.获取字符串长度: preg_match_all('/./us', $only, $match); echo count($match[0]); 2.Php除法取整 2.1.round — 对浮点数 ...

  3. Android - 封装Fragment不依赖于Activity

    封装Fragment不依赖于Activity 本文地址:http://blog.csdn.net/caroline_wendy Fragment直接托管activity的intent会破坏Fragme ...

  4. PHP性能优化学习笔记--PHP周边性能优化--来自慕课网Pangee http://www.imooc.com/learn/205

    PHP一般运行于Linux服务器中,周边主要包括:Linux运行环境.文件存储.数据库.缓存.网络 常见PHP场景的开销次序: 读写内存<<读写数据库(使用内存作为缓存.异步处理)< ...

  5. [内存管理]管理图解v0.1 v0.2 v0.3

    内存管理图解v0.1 内存管理图解v0.2 内存管理图解v0.3 

  6. LeetCode & Q169-Majority Element-Easy

    Array Divide and Conquer Bit Manipulation Description: Given an array of size n, find the majority e ...

  7. Centos系统压力测试 ab 命令安装与使用

    Apache安装包中自带的压力测试工具 Apache Benchmark(简称ab) 简单易用,这里就采用 ab作为压力测试工具了. 1.独立安装 ab运行需要依赖apr-util包,安装命令为: y ...

  8. Java堆外内存之二:堆外内存使用总结

    目录: <堆外内存操作类ByteBuffer> <DirectBuffer> <Unsafe(java可直接操作内存(),挂起与恢复,CAS操作)> 有时候对内存进 ...

  9. 一种基于Redis的10行代码实现IP频率控制方法

    优点:可支持海量访问的频率控制,只需要增加Redis机器,单个Redis节点(只占用一个cpu core)即可支持10万/s以上的处理. 基于IP频率限制是种常见需求,基于Redis可以十分简单实现对 ...

  10. 解题:ZJOI 2013 K大数查询

    题面 树套树,权值线段树套序列线段树,每次在在权值线段树上的每棵子树上做区间加,查询的时候左右子树二分 本来想两个都动态开点的,这样能体现树套树在线的优越性.但是常数太大惹,所以外层直接固定建树了QA ...