bind

redis未授权访问之利用

匆匆过客 提交于 2020-11-02 14:54:08
文章源自【字节脉搏社区】-字节脉搏实验室 作者-Jadore 扫描下方二维码进入社区 : redis简介 Remote DIctionary Server(Redis) 是一个由Salvatore Sanfilippo写的key-value存储系统。 Redis是一个开源的使用ANSI C语言编写、遵守BSD协议、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。 它通常被称为数据结构服务器,因为值(value)可以是 字符串(String), 哈希(Hash), 列表(list), 集合(sets) 和 有序集合(sorted sets)等类型。 redis未授权访问产生原因 Redis 若因配置不当存在未授权访问漏洞,则攻击者可进行恶意利用。当以 root 身份运行时,可以通过root 写入 SSH 公钥文件,直接通过 SSH (默认端口22)登录,从而获取服务器权限。 redis利用场景1:webshell写入 条件:有web服务,知道路径,具有增删改查权限 首先使用redis客户端直接无账号登录redis: 这里假设路径为/home/jadore,可以执行如下命令写入webshell: 靶机上可以看到 edis利用场景2:公私钥免密认证登录SSH 条件:redis以root身份运行 首先我们可以生产一个密钥对,密码为空,命令如下:

Springboot中Aspect实现切面(以记录日志为例)

无人久伴 提交于 2020-11-02 05:52:12
前言 今天我们来说说spring中的切面Aspect,这是Spring的一大优势。面向切面编程往往让我们的开发更加低耦合,也大大减少了代码量,同时呢让我们更专注于业务模块的开发,把那些与业务无关的东西提取出去,便于后期的维护和迭代。 好了,废话少说!我们直接步入正题 以系统日志为例 首先,我们先做一些准备工作。 1、新建一个Springboot工程 2、添加必要的依赖 AOP 必须 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-aop</artifactId> </dependency> gson主要是我用于数据的处理,不是必须的 <dependency> <groupId>com.google.code.gson</groupId> <artifactId>gson</artifactId> <version>2.8.1</version> </dependency> 个人喜好 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-devtools</artifactId> <scope>runtime</scope> </dependency

nginx反代之前端调度

蓝咒 提交于 2020-11-01 14:29:45
前言 正如大家所知 nginx可以作为web服务器,提供web服务,也可使用其模块进行前端调度,实现负载均衡的功能,在此我们来叙说其前端调度功能。 一、常用模块说明 ngx_http_proxy_module(负载均衡,反代模块) 1.proxy_pass URL; #反代及其输出其路径 示例: location / { proxy_pass http://192.168.184.129:80; } location /bbs/ { proxy_pass http://192.168.184.129:80; } location /bbs/ { proxy_pass http://192.168.184.129:80; } location /bbs/ { proxy_pass http://192.168.184.129:80/; } location ~|~* PATTERN { proxy_pass http://192.168.184.129:80; } 注意: proxy_pass后面的路径不带uri时,其会将location的uri传递给后端主机,在uri后加上斜杠时,则将是/下的文件请求为其站点目录。如果location定义其uri时使用正则表达式的模式,则proxy_pass之后必须不能使用uri,否则为语法错误。 2. proxy_set_header

linux socket编程,不限于linux,一切皆socket

此生再无相见时 提交于 2020-10-31 14:48:18
“一切皆Socket!” 话虽些许夸张,但是事实也是,现在的网络编程几乎都是用的socket。 ——有感于实际编程和开源项目研究。 我们深谙信息交流的价值,那网络中进程之间如何通信,如我们每天打开浏览器浏览网页时,浏览器的进程怎么与web服务器通信的?当你用QQ聊天时,QQ进程怎么与服务器或你好友所在的QQ进程通信?这些都得靠socket?那什么是socket?socket的类型有哪些?还有socket的基本函数,这些都是本文想介绍的。本文的主要内容如下: 1、网络中进程之间如何通信? 2、Socket是什么? 3、socket的基本操作 3.1、socket()函数 3.2、bind()函数 3.3、listen()、connect()函数 3.4、accept()函数 3.5、read()、write()函数等 3.6、close()函数 4、socket中TCP的三次握手建立连接详解 5、socket中TCP的四次握手释放连接详解 6、一个例子(实践一下) 7、留下一个问题,欢迎大家回帖回答!!! 如果觉得文章对你有帮助,不妨给我点个关注 知乎:秃顶之路 b站:linux亦有归途 每天都会更新我们的公开课录播以及编程干货和大厂面经 或者直接点击链接 c/c++ linux服务器开发高级架构师 来课堂上跟我们讲师面对面交流

springBoot静态资源处理

谁说我不能喝 提交于 2020-10-30 06:48:48
Spring Boot 静态资源处理 spring boot项目如果要展示静态页面,可以把html、js、css等文件放在resources目录下的static或public目录里面(如果没有可以直接创建)。 H tml测试 js测试 css测试 Spring Boot – data-jpa 1、添加依赖 <!--连接数据库 需要使用mysql驱动做测试 --> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>5.1.36</version> </dependency> <!--使用spring boot 开发data-jpa项目的基础依赖 --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-jpa</artifactId> </dependency> 2、编写实体对象,添加注解 3、书写配置 在application.yml添加如下配置 #连接池的配置 spring: datasource: driver - class - name: com.mysql.jdbc.Driver url: jdbc

[译]Vulkan教程(26)描述符池和set

