深入理解Laravel(CVE-2021-3129)RCE漏洞(超2万字从源码分析黑客攻击流程)
背景 近期查看公司项目的请求日志,发现有一段来自俄罗斯首都莫斯科(根据IP是这样,没精力溯源)的异常请求,看传参就能猜到是EXP攻击,不是瞎扫描瞎传参的那种。日志如下(已做部分修改): [...
高并发下数据幂等问题的9种解决方案
置顶说明 严格来说,所谓人云亦云的接口幂等性,大部分场景是要求接口防重或数据幂等,而不是接口幂等,很多人都搞混了。 举例:后端做了支付防重,用户对单一订单重复支付,再次支付不是提示支...
PHP-FPM与Nginx通信报 502 Bad Gateway或504 Gateway Timeout终极解决方案(适用于PHP执行耗时任务情况下的报错)
前置条件: 适用于常规请求都没问题,但是执行某些php脚本需要超过一分钟的情况下的502/504,并不是任何请求都502/504的情况(这说明php-fpm或者nginx配置错误)。 出现502/504的原因 502 执行...
PHP CGI远程代码执行高危漏洞(CVE-2024-4577)复现与源码分析
五一假期,偶然间刷到了这个漏洞,我用shodan和钟馗之眼做了资产扫描,发现大量有使用XMAPP的用户,并且攻击成本并不高,危害却很大。 中国工程院院士邬贺铨曾说过:“网络安全永远在路上,那么...
深入理解PHP+Redis实现布隆过滤器(亿级大数据处理和黑客攻防必备)
布隆过滤器 极简概括 英文名称Bloom Filter,用于判断一个元素是否在一个大数据集合中,如果检测到存在则有可能存在,如果不存在则一定不存在。 Redis官网对于布隆过滤器的说明:https://redis....
你写的防止任意文件上传漏洞的代码,不一定安全
说明:任意文件上传漏洞,很多PHP开发者也会做一些简单的防护,但是这个防护有被绕过的可能。 原生漏洞PHP示例代码: $file = $_FILES['file'] ?? []; //检测文件类型 $allow_mime = [&...
基于Laravel封装一个强大的请求响应日志记录中间件
为何强大 记录全面: 包含请求路径、请求方法、客户端IP、设备标识、荷载数据、文件上传、请求头、业务逻辑处理时间、业务逻辑所耗内存、用户id、HTTP响应状态码、以及响应数据。 配置简单: 默...
从安全、开发、产品三个角度反对用refresh_token续期access_token的观点
说明: access_token: 服务端与客户端通信,有时服务端需要知道客户端的身份,就会用到access_token来用于验证身份。 refresh_token: 但为了保证安全token会设置过期时间,如果直接过期,相当...
封装一个PHP可控限速下载文件的方法
说明 实测下载后的文件与源文件哈希值一致,保证数据传输安全一致。 如果下载到的文件每次都165KB左右,和源文件大小不符合,需要用IDE打开下载的文件,看看是否报致命错误,提示超过最大内存限...











