100天带你走进黑客漏洞赏金猎人的大门(第八天)

继续带大家了解最新的漏洞、漏洞和技术的第八天。

系统命令注入漏洞

这篇文章是关于作者如何在账户激活请求中发现了盲目的操作系统命令注入漏洞的。以下是文章的核心要点:

  1. 操作系统命令注入:操作系统命令注入是一种网络安全漏洞,允许攻击者在服务器上执行操作系统命令。盲目的操作系统命令注入是指网站存在漏洞,但如果目标存在漏洞,它不会向我们显示响应。但仍然可以通过Burp协作者或监听器检测。
  2. 漏洞发现:在作者的案例中,漏洞出现在账户激活请求表单的电子邮件和电话号码字段中,当我们的试用账户过期时。
  3. 漏洞利用:作者在电子邮件地址值中注入了这个有效载荷:mymail@mail.com \u0026 nslookup burpcollaborator_site_payload。发送有效载荷后,响应中没有任何东西表明它是脆弱的,但是转到协作者选项卡并点击现在投票按钮,有效载荷被触发。
  4. 漏洞报告:目标有漏洞赏金计划,但不在Hackerone等平台上。作者已经报告了这个问题,但到目前为止,他还没有得到回应。在他们的漏洞赏金政策页面上写着,他们将至少审查报告3周。尝试联系他们,但没有回答。之前作者报告了XSS问题,他们回应了,但他得到了重复的回答。

这篇文章为理解盲目的操作系统命令注入提供了深入的视角,对于网络安全专业人士和开发者来说,这是一篇非常有价值的参考资料。

https://medium.com/@alb-soul/blind-os-command-injection-via-activation-request-66dc25377bf4

如何启动自己的漏洞赏金猎人计划

这篇文章讲述了作者如何帮助印度理工学院(IIT)瓜哈提分校启动了自己的漏洞赏金计划,使其成为印度首个启动此类计划的教育机构。以下是文章的核心要点:

  1. 起源:作者在2015年的夏天,无意中发现了IIT瓜哈提图书馆网站的MYSQL实例的密码,这使他能够远程访问该数据库。他决定向计算机科学系的网络管理员报告这个问题,他们帮助他向相关部门报告了这个问题,而没有提及他的名字。这是一切的开始。
  2. 背景:在2016年的夏天,作者在IITG学生网络委员会(SWC)实习,有机会第一次与网站管理员交流。他们讨论了黑客问题,并同意学生可以报告他们发现的安全漏洞。作者向他们报告了他在IIT瓜哈提网站上发现的一个LFI(本地文件包含)漏洞,他们在10分钟内修复了它。
  3. 个人动机:2016年1月,印度总理纳伦德拉·莫迪访问了他们的校园,强调了网络安全的重要性,并表示希望在这个领域工作的印度人才能够处于领先地位。这激发了作者的动机,他决定要做出改变,而IIT瓜哈提是他开始的明显选择。
  4. 现状:2017年6月30日,IIT瓜哈提启动了其漏洞赏金计划。在计划发布后的48小时内,他们收到了7个漏洞报告,其中3个是高优先级的问题。截至2017年7月16日,他们收到了大约10个报告,其中包括一个非常关键的漏洞,如RCE(远程代码执行)。
  5. 未来:作者希望在未来的两年内,如果有一个印度政府组织开始实施某种形式的负责任的披露模型,那么他的努力就会得到回报,他的初步计划就会成功。

这是一篇关于如何启动和运行一个成功的漏洞赏金计划的实践案例,对于任何希望增强自己网络安全的组织来说,都是一个很好的参考。

https://kmskrishna.me/how-did-iit-guwahati-start-its-own-bug-bounty-program-f81a152fecb9

CSRF的攻击和防范技巧

这篇文章是关于跨站请求伪造(CSRF)的攻击和防御方法的详细讨论。以下是文章的核心要点:

  1. 介绍:CSRF是一种利用用户在已登录的Web应用中执行非预期操作的攻击方法。与XSS相比,CSRF利用的是系统对页面浏览器的信任,而XSS利用的是系统对用户的信任。
  2. CSRF攻击原理:CSRF攻击需要满足两个条件:客户端必须有一个网站并生成存储在浏览器中的cookie凭据;cookie未被清除,客户端可以在一个页面中访问其他网站。
  3. CSRF攻击示例和分析:文章通过分析游戏虚拟货币转移的例子,详细介绍了简单级别、中级级别和高级级别的CSRF攻击。
  4. CSRF防御方法:文章提出了几种服务器端的防御方法,包括使用POST接收重要数据,使用验证码,验证HTTP Referer字段,以及在每个表单中添加token令牌进行验证。