白昼怎懂夜的黑 提交于 2020-10-29 09:49:23
[译]Vulkan教程(26)描述符池和set Descriptor pool and sets 描述符池和set Introduction 入门 The descriptor layout from the previous chapter describes the type of descriptors that can be bound. In this chapter we're going to create a descriptor set for each VkBuffer resource to bind it to the uniform buffer descriptor. 从之前的章节可知,描述符布局描述了描述符可被绑定的类型。本章我们要为每个 VkBuffer 资源创建描述符set,以绑定它到uniform buffer描述符。 Descriptor pool 描述符池 Descriptor sets can't be created directly, they must be allocated from a pool like command buffers. The equivalent for descriptor sets is unsurprisingly called a descriptor pool . We'll write a

网络编程

二次信任 提交于 2020-10-29 07:12:43
一、软件开发的架构 我们了解的涉及到两个程序之间通讯的应用大致可以分为两种: 第一种是应用类:QQ、微信、网盘、优酷这一类是属于需要安装的桌面应用 第二种是web类:比如百度、知乎、博客园等使用浏览器访问就可以直接使用的应用 这些应用的本质其实都是两个程序之间的通讯。而这两个分类又对应了两个软件开发的架构~ 软件开发的架构分为C/S架构和B/S架构。 1.C/S架构 C/S即:Client与Server ,中文意思:客户端与服务器端架构,这种架构是从用户层面(也可以是物理层面)来划分的。 这里的客户端一般泛指客户端应用程序EXE,程序需要先安装后,才能运行在用户的电脑上,对用户的电脑操作系统环境依赖较大。 2.B/S架构 B/S即:Browser与Server,中文意思:浏览器端与服务器端架构,这种架构是从用户层面来划分的。 Browser浏览器,其实也是一种Client客户端,只是这个客户端不需要大家去安装什么应用程序,只需在浏览器上通过HTTP请求服务器端相关的资源(网页资源),客户端Browser浏览器就能进行增删改查。所以B/S架构是一种轻量级的架构,升级维护方便。 小结:在网络编程中的C/S架构在计算机编程中占据着垄断地位。在C/S架构的基础上有了B/S架构,所以B/S架构是C/S架构的一种特殊形式。 二、网络基础 网络是什么?计算机之间是怎么通信的? 在计算机最早期

spring cloud网关gateway

前提是你 提交于 2020-10-29 05:53:09
spring gateway 使用基于netty异步io,第二代网关; zuul 1 使用servlet 3,第一代网关,每个请求一个线程,同步Servlet,多线程阻塞模型。 而spring貌似不想在支持zuul 2了 API网关作为后端服务的统一入口,可提供请求路由、协议转换、安全认证、服务鉴权、流量控制、日志监控等服务。 1.搭一个简单的网关 idea中file-new-project pom.xml文件(引入eureka) <? xml version="1.0" encoding="UTF-8" ?> < project xmlns ="http://maven.apache.org/POM/4.0.0" xmlns:xsi ="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation ="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" > < modelVersion > 4.0.0 </ modelVersion > < parent > < groupId > org.springframework.boot </ groupId > < artifactId > spring-boot

0666-6.2.0-如何在CDH6.2.0上安装CDSW1.5

筅森魡賤 提交于 2020-10-29 01:24:27
温馨提示:如果使用电脑查看图片不清晰,可以使用手机打开文章单击文中的图片放大查看高清原图。 Fayson的github: https://github.com/fayson/cdhproject 提示:代码块部分可以左右滑动查看噢 1 文档编写目的 Cloudera在2019年1月29日发布CDSW1.5,CDSW1.5的一个最大的更新就是支持CDH6和HDP,在1.5之前,CDSW是不能安装到CDH6.x的。CDH5.13版本以后支持CDSW的Parcel安装,本篇文章Fayson就主要讲述如何通过CM6.2使用Parcel包安装CDSW1.5。 CDSW需要DNS服务和泛域名解析,可以参考Fayson以前的文章 《 如何在Windows Server2008搭建DNS服务并配置泛域名解析 》、《 如何利用Dnsmasq构建小型集群的本地DNS服务器 》、《 如何在Windows Server2012搭建DNS服务并配置泛域名解析 》,《 如何在RedHat6上使用Bind搭建DNS服务 》或《 如何在RedHat7上使用Bind搭建DNS服务 》,CDSW1.5的新功能可以参考《 0544-CDSW1.5的新功能 》 。 搭建DNS服务推荐Dnsmasq,小巧可爱特方便。 内容概述 1.部署CDSW parcel及安装CSD文件 2

Haproxy

耗尽温柔 提交于 2020-10-28 11:01:25
一、HAProxy的核心功能 负载均衡:L4和L7两种模式,支持RR/静态RR/LC/IP Hash/URI Hash/URL_PARAM Hash/HTTP_HEADER Hash等丰富的负载均衡算法 健康检查:支持TCP和HTTP两种健康检查模式 会话保持:对于未实现会话共享的应用集群,可通过Insert Cookie/Rewrite Cookie/Prefix Cookie,以及上述的多种Hash方式实现会话保持 SSL:HAProxy可以解析HTTPS协议,并能够将请求解密为HTTP后向后端传输 HTTP请求重写与重定向 监控与统计:HAProxy提供了基于Web的统计信息页面,展现健康状态和流量数据。基于此功能,使用者可以开发监控程序来监控HAProxy的状态 二、HAProxy的关键特性 性能 采用单线程、事件驱动、非阻塞模型,减少上下文切换的消耗,能在1ms内处理数百个请求。并且每个会话只占用数KB的内存。 大量精细的性能优化,如O(1)复杂度的事件检查器、延迟更新技术、Single-buffereing、Zero-copy forwarding等等,这些技术使得HAProxy在中等负载下只占用极低的CPU资源。 HAProxy大量利用操作系统本身的功能特性,使得其在处理请求时能发挥极高的性能,通常情况下,HAProxy自身只占用15%的处理时间,剩余的85