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

    代码审计Day8 - preg_replace函数之命令执行

    下面是 第8篇 代码审计文章: Day8 - Candle 题目叫蜡烛,代码如下 preg_replace:(PHP 5.5) 功能 : 函数执行一个正则表达式的搜索和替换 定义 : mixed preg_replace...() 将 $replacement 当做php代码来执行 漏洞解析 这道题目考察的是 preg_replace 函数使用 /e 模式,导致代码执行的问题。...5.5 版本,漏洞入口文件为 /lib/tool/form.php ,我们可以看到下图第7行处引用了preg_replace ,且使用了 /e 模式。...guestadd.php 中的关键代码如下: 那么问题来了, catid 是在何处定义的,或者说与什么有关?...(phpinfo())} 修复方案 漏洞是 preg_replace() 存在 /e 模式修正符,如果正则匹配成功,会造成代码执行漏洞,因此为了避免这样的问题,我们避免使用 /e 模式修正符,如下图第

    96020

    看代码学安全(8 )preg_replace函数之命令执行

    preg_replace:(PHP 5.5) 功能 : 函数执行一个正则表达式的搜索和替换 定义 : mixed preg_replace ( mixed $pattern , mixed $replacement...() 将 $replacement 当做php代码来执行 漏洞解析 这道题目考察的是 preg_replace 函数使用 /e 模式,导致代码执行的问题。...这里我们提供一个可用 payload :\S*=${phpinfo()} ,详细分析请参考我们前几天发表的文章: 深入研究preg_replace与代码执行 ?...那么问题来了, catid 是在何处定义的,或者说与什么有关?通过搜索,我们发现 lib/table/archive.php 文件中的 get_form() 函数对其进行了定义。...修复方案 漏洞是 preg_replace() 存在 /e 模式修正符,如果正则匹配成功,会造成代码执行漏洞,因此为了避免这样的问题,我们避免使用 /e 模式修正符,如下图第7行: ?

    2.3K30

    php写入配置文件的经典漏洞

    phithon师父在小蜜圈里放了一个经典的配置文件写入问题漏洞. <?php if(!...此处不存在之前说的那个配置文件中用的是”双引号”引起任意代码执行的问题,这这里面用的是单引号,而且 addslashes()处理过了,看似很安全,但是对于脑子里有个黑洞的搞安全的人来讲,这个还真是有问题的...方法二,利用 preg_replace函数的问题: 用preg_replace()的时候replacement(第二个参数)也要经过正则引擎处理,所以正则引擎把\\转义成了\ 也就是说如果字符串是\\\...',经过 preg_replace()的处理,就变为 \\',单引号就逃出来了....方法三, 利用 preg_replace() 函数的第二个参数的问题 先看官方对preg_replace()函数的描述manual 函数原型: mixed preg_replace ( mixed $pattern

    2.6K20
    领券