首页
学习
活动
专区
圈层
工具
发布

反向代理的攻击面 (下)

说起IE,它还是一如既往的奇特。如果主机头为本地地址,那么它不会对路径做任何处理。 滥用标头修改功能 对于反向代理服务器来说,增添,删除和修改后端请求中的标头是一项基本功能。...一般来说,反向代理服务器会使用缓存标志,该标志与请求的主机头值和路径相关联。 反向代理对某个响应缓存与否,它会先检查请求中的Cache-Control和Set-Cookie标头。...在大部分情况下,如果web应用的某个脚本使用了session功能,那么该应用会严格设置Cache-control标头的缓存功能,因此如遇到这种情况,开发者不需要考虑(安全)。...然而有例外,例如,如果web应用使用它自己的session安全机制,Cache-control标头可能会存在漏洞。 攻击 反向代理的一个常用功能是“积极缓存”(这不是官方词汇,但可以描述其作用)。...Nginx发现请求中存在/image,于是直接转发该请求值Tomcat,然后缓存响应(Tomcat->Nginx,此时Cache-Control标头无效)。

2K40

使用BURP针对爆破,越权漏洞利用

2)通过请求标头绕过 运行时,提交无效的用户名密码,确定X-Forwarded-For标头是否受支持 尝试使用鱼叉(pitchfork)攻击,添加X-Forwarded-For标头 3、越权控制 1、访问规避...X-Original-URL: /invalid 后面回显包中,返回未找到,证明我们的添加的头的确被读取了,后端进行了处理和响应。...2、GET规避访问控制 有时后端的用户验证,仅仅只有post方式的验证,但是我们使用普通用户,利用admin用户的数据包,普通用户的cookie,发送请求,使用GET模式进行发送 靶场: https:/...,来查看功能,管理员有一个提升权限的功能,如果我们想要作为普通用户去使用提升用户权限功能,我们就需要将发送的模式改成get发送 cookie是普通用户cookie,发送之后,可以使用管理员功能。...具体步骤就是,我们首先登录管理员页面,对其两个步骤的数据包进行抓包,并且在两个数据包中,进行修改cookie,将cookie修改成我们普通用户权限的cookie,并且将用户名改为我们普通权限用户名,来尝试提升权限

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

    跟我一起探索 HTTP-跨源资源共享(CORS)

    功能概述 跨源资源共享标准新增了一组 HTTP 标头字段,允许服务器声明哪些源站通过浏览器有权限访问哪些资源。...若请求满足所有下述条件,则该请求可视为简单请求: 使用下列方法之一: GET HEAD POST 除了被用户代理自动设置的标头字段(例如Connection、User-Agent或其他在 Fetch 规范中定义为禁用标头名称...第三方 cookie 注意在 CORS 响应中设置的 cookie 适用一般性第三方 cookie 策略。...请求中的 cookie(第 10 行)也可能在正常的第三方 cookie 策略下被阻止。因此,强制执行的 cookie 策略可能会使本节描述的内容无效(阻止你发出任何携带凭据的请求)。...上一小节中,我们已经看到了这些标头字段在实际场景中是如何工作的。

    1.4K30

    对不起,看完这篇HTTP,真的可以吊打面试官

    缓存控制 HTTP/1.1 中的 Cache-Control 常规标头字段用于执行缓存控制,使用此标头可通过其提供的各种指令来定义缓存策略。...WebGL 纹理 使用 drawImage() 绘制到画布上的图像/视频帧 图片的 CSS 形状 跨域功能概述 跨域资源共享标准通过添加新的 HTTP 标头来工作,这些标头允许服务器描述允许哪些来源从...注意上面示例中的 Set-Cookie 响应标头还设置了另外一个值,如果发生故障,将引发异常(取决于所使用的API)。...如果服务器成功返回,那么将返回 206 响应;如果 Range 范围无效,服务器返回416 Range Not Satisfiable错误;服务器还可以忽略 Range 标头,并且返回 200 作为响应...tasty_cookie=strawberry [page content] 此标头告诉客户端存储 Cookie 现在,随着对服务器的每个新请求,浏览器将使用 Cookie 头将所有以前存储的 cookie

    7.7K21

    震惊 | HTTP 在疫情期间把我吓得不敢出门了

    一般表示方法如下 Cache-Control: public 缓存控制 HTTP/1.1 中的 Cache-Control 常规标头字段用于执行缓存控制,使用此标头可通过其提供的各种指令来定义缓存策略...WebGL 纹理 使用 drawImage() 绘制到画布上的图像/视频帧 图片的 CSS 形状 跨域功能概述 跨域资源共享标准通过添加新的 HTTP 标头来工作,这些标头允许服务器描述允许哪些来源从...注意上面示例中的 Set-Cookie 响应标头还设置了另外一个值,如果发生故障,将引发异常(取决于所使用的API)。...如果服务器成功返回,那么将返回 206 响应;如果 Range 范围无效,服务器返回416 Range Not Satisfiable错误;服务器还可以忽略 Range 标头,并且返回 200 作为响应...tasty_cookie=strawberry [page content] 此标头告诉客户端存储 Cookie 现在,随着对服务器的每个新请求,浏览器将使用 Cookie 头将所有以前存储的 cookie

    6.5K20

    SVN的安装与常用功能使用以及解决安装配置过程中的一些错误

    里的Impor则可以将一个文件上传到服务器中: ?...SVN开发工具内嵌客户端的安装: 上面我们使用的是SVN的客户端,在操作系统中进行的下载、更新、提交,但是上传和下载工程代码不是很方便,因为这些操作不能直接在开发工具进行,我们是用开发工具写代码的,所以需要在开发工具中安装一个内嵌的...在这个工程选择页面中能看到SVN夹子,表示安装成功: ? 现在就可以在Eclipse中使用SVN插件了,先右键点击一个工程,然后点击Team里的Share Project进入到以下界面: ? ?...配置新的资源库: ? 使用已有的资源库: ? ? 如果出现以下错误就检查一下是否安装了Subversive Connector,如果没有安装则需要手动安装: ?...SVN的常用功能就以上几种,提交、更新、锁定工程、从服务器导入工程等等。

    2.5K11

    非常值得一看的 Curl 用法指南

    导读 curl 是常用的命令行工具,用来请求 Web 服务器。它的名字就是客户端(client)的 URL 工具的意思。 它的功能非常强大,命令行参数多达几十种。...$ curl -b 'foo=bar' https://google.com 上面命令会生成一个标头Cookie: foo=bar,向服务器发送一个名为foo、值为bar的 Cookie。...-i参数打印出服务器回应的 HTTP 标头。 $ curl -i https://www.example.com 上面命令收到服务器回应后,先输出服务器回应的标头,然后空一行,再输出网页的源码。...如果想让 curl 不产生任何输出,可以使用下面的命令。 $ curl -s -o /dev/null https://google.com -S参数指定只输出错误信息,通常与-o一起使用。...$ curl -x james:cats@myproxy.com:8080 https://www.example.com 上面命令中,请求的代理使用 HTTP 协议。

    1.3K20

    跨域资源共享(CORS)

    功能概述部分 跨域资源共享标准的工作原理是添加新的HTTP标头,这些标头允许服务器描述允许哪些来源从Web浏览器读取该信息。...和Content-Language请求标头中允许使用逗号 切换到简单CORS请求中受限制的Accept标头的黑名单模型 没有其他浏览器实现这些额外的限制,因为它们不是规范的一部分。...因为上面示例中的请求标头包含Cookie标头,所以如果Access-Control-Allow-Origin标头的值为“ *” ,则请求将失败。...请注意,Set-Cookie上面示例中的响应头也设置了另一个cookie。如果发生故障,则会引发一个异常(取决于所使用的API)。...请注意,在调用服务器时会为您设置这些标头。使用跨站点XMLHttpRequest功能的开发人员不必以编程方式设置任何跨域共享请求标头。

    4.7K50

    HTTP headers

    自定义专有标头历来都使用X-前缀,但是由于在RFC 6648中非标准字段成为标准字段时带来的不便,该约定在2012年6月被弃用;其他的列在IANA注册中心中,其原始内容在RFC 4229中定义。...逐跳标题 这些标头仅对单个传输级连接有意义,并且不得由代理重新传输或缓存。请注意,只能使用Connection常规标头设置逐跳标头。...Set-Cookie 将cookie从服务器发送到用户代理。 Cookie2 包含先前由服务器发送的带有Set-Cookie2标头的HTTP cookie ,但已被废弃。使用Cookie代替。...当网站启用Expect-CT标头时,他们会要求Chrome浏览器检查该网站的任何证书是否出现在公共CT日志中。...Feature-Policy 提供一种机制,以允许和拒绝在其自己的框架以及嵌入的iframe中使用浏览器功能。

    8.8K70

    curl用法指南

    Cookie $ curl -b 'foo=bar' https://google.com 上面命令会生成一个标头 Cookie: foo=bar,向服务器发送一个名为 foo 、值为 bar 的 Cookie.../login 上面代码中,发送的数据 hello world 之间有一个空格,需要进行 URL 编码 -e -e 参数用来设置 HTTP 的标头 Referer ,表示请求的来源 curl -e 'https...上面命令收到服务器回应后,先输出服务器回应的标头,然后空一行,再输出网页的源码 -I -I 参数向服务器发出 HEAD 请求,然会将服务器返回的 HTTP 标头打印出来 $ curl -I https...-s https://www.example.com 上面命令一旦发生错误,不会显示错误信息不发生错误的话,会正常显示运行结果 如果想让 curl 不产生任何输出,可以使用下面的命令 $ curl -...如果没有指定代理协议,默认为 HTTP $ curl -x james:cats@myproxy.com:8080 https://www.example.com 上面命令中,请求的代理使用 HTTP

    1.8K30

    闲聊HTTP2.0

    HTTP / 2初始草案(它是SPDY的副本)的其他性能改进来自请求和响应的多路复用,以避免HTTP 1中的某些队头阻塞问题(即使使用HTTP流水线),标头压缩和请求的优先级。...,但是我们使用单个连接的方式与 HTTP/1 不同,在 HTTP/1 中称为专属连接的连接,现在是信息流。...如果合并实际上让情况变得更糟糕,假设要更新一个缓存的文件,如果你修正了 JavaScript 文件中的一个拼写错误,例如缺少一个花括号,则用户必须重新下载整个 JavaScript,而不是仅仅发生更改的片段...如果每个 JavaScript 文件都是分开的,则只会让单个文件的缓存变得无效而已。...但压缩报头在发送更多请求时变得更高效,发送的请求越多,重复使用的标头越多(后续直接发送引用即可),缩小和压缩 JavaScript CSS 及图片依然是很好的做法,哪怕是一个字节都值得节省,尤其是在发展中国家

    40910

    HTTPS 安全最佳实践(二)之安全加固

    此外,客户端错误可能会造成严重的后果——客户端错误的时钟导致它认为服务器的 SSL 证书无效或过期,或者缺少根 CA 证书——将不再导致浏览器中的证书错误。...非标准的标头 X-Content-Type-Options 选项指示浏览器不做任何模仿指定类型的 MIME。...虽然它们没有什么实际用途,但对于搜索运行过时版本的软件的机器人或蜘蛛来说,这些标头是无价的,因为这些软件可能包含安全漏洞。如果没有定期更新,这些头文件可以使网站的目标变得容易。...建议 从服务器响应中删除这些标头: X-Powered-By, X-Runtime, X-Version 和 X-AspNet-Version。...但是,除非有明确的需要从 javascript 中访问他们的值,否则最好还是呆在安全的一边,把所有cookie标记为 HttpOnly 建议 标记所有 cookie 安全和 HttpOnly。

    2.7K10

    Flask 学习-31.flask_jwt_extended 验证token四种方

    javascript 获取token Headers 通过标头工作 JWT 是一个非常简单的过程。...当然,在使用 cookie 时,您还需要做一些额外的工作来防止跨站请求伪造 (CSRF) 攻击。在这个扩展中,我们通过称为双重提交验证的东西来处理这个问题。...每当发出请求时,它都需要包含一个X-CSRF-TOKEN标头,其中包含双重提交令牌的值。如果此标头中的值与存储在 JWT 中的值不匹配,则请求被踢出无效。...因为双重提交令牌需要作为标头出现(不会在请求中自动发送),并且在不同域上运行的一些恶意 javascript 将无法读取您网站上包含双重提交令牌的 cookie,我们已成功阻止任何 CSRF 攻击。...这确实意味着每当您发出请求时,您都需要手动包含X-CSRF-TOKEN标头,否则您的请求也将被踢出无效。

    3.1K40

    PortSwigger之身份验证+CSRF笔记

    在本实验中X-Forwarded-Host标头是受支持的,您可以使用它来将动态生成的重置链接指向任意域。...该网站似乎接受任何 Referer 标头,只要它在字符串中的某处包含预期的域即可。 5.按照CSRF 漏洞解决方案中的描述创建一个 CSRF 概念验证,没有防御实验室,并将其托管在漏洞利用服务器上。...编辑 JavaScript,使history.pushState()函数的第三个参数包含一个带有您的实验室实例 URL 的查询字符串,如下所示:这将导致生成的请求中的 Referer 标头在查询字符串中包含目标站点的...your-lab-id.web-security-academy.net”) 6.如果您存储漏洞并通过单击“查看漏洞”进行测试,您可能会再次遇到“无效的Referer header”错误。...要覆盖此行为并确保请求中包含完整 URL,请返回漏洞利用服务器并将以下标头添加到“Head”部分:请注意,与普通的 Referer 标头不同,必须拼写单词“referrer”在这种情况下正确。

    5K20

    Web 前端性能优化相关内容解析

    13.尽量减少请求的数据量 尽量减少 Cookie 和请求标头的大小,可确保将 HTTP 请求放入单个数据包中。...18.请指定一个“Vary: Accept-Encoding”标头 指示代理服务器缓存资源的两个版本:压缩版与未压缩版。...这样有助于避免公共代理无法正确检测 Content-Encoding 标头的问题。...19.请指定缓存验证工具 通过指定缓存验证工具(Last-Modified 或 ETag 标头),您可以确保系统能够有效地确定缓存资源的有效性。...20.避免出现错误的请求 删除“已损坏的链接”或会导致 404/410 错误的请求,可避免发出无效的请求。 21.首选异步资源 错开资源的加载时间可减小网页加载时出现资源堵塞的概率。

    2.4K100

    【Nginx28】Nginx学习:代理模块(二)缓存与错误处理

    如果当前正在更新,则“Cache-Control”标头字段的“stale-while-revalidate”扩展允许使用过时的缓存响应。...“Cache-Control”标头字段的“stale-if-error”扩展允许在发生错误时使用过时的缓存响应。...如果头部不包含“X-Accel-Expires”字段,可以在头部字段“Expires”或“Cache-Control”中设置缓存参数。 如果标头包含“Set-Cookie”字段,则不会缓存此类响应。...如果标头包含具有特殊值“*”的“Vary”字段,则不会缓存此类响应(1.7.7)。如果标头包含具有另一个值的“Vary”字段,则将考虑相应的请求标头字段(1.7.7)缓存此类响应。...: error 与服务器建立连接、向其传递请求或读取响应标头时发生错误 timeout 在与服务器建立连接、向其传递请求或读取响应标头时发生超时 invalid_header 服务器返回空响应或无效响应

    1.6K50
    领券