自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(156)
  • 资源 (5)
  • 收藏
  • 关注

原创 Spring Cloud之赵国的覆灭

战国时期,诸侯割据,七国集团,实力超群。秦国号称拥有众多世界一流技术匠人,雄踞一方。业务涵盖Java、PHP、C#、C/C++、JavaScript、GoLang、Python、Erlang,听说最近正准备进军人工智能和 5G。秦国的架构体系复杂,为了防止开发匠人们互相甩锅,他们独立运行,没有通信,各自拥有各自的架构。其余六国就不同了,它们系统架构相对简单,比如赵国,它拥有近 50 万...

2019-10-22 13:34:27 1018

原创 从高考到程序员

岁月如梭,时光荏苒六月酷暑,国之大事者,高考也。十年寒窗,只为今朝。忆往昔,峥嵘岁月,恍如昨日。遥想当年中学之往事,历历在目。 余三五入学,年方中游,身高5尺,好数理,厌文学。文理分科之初,偏爱从理,遂择理。奈何物理非余之所长,思量再三,从文是也。余初入文班,叹曰:多淑女,吾之幸也。有女其一,长余一岁,余之悦者。其形也,翩若惊鸿,婉若游龙,荣曜秋菊,华茂春松。昼夜思量,辗转反侧,茶饭不思

2017-06-10 12:59:50 2745 38

原创 管理者神功之“九”阴真经

在如今飞速发展的当下,成为技术大牛很容易,只要肯努力,很容易做到,但是想成为一名优秀的管理者,就显得不那么容易了,下面笔者将结合多年的管理经验为了大家总结出了如何成为优秀的管理者,一共有九条很重要的因素,我将其称之为“九”阴真经。1、敏锐的洞察力        作为管理者,首先需要有非常敏锐的洞察力,除了需要第一时间了解当下的最新前言技术,还应该第一时间发现员工的心理变化,做到对员工的透明化管理,

2017-05-31 13:32:48 2791 5

原创 利用开源HTML5引擎lufylegend.js结合javascript实现的五子棋人机对弈

前言    本文主要介绍利用开源引擎lufylegend.js开发基于Html5的游戏--五子棋,主要叙述其详细开发过程。游戏规则    玩过五子棋的都应该知道五子棋的规则,这里就简单介绍其规则。    1、传统五子棋的棋具与围棋大致相同,棋子分为黑白两色,棋盘为15×15,棋子放置于棋盘线交叉点上。两人对局,各执一色,轮流下一子,先将横、竖或斜线的5个或5个以上同色棋子连成不间断

2013-09-05 14:43:31 9082 5

原创 DVWA漏洞平台学习之Medium级别

在Medium级别,DVWA平台对每个漏洞都加入了一定程度的WAF,它不像LOW级别那样,可以轻松的利用每个漏洞。在Medium级别下,我们需要想办法绕过WAF。我们首先改变DVWA Security为Medium级别,然后开始对每个漏洞进行利用。0x00 Brute Force-暴力破解查看源码:可以拿到,它登录失败后,增加2秒的睡眠时间,我们依然可以爆破,只是增加了爆破时间而已。0x01 Command Injection-命令注入0x02 CSRF-客户端请求伪造0x03 File I

2022-12-01 15:36:54 432

原创 数据库访问程序别在对密码加密了,那是掩耳盗铃的做法

各位看官一看到我这个标题,可能会一脸懵逼,这也是我在实际项目发现的问题。我发现,很多不懂安全的工程师,在搭建项目框架时,在涉及到密码的配置项时,喜欢对密码做一层加密,这样做表面像好像密码没有暴露在外,比如这样的:表面上一看,确实看不到密码,但是作为黑客,这种跟明文密码一样是裸奔,我们一看,下面有个privateKey,就知道是个RSA加密的,他的逻辑就是在应用启动时,框架会对密文进行解密再进行数据库连接,密码是个16进制字符串,我们知道RSA加密后一般以Base64呈现的,把16进制转换成Bas64就

2021-09-17 14:21:09 1069 1

原创 java23种设计模式十五(连载)