这篇文章为理解CSRF攻击和防御提供了深入的视角,对于网络安全专业人士和开发者来说,这是一篇非常有价值的参考资料。

https://medium.com/@mena.meseha/csrf-attack-and-defense-methods-67e5a374dee4

缓存中毒攻击

这篇文章是关于一种新的缓存投毒攻击的,这种攻击影响了Cloudflare、Cloudfront和Fastly等内容分发网络(CDN)。以下是一些核心要点:

  1. 攻击概述:这种被称为缓存投毒拒绝服务(CPDoS)的攻击,攻击者访问一个网站以从CDN生成一个网页请求。然而,请求包含一个带有以下三个选项之一的头:HTTP Header Oversize (HHO)、HTTP Meta Character (HMC)、HTTP Method Override (HMO)。任何这些情况都会在web服务器上产生一个失败。
  2. 错误页面的缓存:错误页面将被缓存在CDN上(这是一个正常的过程),所以它最终会被传递给用户。这个错误页面会在其他CDN节点刷新时被发送出去,所以全球的受影响站点的用户都会面临错误页面,模拟了一个拒绝服务的情况。
  3. 影响:虽然没有真正的拒绝服务条件,但这种攻击可能会影响一个网站的运营、声誉,甚至收入水平。
  4. 防御措施:主要的预防措施是禁用任何HTTP错误页面的缓存,这是几乎所有CDN服务默认启用的选项。这样,HTTP错误页面就不会通过内容分发进行复制。
  5. 其他建议:web应用安全专家还建议网站管理员验证他们的CDN提供商是否符合标准的缓存协议,以及限制一些缓存功能。修改缓存设置以只显示一些错误页面(如404 Not Found和400 Bad Request错误页面)将减少这种攻击的影响。
  6. 公司的反应:专家及时向受影响的公司报告了这个问题,得益于这些报告,像Amazon和Microsoft这样的公司已经开始采取一些步骤来修复这些错误。其他受影响的公司,如Flask,尚未对报告进行评论,所以还有待观察他们的服务用户是否能够减轻利用风险。

https://iics.medium.com/new-cache-poisoning-attack-affects-cloudflare-cloudfront-fastly-cdns-384b9f121199

操作返回包,获取信息泄露漏洞

