一、函数

  1、version()  MYsql版本

  2、user()      数据库用户名

  3、database()   数据库名

  4、@@datadir  数据库路径

  5、@@version_compile_os   操作系统版本

  6、current_user()   当前用户名(可查看权限)

  7、load_file()        读文件

  8、into outfile() / into dumpfile   写文件

9、group_concat(str1,str2...)     连接一个组所有的字符串,并以逗号分隔每一条数据。

二、注释,可用#     --+   url 中用%23

三、union操作符

  用于合并两个或多个 SELECT 语句的结果集。请注意,UNION 内部的 SELECT 语句必须拥有相同数量的列。列也必须拥有相似的数据类型。同时,每条 SELECT 语句中的 列的顺序必须相同。

  SQL UNION 语法:

   SELECT column_name(s) FROM table_name1

  UNION

  SELECT column_name(s) FROM table_name2

  注释:默认地,UNION 操作符选取不同的值。如果允许重复的值,请使用 UNION ALL。

  SQL UNION ALL 语法

  SELECT column_name(s) FROM table_name1

  UNION ALL

  SELECT column_name(s) FROM table_name2

  另外,UNION 结果集中的列名总是等于 UNION 中第一个 SELECT 语句中的列名。

四、Mysql 有一个系统数据库 information_schema,

  存储着所有的数据库的相关信息,一般的, 我们利用该表可以进行一次完整的注入。以下为一般的流程。

  猜数据库

   select schema_name from information_schema.schemata

  猜某库的数据表

  select table_name from information_schema.tables where table_schema=’xxxxx’

   猜某表的所有列

   Select column_name from information_schema.columns where table_name=’xxxxx’

   获取某列的内容

  Select *** from ****

  

  上述知识参考用例:less1-less4

五、注释

  1、单行注释,#后面直接加内容 ;单行注释,--后面必须要加空格 ;

  2、多行注释,/**/中间可以跨行;

3、内联注入, 内联注释是MySQL数据库为了保持与其他数据库兼容,特意新添加的功能。

          为了避免从MySQL中导出的SQL语句不能被其他数据库使用,它把一些 MySQL特有的语句放在 /*! ... */ 中,

          这些语句在不兼容的数据库中使用时便 不会执行。而MySQL自身却能识别、执行。

六、order by 语句

  1. ORDER BY 语句用于 根据指定的列对结果集进行排序。

  2. ORDER BY 语句默认 按照升序对记录进行排序。

七、字符串连接函数

  1、concat(str1,str2..)函数 直接连接

  2、group_concat(str1,str2..)函数 使用逗号做为分隔符

  3、concat_ws(sep,str1,str2..)函数 使用第一个参数做为分隔符

八、information_schema

例:

  select schema_name from information_schema.schemata;

  select table_name from information_schema.schemata where table_schema = ‘zzcms’;

  select column_name from information_schema.columns where table_schema = ‘zzcms’ and ‘table_name’ = ‘zzcms_zx’;

九、SQL注入的分类

十、基于联合查询的注入模式,步骤

十一、判断是否存在注入与求闭合字符

  1、id = 1’ 异常

    id = 1 and 1 =1 -- + 正确

    id = 1 and 1=2 -- + 错误

    结论:极有可能存在数字型SQL注入

    ps:单引号有个特殊的作用:命令分隔符

  2、id  = 1’   异常

      id = 1’ and  1 =1 -- +  正确

        id = 1’ and 1=2 -- +     错误

     结论:极有可能存在单引号字符型SQL注入

  3、id  = 1"   异常

    id = 1” and  1 =1 -- +  正确

id = 1” and 1=2 -- +     错误

      结论:极有可能存在双引号字符型SQL注入

  4、id  = 1)  异常

        id = 1) and  1 =1 -- +  正确

   id = 1) and 1=2 -- +     错误

        结论:极有可能存在括号数字型SQL注入

