当前位置: 首页 > article >正文

网络安全SQL初步注入2

六.报错注入

mysql函数

updatexml(1,xpath语法,0)

xpath语法常用concat拼接 例如: concat(0×7e,(查询语句),0×7e)

select table_name from information_schema.tables limit 0,1

七.宽字节注入(如果后台数据库的编码为GBK)

url编码:为了防止提交的数据和url中的一些有特殊意义的符号产生歧义,自动将一些符号转义

注入防御之引号转义和绕过思路

好多网站,尤其是php的网站,为了防止sql注入,经常会采用一个手段就是引号转义

使用一些转义函数,比如:addslashes和mysql_real_escape_string,他们转义的字符是单引号 (')、双引号(")、反斜线()与NUL(NULL 字符),转义的方式就是在这些符号前面自动加上\,让这些符号 的意义失效,或者可以理解为被注释掉了

考虑引号前加\且\被转义,

所以需要在5C前面凑成另一个字符编码 使得\注释无效

所以这样就可以注入

八.偏移量注入

偏移注入是一种注入姿势,可以根据一个较多字段的表对一个少字段的表进行偏移注入,一般是联合查询

假设我们已经知道了另一个表且他的列少于我们要注入地方的表的列(后边表列少于前边表) 可以利用联合注入 1 union select 1,表名.* from 表名

九.加密注入

==结尾的加密一般是base64加密

构造注入

十.堆叠注入(执行多条 SQL 语句,语句之间以分号(;)隔开)

一条语句跟着另一条语句,不同于联合查询,联合查询需要查询的数据一致(也就是列数相同),堆叠注入则不需要。

例如以下这个例子。用户输 入:1; DELETE FROM products服务器端生成的sql语句为: Select * from products where productid=1;DELETE FROM products当执行查询后,第一条显示查询信息,第二条则将整个表进行删除

十一.二次注入

脏数据是第一次注入的payload部分被转义,但保存在数据库中了,二次注入就是在注入脏数据后再次利用这些脏数据。

第一步:插入恶意数据 进行数据库插入数据时,对其中的特殊字符进行了转义处理,在写入数据库的时候又保留了原来的 数据。

第二步:引用恶意数据 开发者默认存入数据库的数据都是安全的,在进行查询时,直接从数据库中取出恶意数据,没有进 行进一步的检验的处理


http://www.kler.cn/a/394926.html

相关文章:

  • 24/12/24 力扣每日一题 # LeetCode 524. 通过删除字母匹配到字典里最长单词 全网最详细解释
  • VIVO Android面试题及参考答案
  • MySQL-存储过程(头歌数据库实验题)
  • C#(委托)
  • Python 写的 智慧记 进销存 辅助 程序 导入导出 excel 可打印
  • 算法,递归和迭代
  • Vue 与 React 前端框架差异对比及案例分析
  • MYSQL 修改表的结构
  • 【golang-技巧】- 定时器使用-ticker
  • Struts源码阅读——三个常用的辅助类DispatchAction
  • STM32学习笔记-----UART的概念
  • 2025年前端发展趋势
  • Spring Boot 中的全局异常处理器
  • Ubuntu20.04 解决一段时间后键盘卡死的问题 ubuntu
  • 前端开发中常用的包管理器(npm、yarn、pnpm、bower、parcel)
  • SSL证书以及实现HTTP反向代理
  • autodl+modelscope推理stable-diffusion-3.5-large
  • Sql server查询数据库表的数量
  • Linux入门攻坚——37、Linux防火墙-iptables-3
  • 陈列oracle的错误信息列表
  • 微服务架构面试内容整理-安全性-Spring Security
  • Koa进阶:掌握中间件和参数校验的艺术
  • RestFul URL
  • gitlab-development-kit部署gitlab《二》
  • 期权懂|请问如何用期权进行风险管理?
  • RabbitMQ 全面解析:语法与其他消息中间件的对比分析