web安全day03

news/2024/10/18 8:24:22/
MYSQL注入:
SQL 注入的原理、危害及防御措施

SQL 注入的原理:原本的 SQL 语句在与用户可控的参数经过了如拼接、替换等字符串操作后,得到一个新的 SQL 语句并被数据库解析执行,从而达到非预期的效果。

SQL 注入的危害:由于 SQL 注入是执行了非预期的 SQL 语句,所以有可能导致数据库中的大量数据泄露、甚至被删库,如果数据库开启了文件读写权限,还有可能导致服务器被写入木马等。

SQL 注入的防御:SQL 注入的防御一般从三个方向开展:

信息收集

  1. 集成安全防御工具,如 WAF 等。通常可以拦截大部分的攻击流量,但并不绝对,存在一定的绕过风险;

  2. 黑白名单限制。黑名单主要体现在参数格式、参数长度、特殊字符、转义或编码后的特殊字符等,但是由于绕过方式层出不穷,黑名单很容易出现纰漏,白名单主要应用在对动态表列名、排序等场景下,仅允许指定的参数通过,安全性较高;

  3. 预编译SQL。也是目前最流行最有效的方案,几乎所有的持久层框架都是使用这种技术。预编译其实就是 SQL 引擎预先对 SQL 语句进行分析编译,然后再去填充参数,目前来说这种技术是可以完全防御 SQL 注入的。

  4. 判断注入(数字注入)
    and 1=1 正常
    and 1=2 错误
    可能存在注入,其实归根结底就是看我们的输入会不会对网站造成影响,即我们的操作有效

  5. order by 默认是升序

  6. 在mysql5.0以上版本存在一个 information_schema数据库,它记录着所有的数据库,表明,列名。

  7. 数据库中“.”代表下级

  8. select * information_schema.tables;记录所有表名

  9. 判断数据个数order by x 根据正确域错误的格式来判断个数,然后select 1,2,3,...

  10. 查询数据库 version() 

  11. 数据库名字 database() 

  12. 数据库用户 user() 

  13. 操作系统 @@version_compile_os Linux

    • where table_name=''筛选条件

    • select * from information_schema.columns;记录所有的列名

    • where column_name=''筛选条件

    • wherw table_schema(数据库名)=''筛选条件


http://www.ppmy.cn/news/1461939.html

相关文章

探索制造业中 AI 人工智能与 MES 的协同效应

AI已经渗透到我们日常生活中的各种工具中——从语音助手到语言翻译,以及允许我们从图片、手写笔记中提取结构化数据的工具。AI还为许多流程自动化提供动力,纾解管理、物流、会计和人力资源部门员工的工作量和压力。 AI、物联网和新兴的超高速网络&#…

254 基于matlab的钢筋混凝土非线性分析

基于matlab的钢筋混凝土非线性分析,根据梁本构关系,然后进行非线性分析,绘制弯矩-曲率曲线。可设置梁的截面尺寸、混凝土本构,钢筋截面面积等相关参数,程序已调通,可直接运行。 254 钢筋混凝土非线性分析 弯…

Leaflet.canvaslabel在Ajax异步请求时bindPopup无效的解决办法

目录 前言 一、场景重现 1、遇到问题的代码 2、问题排查 二、通过实验验证猜想 1、排查LayerGroup和FeatureGroup 2、排查Leaflet.canvaslabel.js 三、柳暗花明又一村 1、点聚类的办法 2、歪打正着 总结 前言 在上一篇博客中介绍了基于SpringBoot的全国风景区WebGIS按…

自然语言处理(NLP)技术及举例说明

自然语言处理(NLP)技术是一种人工智能技术,在处理人类自然语言的文本或语音时,可以帮助计算机理解、解释和生成语言。 以下是一些常见的自然语言处理技术的例子: 机器翻译:机器翻译技术可以将一种语言的文…

springboot实现文件防盗链设计

shigen坚持更新文章的博客写手,擅长Java、python、vue、shell等编程语言和各种应用程序、脚本的开发。记录成长,分享认知,留住感动。 个人IP:shigen 👋👋👋hello,伙伴们好久不见&…

MybatisPlus拓展功能(内附全功能代码)

目录 代码生成 静态工具 案例 逻辑删除 枚举处理器 ​编辑 Json处理器 分页插件功能 ​编辑 案例 封装转换方法 代码生成 静态工具 案例 Overridepublic UserVO queryUserAndAddressById(long id) { // 1.查询用户User user getById(id);if (user null || …

UIKit之图片浏览器

功能需求 实现一个图片浏览器,点击左右按钮可以切换背景图,且更新背景图对应的索引页和图片描述内容。 分析: 实现一个UIView的子类即可,该子类包含多个按钮。 实现步骤: 使用OC语言,故创建cocoa Touch类…

ANSYS Maxwell16 引导

Maxwell 使用 下载 https://download.csdn.net/download/wangjun_huster/89313272 安装 https://www.52txr.cn/2022/MaxwellInstall.html 入门