备忘录模式备忘录模式又称备份模式、标记模式。顾名思义,其就是在某一时刻保存当前状态,作为备份,以便下次可以使用,或者恢复到上一次的状态。备忘录模式分为三个角色:普通类:用于定义要备份的对象备份类:用于备份普通对象上一次的操作、状态备份管理类:用于保存恢复备份备忘录模式的应用范围很广,我相信大家都下过棋,在下棋时,由于自己的粗心,导致下错了,这时你想悔棋,就会用到备忘录模式。在备忘录模式,我们需要保存上一次下棋的落子点,在当前下棋出现失误的时候,才能恢复到上一次的状态。下面,我就以围棋为

2021-06-03 09:38:31 271 1

原创 网络协议安全与实战之网络接口层协议

网络接口层是TCP/IP协议定义的层级,事实上,人们会将它按照ISO/OSI模型拆分为物理层和数据链路层。接下来,我将分别介绍物理层和数据链路层底层原理和涉及到的主流协议。物理层数据链路层...

2021-02-08 08:52:54 1332

原创 某平台后台系统存在任意账号密码重置漏洞

漏洞发现进入该后台地址,发现有忘记密码入口点击进入“忘记密码页面”,随手输入admin,显示出了 隐藏的手机号,需要发送验证码才能重置密码。我的专业性告诉我,这里可能存在任意密码重置漏洞,于是尝试利用。漏洞利用点击“发送验证码”按钮,随便输入验证码和密码 ,此时,我并不知道验证码是多少位的,理论上,少于5位都容易被破解。于是我利用BurpSuit抓包,先尝试4位数的验证码,并且爆破。由于成功失败返回内容长度一样,当时不知道是否爆破成功,等待片刻,输入重置的密码,发现可以登录。漏洞危害

2020-11-02 13:51:20 1606

原创 某网站登录页面存在用户手机号信息泄露

漏洞利用输入用户名,界面将弹出手机号,看似手机号被隐藏了,但是通过抓取http包,发现后台其实返回了手机号,由此可知,改手机号只在前端做了隐藏处理。而且该接口没有做任何校验,可以任意调用,于是开启了BurpSuit的爆破征程。通过该接口可以爆出大量已注册的手机号,导致手机号信息泄露。漏洞修复后端不要返回手机号,应同前端一样,隐藏中间四位。想学习更多网络安全的知识,可以关注公众号“SCLM安全团队”。...

2020-10-26 15:48:14 3121 6

原创 2020全国工业互联网安全技术技能大赛Web题WP

0x00 SimpleCalculator打开后,发现flag.php可执行数学函数,在网上找到一个原题:https://www.cnblogs.com/20175211lyz/p/11588219.html可执行shell拿到flag。payload如下:http://eci-1cei547jhyas2r4f5r2.cloudeci1.ichunqiu.com/flag.php?search=\$pi=(is_nan\^(6).(4)).(tan\^(1).(5));\$pi=\$\$pi;\$p

2020-10-25 09:40:02 6215 8

原创 记一次绕过验证码次数限制漏洞挖掘

漏洞发现点击登陆,输入手机号,点发送验证码,弹出对话框要求输入图片验证码,我输入后用BurpSuit拦截请求继续重放,发现后台应该没有校验图片验证码,一样可以发送。尝试重放,发送多次后,发现提示发送次数达到上限,换个手机号,还是这个提示。开始我以为对cookie做了校验,切换浏览器后,依然不行,想到应该对ip地址做了判断,于是想到了XFF攻击。漏洞利用HTTP请求头会将IP地址放到X-Forwarded-For中,于是在请求报文中,尝试手动改变该请求头的值:这样可以绕过次数限制,造成短信炸

2020-10-10 13:36:27 1422

原创 浅析一次任意用户注册漏洞挖掘过程

漏洞发现输入手机号,点击发送验证码,发现验证码只有4位数字,我的经验告诉我,此处有一定概率存在任意用户注册漏洞。漏洞利用输入手机号,点击发送验证码,再依次输入验证码(此处随便输入,方便抓包)和密码,用BurpSuit抓包,并尝试验证码爆破。最终成功注册。漏洞修复1.验证码设置为6位数。2.对验证码校验做限制,如输错5次则要求输入图片验证码。3.对同一个手机号,只允许有限次的错误校验。...

