您当前位置: 首页 »

敏感函数

分类目录归档: 敏感函数

file_put_contents()

来自于p师傅小密圈的分享,不得不膜各位师傅。file_put_contents()在写入文件时的第二个参数可以传入数组,如果是数组的话,将被连接成字符串再进行写入。在正则匹配前,传入的是一个数组。得益于PHP的弱类型特性,数组会被强制转换成字符串,也就是Array,Array肯定是满足正则\A[ _a-zA-Z0-9]+\z的,所以不会被拦截。这样就可以绕过类似检测“<?”之类的waf

readmore

preg_match()

这个是一个应用比较多的函数,很多应用程序忘记对preg_match(_all)的变量进行初始化,导致安全漏洞.

一、函数原型及使用说明

int preg_match ( string $pattern , string $subject [, array &$matches [, int $flags = 0 [, int $offset = 0 ]]] )

搜索subject与pattern给定的正则表达式的一个匹配.

readmore

json_encode()

不光是json_encode 像base64_encode这样的都可以用来绕过转义

json_encode会吃掉转义的\

函数比较简单,直接看测试代码

readmore

imagecreatefromgif()

imagecreatefromgif — 由文件或 URL 创建一个新图象。

resource imagecreatefromgif ( string $filename )imagecreatefromgif() 返回一图像标识符,代表了从给定的文件名取得的图像。这里只能使用gif图片,jpg的话会报错。

利用场景就是可以成功上传php图片马,但是图片马中的代码被过滤掉。

imagecreatefromgif()被用来渲染图片,生成一个新的图片,原有图片中的代码会被过滤掉,包括EXIF、文件尾等常用的插入一句话的地方。因此imagecreatefromgif()在很长一段时间内都是被认为无法突破的,但今年一些国外大佬却发现的bypass的方法,并写出了脚本:

readmore

mt_rand()

最近看到p牛在圈子分享文章php的随机数的安全性分析,于是自己翻了翻自己的笔记,找到一篇之前的文章,记录一下

一、函数原型及说明

int mt_rand ( int $min , int $max )

min  可选的、返回的最小值(默认:0)

max  可选的、返回的最大值(默认:mt_getrandmax())

readmore