Web安全-表单域隐藏

简介: Web安全-表单域隐藏

前言
最近在安恒的漏洞扫描器发现报了一个低危漏洞——表单域隐藏。

该漏洞描述将前端HTML中包含“hidden”属性的字段均视为有低风险存在,并给出建议:检查网页表单中类型为hidden的元素,在服务器端加强校验。

日常认知里,“hidden”属性不是很常用吗(比如前端密码字段),为何存在风险?为此学习并记录一下。

语法简介
首先来了解下HTML hidden 属性:

hidden 属性规定对元素进行隐藏。
隐藏的元素不会被显示。
如果使用该属性,则会隐藏元素。
可以对 hidden 属性进行设置,使用户在满足某些条件时才能看到某个元素(比如选中复选框,等等)。然后,可使用 JavaScript来删除 hidden 属性,使该元素变得可见。
来看看一个语法入门案例:
将hidden属性删除,效果如下:

风险案例
如图,用户可以通过浏览器F12开发者工具,让隐藏的区块显示出来,并很方便的修改表单的值……

有时候前端会使用隐藏域记录一些关键值(比如修改一条信息时隐藏域记录该信息的ID,提交后根据这个ID做数据更新),可用户一旦修改这些值,再提交,那不就出乱子了,如何解决?

修改UID
前端页面如下:

目录
相关文章
|
7月前
|
存储 安全 Linux
服务器数据恢复—如何预防服务器故障?服务器发生故障如何恢复数据?
服务器常见故障: 硬件故障:磁盘损坏、电池故障等。 软件问题:操作系统崩溃、未知的程序运行错误等。 病毒破坏:勒索病毒加密、删除服务器数据等。 不可控力量;服务器浸水、火烧、机房倒塌等导致服务器损坏和数据丢失。 误操作:工作人员操作失误导致数据丢失,如格式化、删除、覆盖等。
296 16
服务器数据恢复—如何预防服务器故障?服务器发生故障如何恢复数据?
|
JavaScript 前端开发
location.href和 window.location的区别有这些!
location.href和 window.location的区别有这些!
3460 3
|
10月前
|
安全 关系型数据库 MySQL
MySQL崩溃保险箱:探秘Redo/Undo日志确保数据库安全无忧!
《MySQL崩溃保险箱:探秘Redo/Undo日志确保数据库安全无忧!》介绍了MySQL中的三种关键日志:二进制日志(Binary Log)、重做日志(Redo Log)和撤销日志(Undo Log)。这些日志确保了数据库的ACID特性,即原子性、一致性、隔离性和持久性。Redo Log记录数据页的物理修改,保证事务持久性;Undo Log记录事务的逆操作,支持回滚和多版本并发控制(MVCC)。文章还详细对比了InnoDB和MyISAM存储引擎在事务支持、锁定机制、并发性等方面的差异,强调了InnoDB在高并发和事务处理中的优势。通过这些机制,MySQL能够在事务执行、崩溃和恢复过程中保持
312 3
|
缓存 JavaScript Java
常见java OOM异常分析排查思路分析
Java虚拟机(JVM)遇到 OutOfMemoryError(OOM)表示内存资源不足。常见OOM情况包括:1) **Java堆空间不足**:内存被大量对象占用且未及时回收,或内存泄漏;解决方法包括调整JVM堆内存大小、优化代码及修复内存泄漏。2) **线程栈空间不足**:单线程栈帧过大或频繁创建线程;可通过优化代码或调整-Xss参数解决。3) **方法区溢出**:运行时生成大量类导致方法区满载;需调整元空间大小或优化类加载机制。4) **本机内存不足**:JNI调用或内存泄漏引起;需检查并优化本机代码。5) **GC造成的内存不足**:频繁GC但效果不佳;需优化JVM参数、代码及垃圾回收器
593 7
常见java OOM异常分析排查思路分析
|
JavaScript 前端开发
javascript中常见获取时间戳的方法
javascript中常见获取时间戳的方法
261 0
|
弹性计算 负载均衡 监控
云计算ACP云服务器ECS实例题库(二)
本篇文章续前篇,继续分享50道云服务器ECS实例的ACP云计算题目。
1021 1
|
Java API Android开发
Android中Binder在项目中的具体使用详解
Android中Binder在项目中的具体使用详解
342 0
|
安全 关系型数据库 MySQL
|
JavaScript 前端开发 测试技术
Map 和 Object 在处理大量数据时性能差异
Map 和 Object 在处理大量数据时性能差异
|
Java
Java对list集合元素进行排序的几种方式
Java对list集合元素进行排序的几种方式
473 0