前往小程序,Get更优阅读体验!
立即前往
发布
社区首页 >专栏 >PHP变量覆盖漏洞---零零一

PHP变量覆盖漏洞---零零一

作者头像
vFREE
发布2021-12-20 21:34:33
发布2021-12-20 21:34:33
7780
举报
文章被收录于专栏:博客原创文章博客原创文章

PHP是最好的语言!!! ① $$引发的覆盖漏洞

此时输出的信息是"人畜无害"的,但是如果在$a前面再加上一个$的话,那输出的内容就不一样了,如图所示:

考察的题目一般都是考察全局变量,像这样子的:

如果在题目源码中有看到两个$的话,先传入一个GLOBALS,惊喜接种而来 ② extract引发的变量覆盖漏洞 extract将数组中的变量作为值,在extract中使用已有值的名字,并且内容变化的话,就会覆盖原有的值

本来a是等于123,b是等于456的,但是使用数组给已有值名(a和b)赋不一样值,并且使用extract输出了值,因此这就成为了一个变量覆盖漏洞 使用extract输出一个数组,数组的键名就是变量名,值名就是变量名的值 题目考察一般考察用if语句判断用户输入的值和已有的某个值是否相等,相等则输出flag,反之啥也没 比如这样子的:

传入两个参数(flag和get),可以置空(/?get=&flag=)或者传入两个相同的值(/?get=1&flag=1) ③ parse_str使用不当导致覆盖漏洞

parse_str会将一个变量重新注册,parse_str里面的值,将会覆盖掉原有的值,就像上面那样,原本a是abcde,经过parse_str注册后,变成了12345 题目考察也是传入一个"传新"的变量,和比较值相等就好了

传入:/?a=flag=123;(123可以是任意值) 审计题目代码的时候,多关注一些危险函数,通过危险函数快速定位考察的内容 然后对症下药,一下子把题目给收了 注:部分图片源自于网络,如有侵权,请联系删除!!!谢谢

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档