数据库基本操作
1、连接数据库
    mysql -u root -p
    mysql -H 192.168.***.*** -P 3306 -u root -p root
        #远程登录数据库(需设置相关权限)
2、设置权限
    grant all privileges on *.* to 'root'@'localhost'
    identified by 'root' with grant option;
        #all privileges  所有权限,可替换为select 或 update
        #*.* 数据库名.表名 
        #'root'@'localhost' 前边表示用户名,@后边表示连接限制的主机,可以是IP、IP端、域名、%(任何地方)
        #identified by 指定用户的登录密码
        #with grant option 可以将权限授权给其他

3、设置密码
    mysql -u root -P
    use mysql
    update user set Password=PASSWORD('root') where User='root'
    flush privileges
    #或退出数据库后重启mysql   service mysql restart
4、设置权限
    GRANT ALL PRIVILEGES ON *.* TO 'root' IDENTIFIED BY '123456' WITH GRANT OPTION;
    flush privileges
    #修改MySQL配置,允许远程访问
    #   vim /etc/mysql/mariadb.conf.d/50-server.conf
    #将bind-address=127.0.0.1 改为 bind-address=0.0.0.0
    #重启系统

5、数据库命令
    a.show databases;   #查询所有数据库
        show databases like '匹配模式;
            _:匹配当前位置单个字符
            %:匹配指定位置多个字符
            #获取以my开头的全部数据库: 'my%';
    b. use database_name ;   #选择数据库
    c. create database database_name ;  #创建数据库
       create datebase if not exists database_name DEFAULT SHCRSET utf8 COLLATE utf8_general_ci
       #创建判断数据库是否存在,字符集为utf8,默认排序
    d.show create database database_name \G ;    #查看数据库定义
    e.drop database database_name ;   #删除数据库
    f.
6、数据库列属性
    a.null 属性
    b.default 默认值
    c.comment 列描述
    d.primary key(id,name)      #主键  为 id name 
    e.id int(5) unsigned not null auto_increment      #id 为无符号整型,长度为5,不为空,自动增长
    f.唯一键
7、数据表
    a.show create table table_name \G;   #查看数据表定义
    b.desc table_name;    #查看表定义的字段
    c.drop table table_name ;     #删除数据表
    d.select column_name1,column_name2 from table_name where column_name3='?' ;
        #查询表内符合column_name3的column_name2、column_name3的数据内容
    e.insert into table_name (field1,field2) values (value1 value2),(value1 value2) ;
        #插入数据到表
    f.delete from table_name where field='?' ;   #删除表中符合条件的数据内容
    g.update table_name set field1=new_value1 where field2='?'
        #修改表中符合条件的field1值为新值
        #where条件查询中添加逻辑运行  and/or
    h. order by 字段 /列名  ASC/DESC ;  
        #按升序/降序进行排序
        #order by 数字   SQL注入中用来判断数据有多少列
    g. and  or

8.查询函数语句
    a.select mid(field,1,3) from table_name ; 
        #从指定字段的第1行开始,提取3行数据     初始行为0
      select substr(field,3,4) from table_name ;  
        #从指定字段的第3行开始,提取34行数据
      select left(field,5) from table_name ; 
        #从指定字段的左侧开始提取5位数据

b.select * from table_name limit 2,4;
        #限制表输出, 输出从第二行开始的4行数据
    c.select * from table_name where field like "%a%" ; 
        #查询表内某列中含有...a... 的数据
    d.select * from table_name
      union
      select * from table_name ;
        #将两个表查询的结果并入一个表输出  (两个表内的数据量需要相同) 
    e.select concat (field1,field2,field3) from table_name;
        #连接查询表内符合条件的数据,并入新表按原列输出
      select concat_ws(0x7e,field1,field2) from table_name;
        #连接查询表内符合条件的数据,并入新表按原列输出,以~分隔
      select group_concat(field1,field2,field3) from table_name;
        #连接查询所有符合条件的数据,全部写入一行数据内
    f.select count(*) from table_name;
        #返回指定列的值的数目(有几列)
    g.select rand() from table_name;
        #按照原表列格式随机生成0-1的随机数

9.sql注入常用函数
    1.select schema_name from information_schema.schemata;
        #查询库内所有数据库名
    2.select table_name from information_schema.tables where table_schema=库名;
        #查询某一数据库内的所有表名
    3.select column_name from information_schema.columns where table_name=表名;
        #查询表某一表内所有的列名
    4.select 列名 from 库名.表名
        #查询某一库下某一表内的具体数据

5.万能密码:  'or '1' = '1     #or 原理应用

