精华内容
下载资源
问答
  • web安全攻防实战

    2021-09-02 11:33:27
    WEB安全渗透工具docker容器安装三级目录 渗透工具 1.burpsuite 2.curl 3.postman 4.wappalyzer 5.hackbar docker容器安装 [docker下载地址(https://www.docker.com/products/docker-desktop) 三级目录

    渗透工具

    1.burpsuite
    2.curl
    3.postman
    4.wappalyzer
    5.hackbar

    docker容器安装

    docker下载地址

    因为可能是win10 安装好docker desktop 运行后会报错然后闪退,经过查询很多资料,将win10 升级成wl2 安装了Windows下的Linux分发版,即可正常运行docker
    在win10 上安装wsl和下载Linux内核

    BWAPP容器安装成功

    文件上传漏洞

    上传一句话木马
    打开中国菜刀

    在这里插入图片描述

    文件上传绕过




    为什么php3可以但是php30 不行,我们去看Apache配置文件

    docker container list -a
    docker exec -it 1de0abcbea4e bash
    cd /etc/apache2
    vim apache2.conf
    cd mods-enabled/
    vim php5.conf
    


    IIS 5.X到6.0漏洞

    第一种,在网站下建立文件夹的名字为 .asp、.asa 的文件夹,其目录内的任何扩展名的文件都被IIS当作asp文件来解析并执行。

    例如创建目录 wooyun.asp,那么/wooyun.asp/1.jpg将被当作asp文件来执行。假设黑阔可以控制上传文件夹路径,就可以不管你上传后你的图片改不改名都能拿shell了。

    第二种,在IIS6.0下,分号后面的不被解析,也就是说wooyun.asp;.jpg
    会被服务器看成是wooyun.asp

    Nginx-解析漏洞

    由于Nginx.conf的如下配置导致nginx把以’.php’结尾的文件交给fastcgi处理,为此可以构造http://liuwx.cn/test.png/.php (url结尾不一定是‘.php’,任何服务器端不存在的php文件均可,比如’a.php’),其中test.png是我们上传的包含PHP代码的照片文件。

    Apache解析漏洞

    Apache 是从右到左开始判断解析,如果为不可识别解析,就再往左判断.
    比如 wooyun.php.owf.rar “.owf”和”.rar”?这两种后缀是apache不可识别解析,apache就会把wooyun.php.owf.rar解析成php.
    如何判断是不是合法的后缀就是这个漏洞的利用关键,测试时可以尝试上传一个wooyun.php.rara.jpg.png…(把你知道的常见后缀都写上…)去测试是否是合法后缀

    前端验证绕过

    很多网站、CMS 都有使用,只在前端利用 JavaScript 来做校验。
    漏洞利用流程(两种方法都可以):

    1. 通过Burp Suite抓包,然后修改内容后放行。
    2. 通过Chrome禁止/删除JavaScript代码。

    .htaccess绕过

    什么是.htaccess?

    .htaccess文件(分布式配置文件)提供了一种方式,使得配置文件可以随文件夹不同而不同,其所放置的文件夹及所有子文件夹都会受此影响,其语法同apache主配置文件。
    如何利用.htaccess?
    场景:启用了.htaccess文件的网站,使用此文件类型来绕过限制较全面的黑名单过滤

    1. 上传一个.htaccess文件,文件内容设置为【AddType application/x-httpd-php .test】。
    2. 上传一句话木马文件,文件名设置为shell.test。
    3. 在浏览器中访问shell.test即可执行一句话木马。

    大小写绕过

    这是一种比较简单的绕过方式,同样针对黑名单。
    如果我们想上传一个php木马,那么我们可以上传一个pHp即可。

    Windows 文件流特性绕过

    什么是Windows文件流?
    NTFS文件系统实现了多文件流特性,NTFS环境一个文件默认使用的是未命名的文件流,同时可创建其他命名
    的文件流,Windows资源管理器默认不显示出文件的命名文件流,这些命名的文件流在功能上和默认使用的
    未命名文件流一致,甚至可以用来启动程序。
    我们来用Windows平台做一些测试:

    1. Echo 111 > test.txt:111.txt;
    2. Echo test > test.txt;
    3. Echo 222 > test.txt::$data;

    %00截断绕过

    文件头检测绕过

    绕过类型总结

    1.Content-Type绕过
    2.前端绕过
    3.文件解析规则绕过
    4.Windows环境特性绕过
    5.大小写/双写/点空格/文件头/条件竞争绕过…

    Fuzz Testing

    模糊测试,使用burp就相当于密码爆破(个人理解)

    SQL注入

    是发生于应用程序与数据库层的安全漏洞。

    网站内部直接发送的SQL请求一般不会有危险,但实际情况是很多时候需要结合用户的输入数据动态构造SQL语句,如果用户输入的数据被构造成恶意SQL代码,Web应用又未对动态构造的SQL语句使用的参数进行审查,则会带来意想不到的危险。

    我们在提交网页内容时候,主要分为GET方法POST方法,GET方法提交的内容会显现
    在网页URL上,通过对URL连接进行构造,可以获得超出权限的信息内容。

    SQL Injection (GET/Search)

    1. 判断是否存在注入点

    2. 判断字段个数

    t' union select 1,2,3,4,5,6,7 -- '
    


    4. 查找用户名,数据库名字,版本号

    t' union select 1,user(),database(),4,version(),6,7 -- '
    


    5. 查看有哪些表

    t' union select 1,table_name,database(),4,version(),6,7 from information_schema.tables where table_schema=database() -- '
    


    6.查看表数据

    t'union select 1,column_name,database(),4,version(),6,7 from information_schema.columns where table.name='users' -- '
    


    7.查看表数据

    t'union select 1,login,password,4,version(),6,7 from users -- '
    

    SQL Injection (POST/Select)

    该bwapp靶场是通过docker安装在本地的 所以一般来讲burp抓不到本地包,也就是抓不到127.0.0.1 和localhost 这里不建议Google解决方法,本人尝试了Google上的几乎所有方法,花费了一下午的时间没有解决。在这里推荐一个浏览器插件给大家,能很好的解决burp抓本地包的问题。
    Proxy SwitchyOmega
    很好用的浏览器代理自动配置软件

    上面配置成burp相同的地址和端口。下面方框的不代理地址列表删除127.0.0.1和localhost

    在localhost下选择你自己设置的proxy即可。

    2.获取表名

    movie=11 union select 1,2,group_concat(user()),database(),5,6,7 from information_schema.tables where table_schema=database() -- ' &action=go
    


    其中 group_concat() 函数将组中的字符串连接成为具有各种选项的单个字符串。

    3.获取users的列名

    movie=11 union select user(),table_name,group_concat(column_name),database(),5,6,7 from information_schema.columns where table_name='users' -- ' &action=go
    


    4.获取数据

    movie=11 union select user(),2,group_concat(login),database(),group_concat(password),6,7 from users --  ' &action=go
    

    判断SQL注入点

    1.经典的单引号判断法
    http://xxx/test.php?id=1’

    如果页面返回错误,则存在 SQL 注入。
    原因是无论字符型还是整型都会因为单引号个数不匹配而报错。

    2.判断注入类型
    通常SQL注入分为两种:数字型 + 字符型

    数字型:
    通常语句类型为 select * from <表名> where id = x
    我们通常构造and 1=1以及and 1=2来判断

    字符型:
    通常语句类型为select * from <表名> where id = ‘x’
    我们通常构造and ‘1’='1以及and ‘1’='2来判断

    SQL注入的类型

    1. Boolean-based blind SQL injection(布尔型注入)

    http://test.com/view?id=1 and substring(version(),1,1)=5

    如果服务端MySQL版本是5.X的话,那么页面返回的内容就会跟
    正常请求一样。

    3. UNION query SQL injection(可联合查询注入)
    http://test.com/view?id=1 UNION ALL SELECT SCHEMA_NAME
    FROM INFORMATION_SCHEMA.SCHEMATA

    最快捷的方法,通过UNION查询获取到所有想要的数据,前提是请求
    返回后能输出SQL执行后查询到的所有内容。

    5. Time-based blind SQL injection(基于时间延迟注入)
    select * from user where id= ‘4’ and sleep(3)

    页面不会返回错误信息,不会输出UNION注入所查出来的泄露的信息。
    类似搜索这类请求,boolean注入也无能为力,因为搜索返回空也属
    于正常的,这时就得采用time-based的注入了,即判断请求响应的时
    间,但该类型注入获取信息的速度比较慢,请求次数比较多,纯手工
    非常复杂。

    6. Error-based SQL injection(报错型注入)

    如果页面能够输出SQL报错信息,则可以从报错信息中获得想要的信
    息。
    典型的就是利用group by的duplicate entry错误。

    7. Stacked queries SQL injection(可多语句查询注入)

    http://test.com/view?id=1;update t set name = ‘a‘ where id=1

    能够执行多条查询语句,非常危险,因为这意味着能够对数据库直接
    做更新操作。

    时间盲注

    通过注入特定语句,根据对页面请求的物理反馈,来判断是否
    注入成功,如: 在SQL语句中使用sleep() 函数看加载网页的
    时间来判断注入点。

    适用场景:通常是无法从显示页面上获取执行结果,甚至连注
    入语句是否执行都无从得知。

    select * from user where id= ‘ ?’

    ? 用户输入,替代为 4’ and sleep(3) – ‘

    实际上执行的SQL语句:
    select * from user where id= ‘4’ and sleep(3) – ‘’

    当id=4存在时,休眠3秒 当id=4不存在时,直接返回
    整条拼接出来的SQL是正确的就执行最后的sleep,前面错误(不存在),sleep(3)不执行。

    时间盲注常用函数
    substr(a,b,c):从b位置开始,截取字符串a的c长度
    count():计算总数
    ascii():返回字符的ASCII码
    length():返回字符串的长度
    left(a,b):从左往右截取字符串a的前b个字符
    sleep(n):将程序挂起n秒

    示例:

    HTTP头注入

    针对HTTP的请求头,如果不加以过滤或者转义,在直接与数据库交
    互的过程中容易被利用进行SQL注入攻击,即HTTP头注入。

    常见场景:

    访问Web Server时,Web Server会从HTTP Header中取出浏览器信
    息、IP地址、HOST信息等存储到数据库中。

    SQL Injection - Stored (User-Agent)

    111 ' , (select table_name from information_schema.tables where table_schema='bWAPP' limit 0,1)); #
    

    报错注入(Error based Injection)

    一种 SQL 注入的类型,用于使 SQL 语句报错的语法,用于注入结果无回显
    但错误信息有输出的情况。
    返回的错误信息即是攻击者需要的信息。

    MySQL 的报错注入主要是利用 MySQL 的一些逻辑漏洞,如 BigInt 大数
    溢出等,由此可以将 MySQL 报错注入主要分为以下几类:

    1. BigInt 等数据类型溢出;
    2. Xpath 语法错误;
    3. count() + rand() + group_by() 导致重复;
    4. 空间数据类型函数错误。

    很多函数会导致 MySQL 报错并显示出数据:

    1. floor 函数;
    2. extractvalue 函数;(最多32字符)
    3. updatexml 函数;
    4. exp() 函数;

    堆叠注入

    一堆 SQL 语句(多条)一起执行。

    在 MySQL 中, 主要是命令行中, 每一条语句结尾加; 表示语句结束。这样我们
    就想到了是不是可以多句一起使用。

    这个叫做 stacked injection。

    我们就可以使用堆叠注入,对admin账户的password进行更新。

    http://127.0.0.1:81/vulnerabilities/sqli/?id=1'; update users set
    password=e10adc3949ba59abbe56e057f20f883e' where user_id=1; -
    - &Submit=Submit#
    

    成功登录之后再进行复原。

    混淆及绕过


    普通的注入方式过于明显,很容易被检测。
    因此,需要改变攻击的手法,绕过检测和过滤,即混淆和绕过
    具体操作针对于服务端和 WAF 的防御机制有多种手段。

    展开全文
  • web安全攻防实战技巧

    千次阅读 2017-01-20 11:16:56
    一般提到web安全攻防技术,首先想到的就是xss攻击和sql注入,今天就给大家先简单说说这两种。 什么是XSS XSS指攻击者在网页中嵌入客户端脚本(例如JavaScript), 用户浏览网页就会触发恶意脚本执行。 比如获取用户...

    根据权威机构调研,目前安全问题80%都发生在WEB安全层面上,但是往往企业中只有20%的防护成本运用到web安全上。一般提到web安全攻防技术,首先想到的就是xss攻击和sql注入,今天就给大家先简单说说这两种。

    什么是XSS

    XSS指攻击者在网页中嵌入客户端脚本(例如JavaScript), 用户浏览网页就会触发恶意脚本执行。 比如获取用户的Cookie,导航到恶意网站,携带木马等。如何把恶意代码嵌入到用户要访问的网页中,攻击者挖空心思各出奇招了。一般会有这两类方式:

    · Reflected (non-persistent)

    反射攻击,就是恶意代码藏在本地,表现方式可能是一个恶意链接,你点击后给server GET/POST这个request,server如果没有恰当的处理这个请求,恶意代码返回给用户浏览器并执行。举个例子就比较明白了。来自Web安全攻防学习宝典

    有这么个网页,查询的结果和查询的关键字都会显示到网页上。

    <html>
          <title></title>
              <body>
                  Results  for  <%Reequest.QueryString("term")%>
                  ……
              </body>
    </html>

    Tom 先建立一个网站http://badguy.com, 用来接收"偷"来的信息。然后Tom 构造一个恶意的url(如下), 通过某种方式(邮件,QQ)发给Monica

    http://victim.com/search.asp?term=<script>window.open("http://badguy.com?cookie="+document.cookie)</script>window.open("http://badguy.com?cookie="+document.cookie)

    Monica点击了这个URL, 嵌入在URL中的恶意Javascript代码就会在Monica的浏览器中执行. 那么Monica在victim.com网站的cookie, 就会被发送到badguy网站中。这样Monica在victim.com 的信息就被Tom盗了。

    XSS防治之道

    1.文本输入做中对js关键字做编码,让回给用户浏览器的js不可执行

    2.浏览器的同源策略,浏览器只允许访问cookie的IP+port必须同最初创建cookie的ip+port相同

    3.web app或者浏览器提供"禁用script"的选项

    什么是SQL 注入

    SQL注入攻击是黑客对数据库进行攻击的常用手段之一。相当大一部分程序员在编写代码的时候,没有对用户输入数据的合法性进行判断,使应用程序存在安全隐患。用户可以提交一段数据库查询代码,根据程序返回的结果,获得某些他想得知的数据,这就是所谓的SQL Injection,即SQL注入。

    某个网站的登录验证的SQL查询代码为:

    strSQL = "SELECT * FROM users WHERE (name = '" + userName + "') and (pw = '"+ passWord +"');"

    恶意填入

    userName = "1' OR '1'='1"; 与passWord = "1' OR '1'='1";

    将导致原本的SQL字符串被填为

    strSQL = "SELECT * FROM users WHERE (name = '1' OR '1'='1') and (pw = '1' OR '1'='1');"

    也就是实际上运行的SQL命令会变成下面这样的

    strSQL = "SELECT * FROM users;"

    因此达到无账号密码,亦可登录网站。所以SQL注入攻击被俗称为黑客的填空游戏。

    SQL injection 防治之道

    从安全技术手段上来说,可以通过数据库防火墙实现对SQL注入攻击的防范,因为SQL注入攻击往往是通过应用程序来进攻,可以使用虚拟补丁技术实现对注入攻击的SQL特征识别,实现实时攻击阻断。

    除了以上这两个常见的web安全攻防技巧以外,web攻击还有绕过漏洞、验证机制漏洞、会话管理漏洞、权限控制漏洞、xpath注入、csrf、逻辑漏洞、社会工程学攻击、自动化审计等等,是个非常庞大的知识体系,博为峰网校特别邀请了web安全技术大咖,推出了《web安全攻防学习宝典》(点击查看)精品课程,从web安全漏洞原理、攻击手段、测试方法、预防措施四个方面全面剖析WEB安全的点点滴滴,针对开发人员、测试人员、运维人员、网络工程师都能够起到一定的指导意义。

    《web安全攻防学习宝典》课程大纲

    第一章 安全测试基础
    介绍http协议基础、安全测试基本概念、安全漏洞分类等基础内容

    第二章 核心防御机制
    讲解在安全测试、安全防御中核心的三层防御机制

    第三章 解析应用程序
    安全测试、攻击的核心,讲解如何扫描应用程序、进行安全分析

    第四章 绕过客户端攻击
    绕过客户端攻击,是安全攻击的基础。本章主要介绍绕过的手段以及可以绕过的漏洞类型

    第五章 验证机制漏洞
    5.1 验证机制漏洞(一)
    介绍验证机制漏洞第一部分,关于登录模块的漏洞分析
    5.2验证机制漏洞(二)
    验证机制漏洞第二部分,专题讲解忘记密码的漏洞原理分析及互联网实例
    5.3验证机制漏洞(三)
    介绍其他验证机制相关漏洞,如详细的报错信息、多阶段登录漏洞等内容
    5.4验证机制漏洞(四)
    专题讲解互联网应用中关于登录模块漏洞的实例

    第六章 会话管理漏洞
    6.1 会话管理漏洞(上)
    介绍会话管理的概念已经会话令牌生成过程中可能产生的漏洞
    6.2 会话管理漏洞(下)
    介绍会话生命周期中的漏洞类型。并了解其原理、攻击方法、防御措施

    第七章 访问控制漏洞
    专题讲解权限管理方面可能存在的漏洞类型。

    第八章 SQL注入与XPATH注入
    SQL注入作为目前影响最大、最受重视的安全漏洞,本节课专题对sql注入的产生、危害、原理、盲注手段、攻击工具以及防御措施进行了详细的剖析。同时,简要介绍了xpath注入的相关内容

    第九章 XSS攻击
    XSS是目前发生次数最多的安全漏洞,本节课详细介绍xss的原理、分类、攻击载荷、攻击方式以及测试手段和防御措施

    第十章 CSRF攻击
    CSRF,又称one click attack,是危害最大的攻击之一。

    第十一章 逻辑漏洞与社会工程学
    逻辑漏洞也算安全漏洞?!我们来深入讲解一下。同时介绍了社会工程学的基本攻击方式和在web安全攻击中的使用。

    第十二章 自动化审计简述
    简单介绍了自动化审计工具的使用方式以及自动审计工具的优劣。

    课程目标

    本课程旨在弥补当前开发、测试、运维工程师对安全知识的认知不足,为更好的安全工作打下坚实的基础。

    适合人群

    开发人员、测试人员、运维人员、网络工程师以及对WEB安全感兴趣的IT工作人员

    展开全文
  • 安全等级调整为high 尝试直接上传shell.php:失败 尝试修改文件后缀shell.php3:失败 可以看出是基于白名单,那么是否可以采用截断方式呢? 不可以,我们要理解截断方式可以生效的根本原因是什么:是我们可以 分别...

    源码审计

    将安全等级调整为high

    1. 尝试直接上传shell.php:失败
    2. 尝试修改文件后缀shell.php3:失败
    3. 可以看出是基于白名单,那么是否可以采用截断方式呢?
      不可以,我们要理解截断方式可以生效的根本原因是什么:是我们可以 分别控制 存储路径文件名称,这样我们才可以实现通过文件名称校验的同时存储为php文件
      1、进入容器内部
    docker exec -it 容器id /bin/bash   #进入容器内部
    

    2、找到网站的web根目录

    vim /etc/apache2/apache2.conf   #查看配置文件,找到web根目录
    

    在这里插入图片描述
    下面这张图片是这个网站所有的漏洞
    在这里插入图片描述
    3、找到unrestricted_file_upload
    在这里插入图片描述
    通过COOKIE[“security_level”] 判断调用的哪个函数
    4、打开burpsuit
    security_level = 2 安全级别为2
    在这里插入图片描述
    5、回到配置文件
    在这里插入图片描述
    搜索这两个函数,可以看出这个配置文件里只有这两个函数的调用,这两个函数是外界引入的
    6、回到文件头部
    functions_external.php 引入外部函数的文件
    引入了4个php文件
    7、进入functions_external.php
    找到file_upload_check_2
    在这里插入图片描述
    通过explode对文件名以“.”为分割,创建了一个数组,取数组的最后一个转换成小写,作为文件的扩展名
    通过in_array判断我们上传的文件名是否在许可文件列表里
    8、确认逻辑代码安全性,确认所调用函数的安全性
    通过php API reference来确认关键函数调用安全性,关键函数有两个explode和in_array
    在这里插入图片描述
    在这里插入图片描述
    in_array函数有三个参数,在函数里面只有两个参数,第三个参数是严格匹配还是松散匹配去判断是否在列表里。
    由于PHP语言的特性,in_array()函数调用使用了默认的松散比较
    比如:在这里插入图片描述

    初探Fuzz

    1、什么是fuzz

    fuzz,模糊测试
    在这里插入图片描述

    2、burpsuit操作

    2.1 打开容器,上传php文件

    选择unrestricted_file_upload,安全等级选择为medium,上传php文件。可以看到上传失败,asp、aspx、dll、exe、jsp、php是禁止上传的。
    这里是给出了哪些文件不能上传,一般情况下,是不会显示的

    在这里插入图片描述

    2.2 打开burpsuit

    可以看到上传失败
    在这里插入图片描述

    2.3 发送到intruder

    打开postions,选择我们希望去fuzz的一个点,其他的删掉,如下图,只留下php
    在这里插入图片描述
    在这里插入图片描述
    打开payloads,为了实验我们手动加几个文件,但在日常生产中,要注意积累自己的fuzz字典,然后点击start attack
    可以看到,txt和php3文件都上传成功了,php上传失败
    在生产环境中做fuzz的时候,大多数情况依赖返回的length,去判断输出的结果是否一致
    但是在ctf比赛中,不管是成功还是失败,返回的length都一样,这个时候就需要我们自己写一些脚本来确定

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    3、注意事项

    ***模糊测试(fuzz testing)***和***渗透测试(penetration test)***都是属于安全测试的方法,它们有同也有异。
    渗透测试一般是模拟黑客恶意入侵的方式对产品进行测试,对测试者的执行力要求很高,成本高,难以被发现,难以被大规模应用;
    模糊测试,它能够充分利用机器本身,随机生成和发送数据;与此同时,又能够引进业内安全专家在安全性方面的建议。
    使用过程有几点需要注意:

    1. Fuzz过程由于会产生大量异常输入,未经人工分析,可能造成生产环境崩溃。
    2. Fuzz过程会产生大量负载,可能会对生产环境造成影响。
    3. 安全监测过程中很容易由于过多访问触发安全警报,进而为后续安全检测制造障碍。
      因此Fuzz多用于非生产环境,在生产环境使用要十分慎重。

    防御措施

    1.文件类型检测:白名单由于黑名单
    2.使用安全的函数进行编程
    3.熟悉业务系统的部署环境,操作系统、web服务器的配置

    展开全文
  • 信息安全培训-Web应用安全攻防实战 大量实例 PDF格式
  • <?php echo 'test'; ?> #打印出test说明代码被成功执行了
  • Web渗透过程中用途很大 SCHEMATA表:提供了当前MySQL实例中所有数据库的信息。是show databases的结果取之此表。 TABLES表:提供了关于数据库中的表的信息(包括视图)。 COLUMNS表:提供了表中的列信息。详细表述...

    1、数据库基本操作

    进入mysql 在mysql的安装目录下 mysql -u root -p
    显示数据库列表 show databases;
    初始数据库有4个,见下面2-5介绍
    进入对应的数据库 use “指定数据库名”;
    查看所进入数据库的所有表 show tables;
    显示数据库版本 select version();
    查看当前正在使用的数据库 select database();
    查看使用当前数据库的用户 select user();
    查看数据库路径 select @@datadir;
    查看安装路径 select @@basedir;
    查看数据库安装的操作系统 select @@version_compile_os;

    2、数据库infomation_schema

    • information_schema ,是信息数据库。其中保存着关于MySQL服务器所维护的所有其他数据库的信息。如数据库名,数据库的表,表栏的数据类型与访问权限等。
    • Web渗透过程中用途很大
    • SCHEMATA表:提供了当前MySQL实例中所有数据库的信息。是show databases的结果取之此表。
    • TABLES表:提供了关于数据库中的表的信息(包括视图)。
    • COLUMNS表:提供了表中的列信息。详细表述了某张表的所有列以及每个列的信息。

    2.1 创建测试表test

    • 创建数据库 test:create database test;
    • 创建数据表 test:create table test (‘id’ int(11), ‘user’ varchar(88));
    • SCHEMATA表:select * from information_schema.schemata;
    • TABLES表:select * from information_schema.tables where table_schema='test';
    • COLUMNS表:select * from information_schema.columns where table_name='test';

    3、数据库mysql

    MySQL的核心数据库,主要负责存储数据库的用户、权限设置、关键字等mysql自己需要使用的控制和管理信息。

    4、数据库performance_schema

    内存数据库,数据放在内存中直接操作的数据库。相对于磁盘,内存的数据读写速度要高出几个数量级,将数据保存在内存中相
    比从磁盘上访问能够极大地提高应用的性能。

    5、数据库sys

    通过这个数据库数据库,可以查询谁使用了最多的资源。可以是基于IP或是用户。哪张表被访问过最多等等信息。

    6、SQL基础语句

    MySQL 数据库使用SQL SELECT语句来查询数据。

    SELECT column_name,column_name FROM table_name [WHERE Clause] [LIMIT N][ OFFSET M]
    

    如果我们需要修改或更新 MySQL 中的数据,我们可以使用 SQL UPDATE 命令来操作。

    UPDATE table_name SET field1=new-value1, field2=new-value2 [WHERE Clause]
    

    使用 SQL 的 DELETE FROM 命令来删除 MySQL 数据表中的记录

    DELETE FROM table_name [WHERE Clause]
    

    MySQL LIKE 子句
    有时候我们需要获取 runoob_author 字段含有 “COM” 字符的所有记录,这时我们就需要在 WHERE 子句中使用 SQL LIKE 子句。
    SQL LIKE 子句中使用百分号 ***%字符来***表示任意字符,类似于UNIX或正则表达式中的星号 *。
    如果没有使用百分号 %, LIKE 子句与等号 = 的效果是一样的。

    SELECT field1, field2,...fieldN FROM table_name WHERE field1 LIKE condition1 [AND [OR]] filed2 = 'somevalue'
    

    •MySQL UNION 操作符
    MySQL UNION 操作符用于连接两个以上的 SELECT 语句的结果组合到一个结果集合中。多个 SELECT 语句会删除重复的数据。

    SELECT expression1, expression2, ... expression_n FROM tables [WHERE conditions]  UNION [ALL | DISTINCT] SELECT expression1, expression2, ... expression_n FROM tables [WHERE conditions];
    
    展开全文

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 3,307
精华内容 1,322
关键字:

web安全攻防实战篇