首页
学习
活动
专区
圈层
工具
发布
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    PHP代码审计05之正则使用不当

    题目漏洞是正则使用不严谨导致任意文件删除的漏洞,现在来具体分析,引起漏洞的地方在上面代码的21行,这里用到了preg_replace()函数,我们打开PHP手册来看看对这个函数的定义如下: ?...']; if (0 >= preg_match('/^[[:graph:]]{12,}$/', $password)) { echo 'Wrong Format';...手册,了解了字符类,下面来分析代码,上面一共三处正则表达,第一处如下: if (0 >= preg_match('/^[[:graph:]]{12,} 它表示的含义是匹配到可打印字符12往上包含12,^...下面看第三处正则: $ps = array('punct', 'digit', 'upper', 'lower'); foreach ($ps as $pt) { if (preg_match("/[...看代码第117行,这里是获取目录路径,参数也是我们可以控制的,再向后看,用到了str_replace()函数,它是个字符串替换函数,具体说明如下: ?

    92011
    领券