首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

360春秋杯3道web题的简单分析

= "") { putenv("TZ=$timezone"); }else{ putenv("TZ=Asia/Shanghai"); } 然后想到了有没有二次注入,没发现有二次入库的地方...继续看了配置文件,发现有个putenv这个东西,以前没见过,然后百度一番,发现是个增删改环境变量的东西。 在大表哥的指点下习惯性的百度了一下 php putenv 漏洞首页出现了一篇文章。...wooyun.jozxing.cc/static/drops/tips-16054.html 里面有个poc链接https://www.exploit-db.com/exploits/35146/ 看链接的意思是putenv...这时候构造post 数据 config[timezone]就可以更新putenv的值了。 send.php代码截个图吧。 ?...这里直接include('inc/config.php')文件所以putenv也在此页面中执行。满足poc要求。达到命令执行。附上写的payload脚本。 ?

1.2K80

Laravel源码解析之ENV配置

')) { putenv("$name=$value"); } $_ENV[$name] = $value; $_SERVER[...如果检查环境变量不存在那么接着Dotenv就会把环境变量通过PHP内建函数 putenv设置到环境中去,同时也会存储到 $_ENV和 $_SERVER这两个全局变量中。...我们看到了在加载配置和读取配置的时候,使用了 putenv和 getenv两个函数。 putenv设置的环境变量只在请求期间存活,请求结束后会恢复环境之前的设置。...而且在服务器上给运行用户配置的环境变量会共享给用户启动的所有进程,这就不能很好的保护比如 DB_PASSWORD、 API_KEY这种私密的环境变量,所以这种配置用 putenv设置能更好的保护这些配置信息..., getenv方法能获取到系统的环境变量和 putenv动态设置的环境变量。

2K20
领券