这篇文章的标题是”响应操纵 & 获取超过200K的个人身份信息数据 & (可以获得高达$4000+的赏金)”,主要讨论了如何通过操纵响应来升级权限,接管账户并访问个人身份信息(PII),并将低级别的漏洞转变为关键级别的漏洞。以下是文章的主要要点:

  1. 权限升级到管理员仪表板和账户接管:作者创建了一个基本的用户账户,并注意到一个名为/api/v1/session的端点。
  2. Cookie选项:存在一个名为“frontend”的cookie选项,其值为“2”。
  3. 程序行为的改变:当作者将其值从“2”改为“1”时,程序改变了其行为,开始调用v1 api。
  4. 修改用户信息:作者希望修改用户的信息,如电子邮件、名称等。
  5. 角色和能力参数:存在两个参数,一个叫做“roles”,另一个叫做“abilities”,v1端点传输的数据比v3端点多。
  6. 获取角色和能力列表:作者试图访问JS文件以获取角色和能力列表,他能够获取其中的一些,包括10种能力(如users.view, http://documents.read)。
  7. 请求转发:在改变了职责和能力的值后,作者转发了请求。
  8. 管理员仪表板的访问:作者发现自己在管理员仪表板中,拥有所有的管理员职责和能力(即使admin:false)。
  9. 一些有用的提示:一个好的经验法则是,总是看看是否可以访问web应用的较低版本,阅读JS文件以获取关于目标的额外端点和想法,确认是否有任何额外的角色或功能只对管理员开放。

https://jjainam16.medium.com/response-manipulation-got-200-k-pii-data-can-give-upto-4000-bounty-b10e70802714

业务逻辑漏洞挖掘清单

这篇文章是关于业务逻辑检查清单的,作者Az3m列出了一系列可能存在的业务逻辑漏洞和如何测试这些漏洞的方法。以下是一些核心要点:

  1. 价格变更:尝试使用其他价格(如负值)或通过添加负值来更改价格。
  2. 检索个人资料:如果通过更改id值可以获取其他用户的信息,可能存在授权绕过的漏洞。
  3. 购物车:检查是否可以绕过认证过程直接登录购物车应用并避免支付“购买”的商品。
  4. 评论功能:尝试以未购买产品的验证评论者的身份发布评论,或尝试超出/低于评分范围。
  5. 优惠码功能:尝试多次使用同一优惠码,或在应用只接受一个代码的情况下尝试添加多个优惠码。
  6. 交货费用滥用:尝试篡改交货费用率为负值,看是否可以减少最终金额。
  7. 货币套利:以一种货币(如美元)支付,然后尝试以另一种货币(如欧元)退款。
  8. 高级功能滥用:尝试强制浏览属于高级账户的区域或某些特定端点。
  9. 退款功能滥用:购买产品(通常是某种订阅)并要求退款,看是否仍然可以使用该功能。
  10. 购物车/愿望清单滥用:尝试添加负数量的产品,或添加超过可用数量的产品。
  11. 参数篡改:尝试篡改支付或关键字段以操纵其值。
  12. 参数篡改可能导致产品价格操纵。
  13. 在Semrush.Academy操纵考试结果:在这种情况下,可以绕过考试过程,即用正确的结果替换考试结果,并立即发送请求以立即获得证书。
  14. 在应用层面的身份验证标志和权限升级:应用程序有自己的访问控制列表(ACL)和权限。与安全性有关的应用程序的最关键的方面是身份验证。
  15. 业务约束利用:应用程序的业务逻辑应该有定义的规则和约束,这对于应用程序非常关键。如果这些约束被攻击者绕过,那么它可以被利用。
  16. 业务流程绕过:应用程序包括由重定向和页面转移控制的流程。
  17. 身份或个人资料提取:用户的身份是已认证应用程序中最关键的参数之一。
  18. 文件或未授权的URL访问和业务信息提取:业务应用程序在其功能中包含关键信息,在导出的文件中以及在导出功能本身中。
  19. 空载荷:在更改密码时尝试删除当前密码。
  20. 你可以在这个仓库中阅读我所有的Checklist:https://github.com/Az0x7/vulnerability-Checklist

https://medium.com/@Az3m/business-logic-checklist-eafde7f86dc2

黑客通过了解用户名可以挖掘到哪些信息

这篇文章的标题是”告诉我你的用户名,我就能告诉你你是谁!”,主要讨论了如何通过在线社交媒体研究在德国进行开源情报(OSINT)工具的使用。以下是文章的主要要点:

  1. 社交媒体和个人数据:文章指出,尽管欧洲国家对数据隐私非常重视,但社交媒体的使用往往超越了这些关于数据隐私的热议。人们有强烈的愿望成为新的数字社会的一部分,这使得他们在社交媒体上留下了许多痕迹。
  2. 用户名和身份确认:许多人在网络上使用他们的真实姓名作为用户名,或者在不同的平台上重复使用相同的用户名。这为在线调查者提供了验证线下身份的可能性。例如,可以在Twitter的个人资料更改历史上读取信息,或者通过参加马拉松的参赛者名单等在线条目匹配姓名和出生日期。
  3. 社交媒体行为和个人习惯:人们在社交媒体上发布的信息,无论是公开的还是匿名的,通常都能反映出他们的真实生活。例如,他们可能会在社交媒体上发布他们的日常生活细节,或者在论坛上匿名描述他们的问题。这些行为可以帮助在线调查者找到与线下个人相符的线索。
  4. 工具和技术:文章提到了一些工具和技术,如Spoonbill.io(用于读取Twitter个人资料的更改历史),以及如何使用搜索运算符来查找用户名。此外,文章还提到了一些可以用于研究的网站,如Immobilienscout24(一个房地产交易平台)和Handelsregister.de(一个商业注册网站)。
  5. 个人数据的保护:尽管德国公民在处理个人数据方面比其他国家的公民更为谨慎,但仍有超过一半的受访者表示他们“经常或偶尔”与公司、社交媒体服务或应用分享个人数据。这为记者和调查者的在线研究提供了极大的便利。

https://osintteam.blog/give-me-your-username-ill-tell-you-who-you-are-1e12369d3b2c

挖掘Web应用程序中的业务逻辑漏洞

这篇文章深入探讨了Web应用中的业务逻辑漏洞,以下是一些核心要点:

  1. 理解业务逻辑漏洞:业务逻辑漏洞利用Web应用的设计和功能。当黑客操纵预期的工作流程或绕过应用控制以达到期望的结果时,如未经授权的访问、数据暴露或操纵,就会出现这种漏洞。
  2. 识别和利用业务逻辑缺陷:传统的渗透测试工具可能无法发现业务逻辑漏洞,因为这些工具通常专注于标准的安全漏洞,如XSS或SQLi。相反,需要深入理解应用,并结合创新和跳出框架的思考。
  3. 案例研究:文章深入探讨了一些真实的案例研究,这些案例突显了业务逻辑漏洞在各个领域和平台中的复杂性、影响和多样性。通过这些例子,我们希望提供对这些漏洞的更深入的理解,它们可能带来的后果,以及如何可能被缓解。
  4. 缓解策略:解决业务逻辑漏洞需要技术控制和良好的架构设计的混合。这里有一些通用的建议:严格的服务器端输入验证,确保只处理预期的输入;实施强大的认证、会话管理和访问控制,以防止未经授权的访问;使用Web应用防火墙(WAFs),虽然它们不能直接识别业务逻辑缺陷,但可以通过阻止异常请求来帮助阻止潜在的攻击者;开发者和安全团队需要理解应用如何工作,以及与其功能相关的潜在风险。

总的来说,这篇文章详细地描述了业务逻辑漏洞的工作原理,以及如何识别和利用这些漏洞。

https://medium.com/@lopseg/digging-deeper-unearthing-business-logic-vulnerabilities-in-advanced-web-applications-bc32d8e571a6

网络缓存欺骗攻击

这篇文章是关于Web缓存欺骗攻击的,以下是一些核心要点:

  1. Web缓存欺骗攻击:这种攻击发生在攻击者欺骗用户点击一个链接,例如http://www.example.com/newsfeed/foo.jpg,当http://www.example.com/newsfeed是一个动态脚本的位置,它为不同的用户返回不同的内容。对于某些网站配置(Apache的默认配置,但nginx不是),这将调用/newsfeed,PATH_INFO设置为/foo.jpg。如果http://www.example.com/newsfeed/foo.jpg没有返回正确的Cache-Control头部来告诉Web缓存不要缓存内容,Web缓存可能会根据URL的扩展名决定缓存结果。然后攻击者可以访问同样的URL并检索私有页面的缓存内容。
  2. 修复方法:正确的修复方法是配置您的网站拒绝带有额外PATH_INFO的请求,或返回正确的Cache-Control头部。有时候,客户可能无法做到这一点(可能是因为网站正在运行他们无法完全控制的第三方软件),他们可以为这些脚本位置应用一个Bypass Cache Page Rule。
  3. 缓存欺骗防护:新的Cache Deception Armor Page Rule可以保护客户免受Web缓存欺骗攻击,同时仍然允许静态资产被缓存。它验证URL的扩展名是否与返回的Content-Type匹配。例如,如果http://www.example.com/newsfeed是一个输出网页的脚本,Content-Type是text/html。另一方面,http://www.example.com/newsfeed/foo.jpg预计会有image/jpeg作为Content-Type。当我们看到一个可能导致Web缓存欺骗攻击的不匹配时,我们不会缓存响应。

总的来说,这篇文章详细地描述了Web缓存欺骗攻击的工作原理,以及如何使用Cloudflare的新工具来防止这种攻击。

https://medium.com/cloudflare-blog/web-cache-deception-attack-revisited-fec9f2c77f43

SQL注入学习基础

这篇文章是关于SQL(结构化查询语言)的基础教程,作者试图解释SQL的基本概念和用法。以下是文章的主要要点:

  1. SQL的分类:SQL可以分为数据定义语言(DDL)、数据操作语言(DML)、数据控制语言(DCL)和事务控制语言(TCL)。本文主要关注DDL和DML。
  2. 数据库基本概念:文章解释了主键、唯一键和外键的概念,并通过示例进行了说明。
  3. SQL语法:文章详细介绍了SQL的基本语法,包括创建、删除和修改数据库对象的命令,以及如何使用SELECT命令从表中检索数据。
  4. 数据操作:文章介绍了如何使用INSERT、UPDATE和DELETE命令对表中的数据进行操作。
  5. 聚合函数和分组:文章解释了如何使用聚合函数(如COUNT()、MAX()、MIN()、SUM()和AVG())以及GROUP BY语句对数据进行分组和总结。
  6. 连接和子查询:文章介绍了如何使用JOIN关键字将不同的表连接在一起,以及如何使用子查询在另一个查询中使用查询结果。
  7. SQL命令的执行顺序:文章最后解释了SQL命令的执行顺序,这对理解复杂的SQL查询非常重要。

这篇文章是一个很好的SQL入门教程,适合对数据库和SQL感兴趣的读者。

https://medium.com/@Fady_Moheb/sql101-780f745197f0

API安全提示清单,学API安全测试必看

这是一个Google电子表格,其中包含了一系列的API安全提示,这些提示由Inon Shkedy和Traceable AI的团队提供。以下是一些核心要点:

  1. 授权(AuthZ):文章讨论了如何在APIs中找到BOLA(IDOR)漏洞,包括使用数组包装ID,使用JSON包装,发送两次ID,以及发送通配符。
  2. 注入(Injection):文章提供了如何利用SSRF进行内部端口扫描,利用云服务,使用webhook.site来揭示IP地址和HTTP库,下载大文件进行Layer 7 DoS攻击,以及如何利用反射SSRF来泄露本地管理控制台。
  3. 质量保证(QA)/阶段(Staging)环境:文章强调了开发人员经常在非生产环境中禁用安全机制,这可以被利用来绕过授权、认证、速率限制和输入验证。
  4. 工具:文章推荐了使用Burp,这是一个可以帮助你管理渗透测试的工具,特别是它的“树视图”功能,可以看到你访问过的所有API端点。
  5. 数据暴露(Data Exposure):文章指出APIs往往会设计成泄露PII(个人识别信息),因为后端工程师返回完整的JSON对象,依赖前端工程师过滤敏感数据。

总的来说,这个电子表格提供了一系列的API安全提示,包括授权、注入、质量保证/阶段环境、工具使用和数据暴露等方面的内容。

https://docs.google.com/spreadsheets/d/1jn3JnWzQFZW41gKo5Fhxwf2ke2w-pvrpCGhBmKhyIBE/edit#gid=0

MariaDB注入漏洞挖掘

这篇文章是关于作者如何通过利用SQL错误SQLSTATE[42000]来攻击一个大型欧洲在线媒体和娱乐组织的MariaDB数据库的。以下是一些核心要点:

  1. 目标选择:作者收到了一个私人邀请,邀请他对一个欧洲的在线媒体和娱乐组织进行黑客攻击。尽管目标范围并不广泛,但是高额的赏金吸引了作者的注意。
  2. 侦查过程:作者使用了各种证书透明度搜索工具进行子域名枚举,然后使用SubFinder进行被动子域名探测,最后使用HTTPX进行HTTP探测。
  3. 参数扫描:作者使用ParamSpider进行参数扫描,然后手动检查发现的URL。在检查URL时,作者决定专注于PHP端点,因为他对在PHP基础的web应用中发现潜在漏洞如XSS、SQLi或SSRF有信心。
  4. SQL注入:在测试所有参数后,作者发现了一个可能的SQL注入点。当他向“sales_ref”参数发送SQLi负载时,他在响应中看到了一个“SQL错误SQLSTATE[42000]:语法错误”。
  5. SQLMap的使用:尽管自动化的SQLMap在初次运行时未能检测到任何SQL注入,但是在手动模式下,SQLMap成功地检测到了四种类型的SQL注入:基于布尔的盲注,基于错误的注入,堆叠查询,和基于时间的盲注。
  6. 获得赏金:在报告经过审查后,作者收到了3000美元的赏金。虽然赏金没有达到他的预期,但他对获得的奖励表示满意和感激。

总的来说,这篇文章详细地描述了作者如何通过利用SQL错误来攻击一个大型在线媒体和娱乐组织的数据库,以及他在这个过程中使用的各种工具和方法。

https://infosecwriteups.com/exploiting-sql-error-sqlstate-42000-to-own-mariadb-of-a-large-eu-based-online-media-and-cf7396c43bbf

推荐阅读

100天带你走进黑客漏洞赏金猎人的大门(第一天)

100天带你走进黑客漏洞赏金猎人的大门(第二天)

100天带你走进黑客漏洞赏金猎人的大门(第三天)

100天带你走进黑客漏洞赏金猎人的大门(第四天)

100天带你走进黑客漏洞赏金猎人的大门(第五天)

100天带你走进黑客漏洞赏金猎人的大门(第六天)

100天带你走进黑客漏洞赏金猎人的大门(第七天)