1:为什么要学web漏洞?
作为一个运维人员,日常工作就是保障服务器和网站的业务正常运行,平时也需要对服务器的安全工作加固,说到防护攻击问题,那么久必须去了解攻击者是怎么对服务器发动的一个流程,这样才能更好的针对去做安全防护工作。
 
 
2:SQL注入漏洞原理
首先了解下什么是SQL?
结构化查询语言(Structured Query Language),是一种特殊目的的编程语言,是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统;
 
以下PHP+MySQL例子:

http://localhost/a.php?id=1’
 
 
$id=$_GET['id’];
$sql="SELECT * FROM users WHERE id=$id' LIMIT 0,1";
 
 
3:如何去发现sql注入
①通过Web漏洞扫描器工具
②在参数后面添加错误语句
③通过大量的对参数Fuzz测试
④根据自己的一个经验进行判断
 
4:注入分类
①数字型注入
SELECT * FROM users WHERE id=$id LIMIT 0,1;
②字符型注入
SELECT * FROM users WHERE username=‘admin' LIMIT 0,1;
 
 
5:提交方式
①GET
②POST
③COOKIE
④HTTP 头部注入
 
6:注入方式
①基于报错注入
②基于布尔的盲注
③基于时间的盲注
④联合查询
⑤内联查询
⑥堆叠的查询
 
7:为什么要学习手工注入?
 
1. 猜解字段
2. 查看当前数据库
3. Union select 1,group_concat(schema_name),3 from information_schema.schemata%23 // 查询所有数据库
4. union select 1,group_concat(table_name),3 from information_schema.tables where table_schema=0x7365637572697479%23
//查询数据库中的表
5. UNION SELECT 1,GROUP_CONCAT(column_name),3 FROM information_schema.columns WHERE table_name = 0x7573657273%23
//查询表名中的所有字段
 
 
8:sql注入工具sqlmap
 
sqlmap官网下载地址:http://sqlmap.org/
sqlmap依赖环境:Python
 
sqlmap常用的参数
1. 判断注入
python sqlmap.py http://URL -v 3
2. 数据库
python sqlmap.py http://URL --dbs -v 3
python sqlmap.py http://URL –current-user -v 3
3. 表名
python sqlmap.py http://URL --tables -D 数据库名 -v 3
4. 字段名
python sqlmap.py http://URL --column -T 表名 -D 数据库名 -v 3
5. 内容
python sqlmap.py http://URL --dump -T -C 字段名 -T 表名 -D 数据库名 -v 3
 
 
 
9:如何去防护sql注入
①CDN隐藏真实IP地址
②通过安全函数进行过滤
③对数据库最小权限设置
④服务器针对性的WAF防火墙

了解web漏洞-sql注入的更多相关文章

  1. 基础Web漏洞-SQL注入入门(手工注入篇)

    一.什么是SQL注入  SQL是操作数据库数据的结构化查询语言,网页的应用数据和后台数据库中的数据进行交互时会采用SQL.而SQL注入是将Web页面的原URL.表单域或数据包输入的参数,修改拼接成SQ ...

  2. 【web渗透技术】渗透攻防Web篇-SQL注入攻击初级

    [web渗透技术]渗透攻防Web篇-SQL注入攻击初级 前言不管用什么语言编写的Web应用,它们都用一个共同点,具有交互性并且多数是数据库驱动.在网络中,数据库驱动的Web应用随处可见,由此而存在的S ...

  3. Web常见安全漏洞-SQL注入

    SQL注入攻击(SQL Injection),简称注入攻击,是Web开发中最常见的一种安全漏洞. 可以用它来从数据库获取敏感信息,或者利用数据库的特性执行添加用户,导出文件等一系列恶意操作, 甚至有可 ...

  4. web安全—sql注入漏洞

    SQL注入-mysql注入 一.普通的mysql注入 MySQL注入不像注入access数据库那样,不需要猜.从mysql5.0以上的版本,出现一个虚拟的数据库,即:information_schem ...

  5. 常见Web安全漏洞--------sql注入

    SQL注入:利用现有应用程序,将(恶意)的SQL命令注入到后台数据库执行一些恶意的操作.在mybatis 中比较容易出现:${} 会发生sql 注入问题 #{}: 解析为一个 JDBC 预编译语句(p ...

  6. ASP漏洞+SQL注入的入侵方法

    本文就是想对装上了防火墙的主机,进行入侵攻击的大概思路小结一下. 首先当然是用扫描器对这台服务器(以下简称主机A)进行常规的扫描,得到初步的信息.再用nmap -sS IP -P0 -p 139 ,透 ...

  7. 实验八 Web基础 SQL注入原理

    实验八 Web基础 实验要求 (1)Web前端HTML 能正常安装.启停Apache.理解HTML,理解表单,理解GET与POST方法,编写一个含有表单的HTML. (2)Web前端javascipt ...

  8. [Web安全]SQL注入

    Web网站最头痛的就是遭受攻击.Web很脆弱,所以基本的安防工作,我们必须要了解! 所谓SQL注入,就是通过把SQL命令插入到Web表单递交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意 ...

  9. WEB漏洞——SQL

    由于我的博客是学到渗透的时候才做的,没有关于WEB漏洞的笔记,现在发现WEB层面的漏洞有些不太熟悉了,边写一下笔记边复习一下,就从sql注入开始吧 话不多说先上大佬写的表[ctfhub]SQL注入 - ...

随机推荐

  1. Maven系列第9篇:多环境构建支持,核心开发必备!

    maven系列目标:从入门开始开始掌握一个高级开发所需要的maven技能. 这是maven系列第9篇. 整个maven系列的内容前后是有依赖的,如果之前没有接触过maven,建议从第一篇看起,本文尾部 ...

  2. 领扣(LeetCode)两个数组的交集II 个人题解

    给定两个数组,编写一个函数来计算它们的交集. 示例 1: 输入: nums1 = [1,2,2,1], nums2 = [2,2] 输出: [2,2] 示例 2: 输入: nums1 = [4,9,5 ...

  3. opencv 6 图像轮廓与图像分割修复 2 使用多边形将轮廓包围

    使用多边形将轮廓包围 返回外部矩阵边界(boundingRect()函数) 寻找最小包围矩形(minAreaRect()函数) 寻找最小包围圆形(minEnclosingCircle函数) 用椭圆拟合 ...

  4. JVM集训-----内存结构

    一.程序计数器/PC寄存器 (Program Counter Registe) 用于保存当前正在执行的程序的内存地址(下一条jvm指令的执行地址),由于Java是支持多线程执行的,所以程序执行的轨迹不 ...

  5. 数据类型转换&运算符

    基本数据类型注意事项 整型类型:long>int>short>byte java默认类型为int型 long a = 123 表示将int类型的数值赋给更大范围的long类型,当数据 ...

  6. 如何编译和使用自定义Qt动态链接库 | how to build and use user-defined qt library

    本文首发于个人博客https://kezunlin.me/post/cf628dd8/,欢迎阅读! guide to build qt library and use in another proje ...

  7. ETCD:单机单节点

    原文地址:Setting up local clusters 设置单节点集群 对于测试环境与开发环境,最快速与简单的方式是配置一个本地集群.对于生产环境,参考集群部分. 本地单节点集群 启动一个集群 ...

  8. proxy protocol

    Proxy protocol 是haproxy 作者开发和设计的一个inernet 协议, 用于获取客户端的IP地址. 在使用7层代理是可以向http协议添加X-Forword-For来实现,而4层协 ...

  9. 2019-9-26:渗透测试,基础学习,js正则以及什么是目录扫描,笔记

    js正则表达式,用单个字符串描述或者匹配符合特定语句规则的字符串,相当于一种搜索模式.一些字符序列组合在一起,可以简单也可以复杂模式的,可以去搜索还可以替换 正则表达式语法/表达式/修饰符(可选),例 ...

  10. master节点的部署介绍和前置工作

    目录 组件介绍 组件介绍 kubernetes master节点运行组件如下: kube-apiserver.kube-scheduler.kube-controller-manager.kube-n ...