Complex authentication mechanisms can fall prey to undiscovered attack vectors, especially on applications prone to business logic flaws. Because automatic scanners mostly fail to key into these kinds of vulnerabilities, human power is still needed to find them. Given the complexity of modern software environments, no single security researcher can pick up on all possible vulnerabilities or attack vectors. On-demand security testing with a vetted community of researchers is the best way to combine everyone’s unique knowledge to find the vulnerabilities that matter.
复杂的身份认证机制可能成为未被发现的攻击向量的牺牲品,特别是在容易出现业务逻辑缺陷的应用程序上。因为自动扫描器大多无法发现这类漏洞,所以仍然需要人力来找到它们。鉴于现代软件环境的复杂性,没有任何一个安全研究人员能够发现所有可能的漏洞或攻击载体。由经过审查的研究人员组成的按需安全测试是结合每个人的独特知识来发现重要漏洞的最佳方式。
即,靠谱的众测才是发现软件安全漏洞的靠谱方式。
`
《 “HTTP协议详解–学习资料” 》 有 10 条评论
HTTP 缓存机制一二三
https://zhuanlan.zhihu.com/p/29750583
`
Web缓存大致可以分为:数据库缓存、服务器端缓存(代理服务器缓存、CDN 缓存)、浏览器缓存。
浏览器缓存也包含很多内容: HTTP 缓存、indexDB、cookie、localstorage 等等。这里我们只讨论 HTTP 缓存相关内容。
在具体了解 HTTP 缓存之前先来明确几个术语:
缓存命中率:从缓存中得到数据的请求数与所有请求数的比率。理想状态是越高越好。
过期内容:超过设置的有效时间,被标记为“陈旧”的内容。通常过期内容不能用于回复客户端的请求,必须重新向源服务器请求新的内容或者验证缓存的内容是否仍然准备。
验证:验证缓存中的过期内容是否仍然有效,验证通过的话刷新过期时间。
失效:失效就是把内容从缓存中移除。当内容发生改变时就必须移除失效的内容。
`
https://jakearchibald.com/2016/caching-best-practices/
https://zhuanlan.zhihu.com/p/28113197
浅谈Web缓存
http://www.alloyteam.com/2016/03/discussion-on-web-caching/
这一次带你彻底了解Cookie
https://mp.weixin.qq.com/s/oOGIuJCplPVW3BuIx9tNQg
对《cookie之困》的一些总结与思考
http://www.cnblogs.com/r00tuser/p/7993509.html
https://github.com/knownsec/KCon/blob/master/2015/Cookie%20%E4%B9%8B%E5%9B%B0.pdf
彻底理解浏览器的缓存机制
https://heyingye.github.io/2018/04/16/%E5%BD%BB%E5%BA%95%E7%90%86%E8%A7%A3%E6%B5%8F%E8%A7%88%E5%99%A8%E7%9A%84%E7%BC%93%E5%AD%98%E6%9C%BA%E5%88%B6/
`
概述
缓存过程分析
强制缓存
=> Expires
=> Cache-Control
协商缓存
=> Last-Modified / If-Modified-Since
=> Etag / If-None-Match
总结
`
HTTP 缓存详解
https://i6448038.github.io/2018/04/29/http-cache/
HTTP协议内攻击检测基本原理 · Manning23
https://paper.tuisec.win/detail/992170c430cf7a7
https://manning23.github.io/2018/06/13/HTTP%E5%8D%8F%E8%AE%AE%E5%86%85%E6%94%BB%E5%87%BB%E6%A3%80%E6%B5%8B%E5%9F%BA%E6%9C%AC%E5%8E%9F%E7%90%86/
`
网络攻击最重要的载体协议是HTTP协议,能利用HTTP协议进行的网络攻击方式多样,不限于以下内容。
SQLI,XSS,CSRF,RCE,LFI,RFI,Brute Force,SSRF,SSTI,Deserialization,XXE。
我们在对HTTP攻击检测时,由于各种原因,我们无法做到一个理想状态,我会以四个从攻击者视角的例子对此加以说明。
S2-045远程代码执行漏洞(CVE-2017-5638)
2015年12月的Joomla反序列化漏洞 0-day
S2-052远程代码执行漏洞(CVE-2017-9805)
各种SQL注入的bypass
常规HTTP攻击检测做法流程如下:
HTTP数据字段拆解
重要字段特征匹配(多字段关联匹配)
总结下来,规则检测存在两点不足:
检测位置不充分,且易产生误报
检测的能力体现取决于规则编写者
适应当今攻防对抗,检测应该具备的能力
==
首先在检测能力和质量上:
· 检测内容不区分协议字段
· 具备对抗混淆的能力
· 能定义正常,异常,攻击
接着在检测效率上:
· 高于正则匹配的效率
最后在日常运营上:
· 具备高效的处理误报与漏报
· 能高效的进行应急响应
==
`
通用 XXE 漏洞检测技术
https://www.christian-schneider.net/GenericXxeDetection.html
HTTP的前世今生
https://coolshell.cn/articles/19840.html
一文读懂 HTTP/1 HTTP/2 HTTP/3
https://mp.weixin.qq.com/s/fy84edOix5tGgcvdFkJi2w
HTTP 响应代码
https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Status
`
HTTP 响应状态代码指示特定 HTTP 请求是否已成功完成。响应分为五类:
信息响应(100–199),
成功响应(200–299),
重定向(300–399),
客户端错误(400–499),
服务器错误 (500–599)。
状态代码由 section 10 of RFC 2616定义
`
https://zh.wikipedia.org/wiki/HTTP%E7%8A%B6%E6%80%81%E7%A0%81
synack 总结的 Web 认证绕过的几种常见攻击技术
https://www.synack.com/blog/exploits-explained-5-unusual-authentication-bypass-techniques/
`
Example #1 – Refresh Token Endpoint Misconfiguration
Example #2 – Improper SSO Configuration
Example #3 – CMS Based Access Problems
Example #4 – Usage of Example JWT Tokens
Example #5 – Changing Authentication Type to Null
Complex authentication mechanisms can fall prey to undiscovered attack vectors, especially on applications prone to business logic flaws. Because automatic scanners mostly fail to key into these kinds of vulnerabilities, human power is still needed to find them. Given the complexity of modern software environments, no single security researcher can pick up on all possible vulnerabilities or attack vectors. On-demand security testing with a vetted community of researchers is the best way to combine everyone’s unique knowledge to find the vulnerabilities that matter.
复杂的身份认证机制可能成为未被发现的攻击向量的牺牲品,特别是在容易出现业务逻辑缺陷的应用程序上。因为自动扫描器大多无法发现这类漏洞,所以仍然需要人力来找到它们。鉴于现代软件环境的复杂性,没有任何一个安全研究人员能够发现所有可能的漏洞或攻击载体。由经过审查的研究人员组成的按需安全测试是结合每个人的独特知识来发现重要漏洞的最佳方式。
即,靠谱的众测才是发现软件安全漏洞的靠谱方式。
`