2020-10-09 17:11:36 2570 3

原创 2020巅峰极客Web题---Easy Flask

看标题,猜测改网站用的事Flask框架,搜索引擎一搜,发现Flask存在模板注入漏洞:于是大概可以推测,题目应该考察的是模板注入漏洞。打开题目网址,有个登录页面,输入用户名,进入下面的页面:...

2020-09-28 20:40:54 1621

原创 使用Wireshark工具分析网络协议

上一章,我们了解了整个网络协议的七层和四层模型。从本章开始,我们将正式进入到网络协议的学习当中,如果只是单纯地讲解理论知识,这将非常抽象,因此,学习网络协议最好的方式就是借助工具,而在网络协议抓包领域最好的工具就是Wireshark。在正式接触网络协议之前,我们应先学习Wireshark的使用以及如何通过Wireshark抓取协议包,在后面的具体的网络协议学习,Wireshark将始终陪伴着我们。0x00 Wireshark简介Wireshark是一个网络封包分析软件。网络封包分析软件的功能是抓取网络封

2020-09-22 13:50:02 4270

原创 导读:什么是 Spring Cloud 及应用现状

Spring Cloud 是什么?在学习本课程之前,读者有必要先了解一下 Spring Cloud。Spring Cloud 是一系列框架的有序集合,它利用 Spring Boot 的开发便利性简化了分布式系统的开发,比如服务发现、服务网关、服务路由、链路追踪等。Spring Cloud 并不重复造轮子,而是将市面上开发得比较好的模块集成进去,进行封装,从而减少了各模块的开发成本。换句话说:S...

2020-09-22 12:16:01 708

原创 第01课:Spring Boot 入门

什么是 Spring BootSpring Boot 是由 Pivotal 团队提供的基于 Spring 的全新框架,其设计目的是为了简化 Spring 应用的搭建和开发过程。该框架遵循“约定大于配置”原则,采用特定的方式进行配置,从而使开发者无需定义大量的 XML 配置。通过这种方式,Spring Boot 致力于在蓬勃发展的快速应用开发领域成为领导者。Spring Boot 并不重复造轮子...

2020-09-22 12:16:00 326

原创 第02课:Spring Boot 进阶

上一篇带领大家初步了解了如何使用 Spring Boot 搭建框架,通过 Spring Boot 和传统的 SpringMVC 架构的对比,我们清晰地发现 Spring Boot 的好处,它使我们的代码更加简单,结构更加清晰。从这一篇开始,我将带领大家更加深入的认识 Spring Boot,将 Spring Boot 涉及到东西进行拆解,从而了解 Spring Boot 的方方面面。学完本文后,...

2020-09-22 12:15:58 339

原创 第03课:Spring Boot 启动原理

引言Spring Boot 大大简化了我们的开发配置,节省了大量的时间,确实比较方便。但是对于新手来说,如果不了解个中原理,难免会遇到坑。本文作者将带领大家走近神秘的 Spring Boot,一步步破开它的神秘面纱,探索 Spring Boot 的启动原理。开发任何基于 Spring Boot 的项目,我们都会使用以下的启动类:import org.springframework.boot...

2020-09-22 12:15:57 309

原创 第04课:初识 Spring Cloud

Spring Cloud 基于 Spring Boot,因此在前几篇,我们系统地学习了 Spring Boot 的基础知识,为深入研究Spring Cloud打下扎实的基础。从本章开始,我们将正式进入探索Spring Cloud秘密的旅程中。学习完本课程后,读者将从中学习到如何搭建一个完整的分布式架构,从而向架构师方向靠近。微服务概述根据百度百科的描述,微服务架构是一项在云中部署应用和服务的...

2020-09-22 12:15:55 232

原创 第05课:服务注册与发现

