首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

看代码学安全(7 )- parse_str函数缺陷

漏洞解析 : 这一关其实是考察变量覆盖漏洞,⽽导致这⼀漏洞的发⽣则是不安全的使⽤ parse_str 函数。 由于 第21行 中的 parse_str() 调用,其行为非常类似于注册全局变量。...我们来看看PHP官方对 parse_str 函数的定义: parse_str 功能 :parse_str的作用就是解析字符串并且注册成变量,它在注册变量之前不会验证当前变量是否存在,所以会直接覆盖掉当前作用域中原有的变量...第17行 (上图)的 parse_str 引起了我的兴趣,看一下这一小段代码做了些什么(下图第4行处): ?...这个问题的解决就利用到了 $REQUEST 内容与 parse_str 函数内容的差异特性。...而通过上面代码的遍历进入 parse_str 函数的内容则是 [a=1&b=2&c=3] ,因为 parse_str 函数会针对传入进来的数据进行解码,所以解析后的内容就变成了[a=1,b=2,c=3]

99610

代码审计Day7 - parse_str函数缺陷

由于 第21行 中的 parse_str() 调用,其行为非常类似于注册全局变量。...我们来看看PHP官方对 parse_str 函数的定义: parse_str 功能 :parse_str的作用就是解析字符串并且注册成变量,它在注册变量之前不会验证当前变量是否存在,所以会直接覆盖掉当前作用域中原有的变量...该版本的buy_action.php处存在SQL注入漏洞,这里其实和 parse_str 有很大关系,下⾯我们来看看具体的漏洞位置。...这个问题的解决就利用到了 $REQUEST 内容与 parse_str 函数内容的差异特性。...而通过上面代码的遍历进入 parse_str 函数的内容则是 [a=1&b=2&c=3] ,因为 parse_str 函数会针对传入进来的数据进行解码,所以解析后的内容就变成了[a=1,b=2,c=3]

63530
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    DedeCMS V5.7sp2网站漏洞如何修复

    最近我们发现dedecms漏洞,存在高危的parse_str函数sql注入漏洞。...关于该织梦漏洞的详情,我们一步一步来剖析: 首先来介绍下parse_str函数的机制与作用是什么,简单通俗来讲就是解析网站传过来的字符串,将字符串的值转变成一个固有的变量值,这个函数在传入进来,进行转变的时候并不会验证网站当前变量的值是否含有...我们对该代码进行人工的安全检测发现,在第4,第6行里调用了一个mchStrCode函数机制,这个函数我来简单跟大家讲解一下原理是什么,该函数是将前端网站用户提交过来的数据进行解码,然后通过parse_str...dedecms网站漏洞修复建议: 关于这次的dedecms parse_str函数SQL注入漏洞,需要修复的就是变量的覆盖修复,在对前端输入过来的值进行安全判断,确认变量值是否存在,如果存在将不会覆盖,

    3K10
    领券