sql注入1的更多相关文章

  1. 个人网站对xss跨站脚本攻击(重点是富文本编辑器情况)和sql注入攻击的防范

    昨天本博客受到了xss跨站脚本注入攻击,3分钟攻陷--其实攻击者进攻的手法很简单,没啥技术含量.只能感叹自己之前竟然完全没防范. 这是数据库里留下的一些记录.最后那人弄了一个无限循环弹出框的脚本,估计 ...

  2. Web安全相关(五):SQL注入(SQL Injection)

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

  3. 从c#角度看万能密码SQL注入漏洞

    以前学习渗透时,虽然也玩过万能密码SQL注入漏洞登陆网站后台,但仅仅会用,并不理解其原理. 今天学习c#数据库这一块,正好学到了这方面的知识,才明白原来是怎么回事. 众所周知的万能密码SQL注入漏洞, ...

  4. 浅谈SQL注入风险 - 一个Login拿下Server

    前两天,带着学生们学习了简单的ASP.NET MVC,通过ADO.NET方式连接数据库,实现增删改查. 可能有一部分学生提前预习过,在我写登录SQL的时候,他们鄙视我说:“老师你这SQL有注入,随便都 ...

  5. 揭开SQL注入的神秘面纱PPT分享

        SQL注入是一个老生常谈但又经常会出现的问题.该课程是我在公司内部培训的课程,现在分享出来,希望对大家有帮助.     点击这里下载.

  6. 深入理解SQL注入绕过WAF和过滤机制

    知己知彼,百战不殆 --孙子兵法 [目录] 0x0 前言 0x1 WAF的常见特征 0x2 绕过WAF的方法 0x3 SQLi Filter的实现及Evasion 0x4 延伸及测试向量示例 0x5 ...

  7. jdbc java数据库连接 8)防止sql注入

    回顾下之前jdbc的开发步骤: 1:建项目,引入数据库驱动包 2:加载驱动 Class.forName(..); 3:获取连接对象 4:创建执行sql语句的stmt对象;  写sql 5:执行sql ...

  8. Entity Framework关于SQL注入安全问题

    1.EF生成的sql语句,用 parameter 进行传值,所以不会有sql注入问题 2.EF下有涉及外部输入参数传值的,禁止使用EF直接执行sql命令方式,使用实体 SQL   参考: https: ...

  9. 关于SQL注入和如何防止

    之前在笔试的时候没有很好的答出这个问题,因此我要总结一下问题,以免日后继续在这个地方跌倒,以下是自己的理解,如有错误请指出 一.什么是SQL注入 SQL注入就是服务器在根据业务去处理数据库的时候,客户 ...

  10. Java防止SQL注入2(通过filter过滤器功能进行拦截)

    首先说明一点,这个过滤器拦截其实是不靠谱的,比如说我的一篇文章是介绍sql注入的,或者评论的内容是有关sql的,那会过滤掉:且如果每个页面都经过这个过滤器,那么效率也是非常低的. 如果是要SQL注入拦 ...

随机推荐

  1. 《c++ concurrency in action》读书笔记2--线程管理

    一.线程的启动 1. 每个c++程序至少有一个线程,是由C++ runtime启动的 2. 在c++11中,通过一个std::thread 对象启动线程.可以向std::thread传递一个函数,或者 ...

  2. hbase之认识

    进入HBase客户端命令操作界面    $ bin/hbase shell 查看帮助命令        hbase(main):001:0> help 查看当前数据库中有哪些表        h ...

  3. WARING

    每一道题都先手玩样例! 认真读一下每一档数据,仔细计算每一档可以拿的分数! 读完题目后,把所有能想到的思路写在纸上. 最优化题目考虑dp和贪心两种方法 字符串题目前缀考虑trie树,后缀考虑fail树 ...

  4. mysql Access denied for user root @localhost (using password:YES)错误

    C:\AppServ\MySQL> mysql -u root -p Enter password:  ERROR 1045 (28000): Access denied for user 'r ...

  5. Element-ui上传文件(删除、添加、预览)

    先看下效果是不是你所需要的.... 上传文件进度条后续会加上的.... 功能需求:默认为上传状态 1.未上传:点击可上传文件 2.已上传:点击可上传文件 (1).鼠标移入[删除] (2).鼠标点击[预 ...

  6. 2018 ACM-ICPC青岛现场赛 B题 Kawa Exam 题解 ZOJ 4059

    题意:BaoBao正在进行在线考试(都是选择题),每个题都有唯一的一个正确答案,但是考试系统有m个bug(就是有m个限制),每个bug表示为第u个问题和第v个问题你必须选择相同的选项,题目问你,如果你 ...

  7. 浅谈C中操作字符串函数的用法(一)

    按照内核string.h中函数的顺序进行大概的介绍,若干函数会给出一个简单的例子.有不足之处还希望各位看到的留言告知. 一.memcpy: 函数原型:extern void * memcpy(void ...

  8. unity中编辑器直接截屏代码

    using UnityEngine; using System.Collections; using System.Windows.Forms; public class screenshots : ...

  9. ES(Elasticsearch)

    基本概念 Elasticsearch是一个实时分布式搜索和分析引擎 支持: 全文搜索 结构化搜索 分析 可以这样进行描述: 分布式的实时文件存储,每个字段都被索引并可被搜索 分布式的实时分析搜索引擎 ...

  10. 工作VUE布局记录

    以这个页面为例子   这个是你的布局有多少行,这个页面有两行,这里是2       这里span是占用多少格(一共24格)offset左右偏移,这个基本上用不到row是表示这个控件在第几行,如果是在第 ...