您当前位置: 首页 »

敏感函数

标签归档: 敏感函数

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

mt_rand()

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

一、函数原型及说明

int mt_rand ( int $min , int $max )

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

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

readmore

addslashes()

一、函数原型及说明

string addslashes ( string $str )在一些特殊字符【单引号(’)、双引号(”)、反斜线()与 NUL(NULL 字符)】前加上反斜线并返回字符串。返回的值是转义后的字符串。

二、函数风险及原理

1.人为习惯

大概分为两种情况,第一种情况是当GPC关闭时,模拟GPC,第二种情况是在数据库语句中变量没有使用单引号包围,导致不用输入单引号即可以注入

readmore

iconv()

一、函数原型及使用说明

string iconv ( string $in_charset , string $out_charset , string $str )

iconv()的作用是将字符串 str 从 in_charset 转换编码到 out_charset。如果你在 out_charset 后添加了字符串 //TRANSLIT,将启用转写(transliteration)功能。这个意思是,当一个字符不能被目标字符集所表示时,它可以通过一个或多个形似的字符来近似表达。 如果你添加了字符串 //IGNORE,不能以目标字符集表达的字符将被默默丢弃。 否则,str 从第一个无效字符开始截断并导致一个 E_NOTICE。

readmore