我们知道,微服务是一个架构思想,而 Spring Cloud 集成了用以实现微服务架构的方方面面。从本文开始,我将带领大家逐个击破 Spring Cloud 的各个模块。本文,我们先来学习服务的注册与发现,Spring Cloud Netflix 的 Eureka 组件是服务于发现模块,下面我们将学习它。服务注册与发现模块分为服务注册中心和服务提供者,接下来,我将一一讲解。服务注册中心首先...

2020-09-22 12:15:53 274

原创 第06课:服务网关

本文,我们将学习 Spring Cloud的另一个组件:zuul,它提供微服务的网关功能,即中转站,通过它提供的接口,可以转发不同的服务。在学习 zuul 之前,我们先接着上一篇的代码,来看看服务提供者是如何提供服务的。在服务提供者的 module 下创建 HelloController 类,添加内容如下:@RestControllerpublic class HelloController...

2020-09-22 12:15:52 217

原创 第07课:服务消费者

前面我们提到,对外提供接口通过 zuul 服务网关实现。一个大型的系统由多个微服务模块组成,各模块之间不可避免需要进行通信,一般我们可以通过内部接口调用的形式,服务 A 提供一个接口,服务 B 通过 HTTP 请求调用服务 A 的接口,为了简化开发,Spring Cloud 提供了一个基础组件方便不同服务之间的 HTTP 调用,那就是 Feign。什么是 FeignFeign 是一个声明式的 ...

2020-09-22 12:15:51 159

原创 第08课:服务异常处理

上一篇,我们讲了服务之间的相互通信,利用 Feign 的声明式 HTTP 客户端,通过注解的形式很容易做到不同服务之间的相互调用。我们的服务最终是部署在服务器上,因为各种原因,服务难免会发生故障,那么其他服务去调用这个服务就会调不到,甚至会一直卡在那里,导致用户体验不好。针对这个问题,我们就需要对服务接口做错误处理,一旦发现无法访问服务,则立即返回并报错,我们捕捉到这个异常就可以以可读化的字符串...

2020-09-22 12:15:49 487

原创 第09课:配置中心

