29 | 数据和代码:数据就是数据,代码就是代码
该思维导图由 AI 生成,仅供参考
- 深入了解
- 翻译
- 解释
- 总结
本文深入探讨了Web安全中数据和代码的关键作用,以及相关的安全漏洞。作者指出,许多安全漏洞源自将数据误以为是代码来执行,如SQL注入、代码注入和XSS攻击。通过具体案例分析,读者可以更深入地了解这些问题,并学习到相应的解决方法。文章还介绍了SQL注入的危害,以及如何通过参数化查询来避免注入问题。总之,本文对于理解Web安全中的数据和代码问题,以及如何应对相关漏洞具有重要的参考价值。 此外,文章还提出了解决动态执行JavaScript代码导致注入漏洞的两种方法:一种是通过SimpleBindings来绑定参数初始化变量,避免直接拼接代码;另一种是使用SecurityManager配合AccessControlContext,构建一个脚本运行的沙箱环境,以确保代码执行的安全性。这些解决方法为读者提供了在实际应用中防范代码注入漏洞的有效途径。 总的来说,本文通过深入分析Web安全中的数据和代码问题,以及相关的安全漏洞,为读者提供了重要的参考价值。读者可以从中了解到安全漏洞的成因和危害,并学习到相应的解决方法,有助于提升对Web安全的认识和实践能力。
《Java 业务开发常见错误 100 例》,新⼈⾸单¥59
全部留言(11)
- 最新
- 精选
- Summer 空城老师,您好,请教一个问题,微服务中一个模块跟多个模块rpc交互的时候,参数比较多的情况下是把其他模块的pojo复制过来,还是提供一个jar存放多个模块交互的pojo,供多个模块引用么?这两种方式感觉都不太好,老师您遇到这种问题是怎样处理的呢,麻烦老师指点下,谢谢老师o(^o^)o
作者回复: 一般而言,不会使用你提到的两种方式 把其他模块的pojo复制过来,复制粘贴显然不是推荐的方式;提供一个jar存放多个模块交互的pojo,不建议把多个模块交互的pojo混在一个jar中。 一般有2种做法: 1、如果技术栈统一,那么可以把微服务拆为API + 实现两个jar(模块),前者包含接口 + POJO,后者的服务类实现前者中的接口,服务的开发者把前者打包为API包提供给使用者即可,比如Spring Cloud的Feign可以接口可以共享出去为微服务API包加入私服 2、如果技术栈不统一,比如不是所有的使用者都使用Spring Cloud,那么或许提供API包不是最好的方式,这个时候可以升级为提供SDK,SDK内部既包含API定义也包含Client调用Server的实现(比如通过HttpClient来),这样微服务使用者不用局限于使用微服务服务端相同的协议
2020-05-2327 - Geek_299a34老师,对于mybatis,有没有只能使用${}而不能使用#{}的情况?由于#{}会给参数内容自动加上引号,会在有些需要表示字段名、表名的场景下,SQL将无法正常执行。如查询user表信息,根据id或age排序SELECT * FROM USER ORDER BY #{value} desc,value为id时,id会被错误添加引号而无法排序,这种情况可以把#{}换成${}吗?谢谢老师
作者回复: 使用${},但自己做好入参的防注入检查,即order by的参数只能是固定的
2020-08-0535 - 我叫郭小黑new FilePermission(Shell.class.getProtectionDomain().getPermissions().elements().nextElement().getName(),"read"), 这个Shell 引入不进来呢?
作者回复: 源码都是可以直接运行的 下载我的源码试试
2020-09-2522 - 13963865700对于xss攻击防范,ESAPI的建议是在前端根据变量所处的位置(html、js)采用不同的编码方式进行转义,前端的开发成本较高;文中提到的方式是在后端采用过滤器统一转义存储,可以一劳永逸。老师在实际生产项目中采用的是哪种方式,转义存储对输入内容进行了修改,会不会产生什么副作用?
作者回复: 要从业务角度看输入的内容是不是没有可能有脚本或特殊符号,如果是这样的话转义没有什么问题的,实际项目中就是采用文中说的所有方式组合起来
2020-05-232 - 苗老师,这些经验你是怎么积累起来的呀?上面的代码可以直接用于生产环境吗?2020-09-115
- 郑思雨找到一篇文章对于联合查询注入,讲的很明白 https://blog.csdn.net/weixin_42277564/article/details/80583959 关于FreeMarker HTML 转义处理可以参考这篇文章: https://www.iteye.com/blog/yshjava-1870320 感谢老师讲解了这么多实用的技巧,学到了很多。2020-12-233
- 往事随风,顺其自然沙箱环境目的是啥,为啥有检查权限?2020-08-212
- 饭粒收获颇多👍2021-10-181
- 迪米乌格斯老师您好,想请教一下, 目前的架构不都是前后端分离的吗? 后端只和前端进行交互, 前端传来的数据应该是能确认安全的吧?2021-05-2621
- ...这里应对xss攻击的解决方案,作者提供的方式为servlet-filter、以及json序列化改写,可以说是更全面更合理。我自己的实现与作者提供的是有差别的,我们自己的解决方案为,get方式的通过nginx配置关键字过滤、post与作者提供的方式是类似的,实际上这种解决方案是拼凑的、割裂的,我们应该参照作者提供的思路,调整下我们自己的方案,集成在一个项目内,可以以插件包的方式提供出去,最好能提供灵活的针对单个属性做xss过滤的配置,如此这就是一个比较好的解决方案,也是对自己能力的锻炼。感谢作者大佬!2023-01-03归属地:浙江