渗透之SQL注入-MYSQL常用语法相关推荐

  1. php mysql 注入一句话木马_渗透技术--SQL注入写一句话木马原理

    讲一下SQL注入中写一句话拿webshell的原理,主要使用的是 SELECT ... INTO OUTFILE 这个语句,下面是一个语句的例子: SELECT * INTO OUTFILE 'C:\ ...

  2. 渗透学习-SQL注入篇-基础知识的学习(持续更新中)

    提示:仅供进行学习使用,请勿做出非法的行为.如若由任何违法行为,将依据法律法规进行严惩!!! 文章目录 前言 一.SQL注入产生的原因 二.手工注入大致过程 1.判断注入点: 2.猜解列名 3.猜解能 ...

  3. 渗透测试之SQL注入基础

    渗透测试之SQL注入基础 SQL注入类型 按照数据类型类型来分类 按照执行效果来分类(页面回显效果) 按照数据提交的方式来分类 判断注入类型的方法 MySQL注入基础 联合查询注入 布尔注入 时间盲注 ...

  4. Mysql常用语法总结

    Mysql常用语法总结如下: #连接mysql数据库(Dos下面) mysql -u root -p 123 #创建数据库 create database myschool; #创建表 drop ta ...

  5. MYSQL常用语法命令,MySQL中delete,drop和alter分别是用来删除什么的?有什么区别?删除了以后可以恢复吗?

    1.Alter.Delete.Drop相关语法 a.Alter 删除,添加或重新定义列 删除列:alter table tablename drop columnname 增加列:alter tabl ...

  6. mysql sql注入很常用_常见sql注入的类型

    这里只讲解sql注入漏洞的基本类型,代码分析将放在另外一篇帖子讲解 目录 最基础的注入-union注入攻击 Boolean注入攻击-布尔盲注 报错注入攻击 时间注入攻击-时间盲注 堆叠查询注入攻击 二 ...

  7. sql注入 mysql 猜数据库名字_web渗透-SQL注入数据库信息盗取

    sql注入原理 脚本代码接收来自前端数据未进行过滤,导致恶意sql语句插入到数据库中查询执行. 如下代码: $id = $_GET['id']; $sql = "select * from ...

  8. 渗透知识-SQL注入

    据不完全统计,国内网站ASP+Access或SQLServer占70%以上,PHP+MySQL占20%. 一般asp+access组合比较多,aspx+mssql(SQL Server)组合比较多 一 ...

  9. sql注入空格被过滤_网站渗透:SQL注入与WAF绕过思路分享

    一.前言 这个注入是之前做测试时发现的,但是测试的时候发现有防护,但是想想这么个小网站都绕不过,实在不应该啊.开始补充学习各种场景.各种waf绕过姿势,勉勉强强的成功执行我构造的SQL的语句.趁着还有 ...

  10. 渗透测试SQL注入——Sqlilabs关卡详解

    目录 报错函数floor的利用 利用select into outfile写一句话木马 利用load_file 读敏感文件 利用sqlmap探测 sql盲注 get基于时间的盲注应用 post基于时间 ...

最新文章

  1. java的classloader引用实例_通过实例Java ClassLoader原理
  2. Luogu P1002 过河卒(DP)
  3. 概率论 第三章 多维随机变量及其分布
  4. 对比俩个字符串的相似度
  5. vaadin_Vaadin提示:延迟加载和商品标识
  6. (精)【ACM刷题之路】POJ题目详细多角度分类及推荐题目
  7. 在Linux系统安装Nginx及配置https加密访问
  8. Redis BigKey
  9. Fiddler配置https
  10. FreeSwitch视频会议,4路以上CPU占用暴增的原因
  11. vim编辑器永久显示行号
  12. 360浏览器怎么设置主页
  13. 手机上最好用的五笔输入法_什么手机输入法最实用?目前最受欢迎的3款盘点,你正在用哪款呢...
  14. Java核心技术大会|Java应用开发专场
  15. HCIA-GaussDB 华为认证数据库工程师
  16. CTFshow——web入门——php特性(上篇)
  17. 【adb】cmd命令行输入adb时始终提示adb为非内部命令
  18. 8051单片机Proteus仿真与开发实例-光敏电阻+ADC0804仿真
  19. Android 返回键
  20. Stm32MP157-Linux(Ubuntu)——Ubuntu入门

热门文章

  1. linux top命令最详细解释
  2. 平凡的世界 田晓霞的日记 摘抄
  3. python 下载图片 写硬盘 慢_天啦噜!知道硬盘很慢,但没想到比 CPU Cache 慢 10000000 倍...
  4. Jquery 模板插件 jquery.tmpl.js 的使用方法(1):基本语法,绑定,each循环,ajax获取json数据...
  5. 初学C语言——三位数倒序
  6. JVM菜鸟进阶高手之路十(基础知识开场白)
  7. Spring第一讲:谈谈你对Spring的理解?从该问题着手深入解析Spring/Spring5新特性
  8. 搜狐公司副总裁 方刚 先生谈《胜于言传——网站内容制胜宝典》
  9. Windows UI 测试
  10. 统计红楼梦人物出场次数python_红楼梦人物出场次数统计及人物出场词云