通过前面章节,我们已经学习了 SpringCloud 的很多组件,每个组件都创建了一个工程,而每个工程都会有一个配置文件,并且有些配置是一样的。例如:在实际项目中,我们创建了用户和订单两个服务,这两个服务是同一个数据库,那么我们在这两个服务的配置文件都会配置相同的数据源,一旦我们的数据库地址发生改变(只是一种情况),用户和订单两个服务的配置文件都需要改,这还是只是两个服务,在一个大型系统(比如淘宝...

2020-09-22 12:15:48 148

原创 第10课:消息总线

其实在上一课我们已经接触过了消息总线,那就是 Spring Cloud Bus,这一课我们将继续深入研究 Spring Cloud Bus 的一些特性。局部刷新Spring Cloud Bus 用于实现在集群中传播一些状态变化(例如:配置变化),它常常与 Spring Cloud Config 联合实现热部署。上一课我们体验了配置的自动刷新,但每次都会刷新所有微服务,有些时候我们只想刷新部分微...

2020-09-22 12:15:46 134

原创 第11课:服务链路追踪

在前面的课程中,我们已经学习了使用 Actuator 监控微服务,使用 Hystrix 监控 Hystrix Command。本文,我们来研究微服务链路追踪。我们知道,微服务之间通过网络进行通信。在我们提供服务的同时,我们不能保证网络一定是畅通的,相反,网络是很脆弱的,网络资源也有限。因此,我们有必要追踪每个网络请求,了解其经过了哪些微服务,延迟多少,每个请求所耗费的时间等。只有这样,我们才能更...

2020-09-22 12:15:45 170

原创 第12课:分布式锁

本达人课讲述的是基于 Spring Cloud 的分布式架构,那么也带来了线程安全问题,比如一个商城系统,下单过程可能由不同的微服务协作完成,在高并发的情况下如果不加锁就会有问题,而传统的加锁方式只针对单一架构,对于分布式架构是不适合的,这时就需要用到分布式锁。实现分布式锁的方式有很多,本文结合我的实际项目和目前的技术趋势,通过实例实现几种较为流行的分布式锁方案,最后会对不同的方案进行比较。基...

2020-09-22 12:15:43 211

原创 第13课:分布式事务

首先我们应知道,事务是为了保证数据的一致性而产生的。那么分布式事务,顾名思义,就是我们要保证分布在不同数据库、不同服务器、不同应用之间的数据一致性。为什么需要分布式事务?最传统的架构是单一架构,数据是存放在一个数据库上的,采用数据库的事务就能满足我们的要求。随着业务的不断扩张,数据的不断增加,单一数据库已经到达了一个瓶颈,因此我们需要对数据库进行分库分表。为了保证数据的一致性,可能需要不同的数...

2020-09-22 12:15:42 288

原创 第14课:Spring Cloud 实例详解——基础框架搭建(一)

通过前面基础组件的学习,我们已经可以利用这些组件搭建一个比较完整的微服务架构,为了巩固我们前面学习的知识,从本文开始,将以一个实际的案例带领大家构建一个完整的微服务架构(本文代码已放在 Github 上)。需求分析本文要实现的一个产品是新闻门户网站,首先我们需要对其进行需求分析,本新闻门户网站包括的功能大概有以下几个:注册登录新闻列表用户评论产品设计根据需求分析,就可以进行产品设...

2020-09-22 12:15:40 213

原创 第15课:Spring Cloud 实例详解——基础框架搭建(二)

接着上一篇,我们继续来搭建基础框架,本文我们将搭建客户端基础模块,集成熔断器,集成持久层框架 Mybatis。在上一篇我们已经构建好了配置中心,因此,此后搭建的所有工程都是将配置文件放到 Git 上(点击这里获取本课程配置文件的 Git 仓库地址),通过配置中心将配置文件从 Git 仓库上拉取下来。客户端基础模块为了便于应用的可读性,我们在顶级工程下,先创建一个 packaging 为 po...

2020-09-22 12:15:39 155

原创 第16课:Spring Cloud 实例详解——基础框架搭建(三)

本文我们将集成 Redis,实现 API 鉴权机制。Redis 的集成Spring Boot 集成 Redis 相当简单,只需要在 pom 里加入如下依赖即可:<dependency> <groupId>org.springframework.boot</groupId> <artifactId>...

2020-09-22 12:15:37 197

原创 第17课:Spring Cloud 实例详解——业务代码实现

本文开始,我们将实现具体的业务,由于篇幅问题,本文将贴出部分实例代码,其余会提供一般思路。公共模块我们的接口会分别放在不同的工程下,其中会有公共代码,在此我们考虑将公共代码抽象出来放到公共模块 common 下。Bean我们提供的接口分为输入参数(request)和输出参数(response),输入参数为客户端请求时传入,输出参数为后端接口返回的数据。我们在定义接口时最好将输入参数和输出参...

2020-09-22 12:15:35 195

原创 第18课:Spring Cloud 实例详解——系统发布

接口开发完成并且测试通过后,就可以进行发布,系统发布可以有很多方式,本文将目前主要的发布方式一一列举出来,供大家参考。Java 命令行启动这种方式比较简单,由于 Spring Boot 默认内置了 Tomcat,我们只需要打包成 Jar,即可通过 Java 命令启动 Jar 包,即我们的应用程序。首先,news 下面的每个子工程都加上(Client 除外):<packaging&gt...

2020-09-22 12:15:34 158

原创 第19课:Spring Cloud 源码解析

Spring Cloud 集成了很多第三方框架,把它的全部源码拿出来解析几本书都讲不完,也不太现实,本文带领读者分析其中一小部分源码(其余源码读者有兴趣可以继续跟进),包括 Eureka-Server、Config、Zuul 的 starter 部分,分析其启动原理。如果我们开发出一套框架,要和 Spring Boot 集成,就需要放到它的 starter 里。因此我们分析启动原理,直接从每个框...

2020-09-22 12:15:33 227

原创 第20课:K8S+Docker 部署 Spring Cloud 集群

在一个实际的大型系统中,微服务架构可能由成百上千个服务组成,我们发布一个系统如果都单纯的通过打包上传,再发布,工作量无疑是巨大的,也是不可取的,前面我们知道了可以通过 Jenkins 帮我们自动化完成发布任务。但是,我们知道一个 Java 应用其实是比较占用资源的,每个服务都发布到物理宿主机上面,资源开销也是巨大的,而且每扩展一台服务器,都需要重复部署相同的软件,这种方式显然是不可取的。容器技...

2020-09-22 12:15:31 483

原创 某公司公众号任意用户注册漏洞利用

现在大多平台用户注册都采用了手机号注册,通过发送验证码确保手机号的合法性。但是如果处理不当,则可能造成任意手机号注册等漏洞,就比如下面的某公众号。漏洞利用漏洞URL:http://wx.xxxx.qjcode.com/app_api/login/register复现步骤:进入该公众号,点击个人中心->登录,并切换到注册界面:点击发送验证码,随便输入验证码,并输入密码,点击确认,用BurpSuit拦截注册接口,爆破注册接口,可使任意手机号注册。该公众号还存在忘记密码按照同样方式操

2020-09-17 15:03:18 1943

原创 利用某网站的SQL注入漏洞getshell

某学校网站存在SQL注入漏洞,可以利用sqlmap对齐进行SQL注入攻击,并获得webshell。漏洞URL:http://www.xxx.com/news1.php?id=1执行攻击命令:sqlmap -u "http://www.xxx.com/news1.php?id=1" -p id --current-db --os-shell可以getshell,但是 sqlmap提供的命令行操作不方便,这时,我们可以尝试写入一句话木马:写入成功后,用蚁剑或者菜刀连接:...

2020-09-17 12:12:09 721

原创 DVWA漏洞平台学习之LOW级别

在上一篇文章中,我们搭建了DVWA平台,本文开始,我将依次带你学习如何在DVWA平台上利用这些漏洞。首先将DVWA的级别设置为LOW。接下来,我们开始对每个漏洞进行复现。0x00 Brute Force-暴力破解漏洞利用进入Brute Force页面,要求输入用户名和密码,进行登录,在LOW级别下,没有做任何的防护,我们可以用BurpSuite进行暴力破解。(关于BurpSuit的使用,你可以自行百度或者关注本公众号后续的文章)漏洞分析0x01 Command Injection-命令注入

2020-09-13 09:47:03 1330

原创 搭建漏洞环境,学习常见漏洞的利用手段与防御方法

对于初学者,如果想要进一步学习如何利用与防御各种常见漏洞,自己搭建一个漏洞环境,可以更快地复现漏洞,还可以学习如何防御。市面上的漏洞环境很多,DVWA就是其中一个非常著名的,也非常流行的一款漏洞平台。本文将带你一步一步搭建DVWA平台。本文除了教你如何搭建DVWA平台外,还会给你提供一个强大的虚拟机,该虚拟机集成了各种漏洞平台供你研究和使用。DVWA安装为了照顾使用不同系统的小伙伴,我会同时介绍Windows和Linux两个不同操作系统下的DVWA的安装。Windows下的DVWA的安装Lin

2020-09-10 12:48:55 769

python些的五子棋人机代码

里面含有AI算法,仅供大家学习。

2017-04-29

重写easyui源码

几年前写的,由于easyui不开源(代码混淆),且有一些问题,我重写了easyui的代码,并且做了一些优化,本源码仅作为大家学习之用,目前easyui扩展了很多个版本,本源码并没有。

2017-04-25

优化postgresqll的java驱动程序

postgresql驱动程序有严重的连接性能问题,本代码可以解决

2017-03-22

java超炫分页标签

自己写的java分页标签,一次显示10页,当前页数居中 1.2.3.4.5.6.7.8.9.10这样的分页,并且可以设置一页显示的条数,有转到多少页的功能。。。用法在txt文档里写出来了,并且提供了一个jquery包,因为要用到jquery包

2011-12-21

java分页标签

自己写的一个分页标签,希望和广大同行分享

2011-09-10

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除