学习笔记

Apache Solr Velocity模板注入RCE漏洞复现

v一、Apache Solr介绍 Solr是一个独立的企业级搜索应用服务器,它对外提供类似于web-service的API接口,用户可以通过http请求,向搜索引擎服务器提交一定格式的XML文件,生成索引,也可以通过http get操作提出查找请求,并得到XML格式的返回结果。 二、漏洞描述 Solr中存在VelocityResponseWriter组件,攻击者可以构造特定请求修改相关配置,使VelocityResponseWriter组件允许加载指定模板,进而导致Velocity模版注入远程命令执行漏洞,攻击者利用该漏洞可以直接获取到服务器权限。 ...

里式替换原则——面向对象程序设计原则

github仓库 定义 Liskov于1987年提出了一个关于继承的原则“Inheritance should ensure that any property proved about supertype objects also holds for subtype objects.”—— 继承必须确保超类所拥有的性质在子类中仍然成立 .。通俗的来讲就是子类可以扩展父类的功能,但是不能改变父类原有的功能。 该原则称为Liskov Substitution Principle——里氏替换原则。 ...

Leetcode算法【34在排序数组中查找元素】

 在之前ARTS打卡中,我每次都把算法、英文文档、技巧都写在一个文章里,这样对我的帮助是挺大的,但是可能给读者来说,一下子有这么多的输入,还是需要长时间的消化。那我现在改变下方式,将每一个模块细分化,并且描述的更细致点,这样就能和大家更好地交流,更好地探讨具体的细节,也能让大家更好地消化所学的知识。...

务必收藏备用:.net core中通过Json或直接获取图形验证码(数字验证码、字母验证码、混合验证码),有源代码全实战demo(开源代码.net core3.0)

很多人写的博客大家看了会一知半解,不知道怎么用,应该引用什么类库或者代码不全,这样很多小白很是头疼,尤其是尝新技术更是如此。我们这边不止告诉你步骤,而且还提供开源demo。随着时间的推移,我们的demo库会日益强大请及时收藏GitHub。 1.首先你需要Nuget引用类库 Install-Package ZKWeb.System.Drawing -Version 4.0.1 2.创建公共类VerifyCodeHelper和CommonHelper (1)CommonHelper中添加图形处理方法 ...

Chrome插件开发(三)

 在日常工作中,我们可能经常需要在手机端测试我们所做的页面,如果每次在手机端测试都手输网址,网址短的还好,如果长的网址也需要一个字母一个字母去敲,那无疑是一场噩梦,试想我们有一个工具只需要点击一个按钮就可以将当前网址生成二维码,而手机端仅仅需要扫一扫就可以打开我们想要测试的网址,是不是很美好呢?下面我们就自己动手从零开始实现一个生成当前网址二维码的插件。在开始编写之前,我们需要先做一点点知识预备:...

一个开源组件 bug 引发的分析

这是一个悲伤的故事。某日清晨,距离版本转测还剩一天,切图仔的我正按照计划有条不紊的画页面。当我点击一个下拉弹框组件中分页组件页数过多而出现的向后 5 页省略号时,悲剧开始了,弹框被收回了。情景再现 file 问题 问题的表象很简单,使用的是组件库的下拉弹窗组件,在组件中使用到了分页组件,当点击分页组件的向后 5 页快速跳转时,弹窗被收回了。我们的预期是能够继续操作的,只有点击弹框外部时,弹窗才会被收回。 分析 发现这个问题我做了如下分析: 确定这是一个问题 再次重复操作问题,确定问题出现的条件,能够在特定条件下复现的问题才是问题。我稳定的复现了问题条件是:分页组件出现向前跳转 5 页或向后跳转 5 页,点击到不会再出现向前跳转 5 页或向后跳转 5 页这样的快速跳转后,弹框会被收回。 ...

VS Code 1.40 发布!可自行搭建 Web 版 VS Code!

今天(北京时间 2019 年 11 月 8 日),微软发布了 Visual Studio Code 1.40 版本。让我们来看看有哪些主要的更新。 自建 Web 版 VS Code 前不久,微软正式发布了 Visual Studio Online,包含微软托管的 Web 版 VS Code。如今,开发者已经可以直接从 VS Code 的源代码编译出 Web 版 VS Code。 如果你已经下载了 VS Code 在 GitHub 上的源代码,只需运行 yarn web,就能在 http://localhost:8080/ 访问啦! ...

Spring Boot2 系列教程(二十)Spring Boot 整合JdbcTemplate 多数据源

多数据源配置也算是一个常见的开发需求,Spring 和 SpringBoot 中,对此都有相应的解决方案,不过一般来说,如果有多数据源的需求,我还是建议首选分布式数据库中间件 MyCat 去解决相关问题,之前有小伙伴在我的知识星球上提问,他的数据根据条件的不同,可能保存在四十多个不同的数据库中,怎么办?这种场景下使用多数据源其实就有些费事了,我给的建议是使用 MyCat,然后分表策略使用 sharding-by-intfile 。 当然如果一些简单的需求,还是可以使用多数据源的,Spring Boot 中,JdbcTemplate、MyBatis 以及 Jpa 都可以配置多数据源,本文就先和大伙聊一聊 JdbcTemplate 中多数据源的配置(关于JdbcTemplate的用法,如果还有小伙伴不了解,可以参考我的 Spring Boot2 系列教程(十九)Spring Boot 整合 JdbcTemplate)。 ...

使用asp.net core 3.0 搭建智能小车2

  上一篇中我们把基本的运行环境搭建完成了,这一篇中,我们实战通过树莓派B+连接HC-SR04超声波测距传感器,用c# GPIO控制传感器完成距离测定,并将距离显示在网页上.1.HC-SR04接线...

Java面试官最爱问的volatile关键字

在Java的面试当中,面试官最爱问的就是volatile关键字相关的问题。经过多次面试之后,你是否思考过,为什么他们那么爱问volatile关键字相关的问题?而对于你,如果作为面试官,是否也会考虑采用volatile关键字作为切入点呢? 为什么爱问volatile关键字 爱问volatile关键字的面试官,大多数情况下都是有一定功底的,因为volatile作为切入点,往底层走可以切入Java内存模型(JMM),往并发方向走又可接切入Java并发编程,当然,再深入追究,JVM的底层操作、字节码的操作、单例都可以牵扯出来。 ...
青岛软件培训

可能你正在寻找一家靠谱的IT培训机构,学习一些专业的软件开发技术,找一份得体的工作。恰巧我们就是一家踏踏实实做教育的IT人才培养机构,我们咨询电话是 0532-85025005,如果你确实对IT感兴趣,我们不妨交流一下。

申请免费试听课程