当前位置: 首页 > 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

相关文章:

  • NVR录像机汇聚管理EasyNVR多品牌NVR管理工具/设备:大华IPC摄像头局域网访问异常解决办法
  • 《Python网络安全项目实战》项目5 编写网站扫描程序
  • HTTP常见的状态码有哪些,都代表什么意思
  • 标准C++ 字符串
  • JWT深度解析:Java Web中的安全传输与身份验证
  • [运维][Nginx]Nginx学习(1/5)--Nginx基础
  • 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 全面解析:语法与其他消息中间件的对比分析