700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > PHP代码审计敏感函数合集

PHP代码审计敏感函数合集

时间:2021-07-06 10:57:13

相关推荐

PHP代码审计敏感函数合集

PHP代码审计

通常去代码审计的时候基本是正则的挖掘思路

通常代码审计的话,大部分就是通过关键的函数,和关键的变量去审计

敏感函数

PHP操作数据库函数

mysqli_connect()//建立与MySQL数据库的连接mysqli_connect_errno()//判断连接数据库是否成功mysql_connect_error()//输出连接错误的错误信息mysql_select_db()//设置连接的数据库mysqli_set_charset()//设置与MySQL数据库传送数据时使用的字符集mysqli_query()//执行并发送SQL语句mysqli_affected_rows()//获得前一次操作的所影响的行数mysqli_fetch_all()//从结果集中取出所有行作为关联或索引、混合数组mysqli_fetch_assoc()//从结果集中取出所有行作为关联数组mysqli_fetch_row()//从结果集中取出所有行作为索引数组mysqli_fetch_array()//从结果集中取出所有行作为混合数组mysqli_insert_id()//获得上一次insert操作的idmysqli_num_rows()//获得结果集中的记录条数mysqli_num_rows()//获得结果集中的记录条数mysqli_close()//关闭数据库连接

PHP文件上传函数/文件操作函数

deldotin_arrayintvalstrrchrstrtolowerstrrposstr_ireplacestrstrsubstrtrimfile_put_contents()//函数把一个字符串写入文件中。fputs()//函数写入文件copy — 拷贝文件delete — 参见 unlink 或 unsetfflush — 将缓冲内容输出到文件file_get_contents — 将整个文件读入一个字符串file_put_contents — 将一个字符串写入文件fputcsv — 将行格式化为 CSV 并写入文件指针fputs — fwrite 的别名fread — 读取文件(可安全用于二进制文件)fscanf — 从文件中格式化输入fwrite — 写入文件(可安全用于二进制文件)move_uploaded_file — 将上传的文件移动到新位置readfile — 输出文件rename — 重命名一个文件或目录rmdir — 删除目录unlink — 删除文件

PHP命令执行命令注入函数

popen()pcntl_exec()escapeshellarg — 把字符串转码为可以在 shell 命令里使用的参数escapeshellcmd — shell 元字符转义exec — 执行一个外部程序passthru — 执行外部程序并且显示原始输出proc_close — 关闭由 proc_open 打开的进程并且返回进程退出码proc_get_status — 获取由 proc_open 函数打开的进程的信息proc_nice — 修改当前进程的优先级proc_open — 执行一个命令,并且打开用来输入/输出的文件指针。proc_terminate — 杀除由 proc_open 打开的进程shell_exec — 通过 shell 环境执行命令,并且将完整的输出以字符串的方式返回。system — 执行外部程序,并且显示输出

PHP代码执行函数

eval()//eval() 函数把字符串按照 PHP 代码来计算,如常见的一句话后门程序:<?php eval($_POST[cmd])?assert()//与eval类似,字符串被 assert() 当做 PHP 代码来执行preg_replace()//preg_replace()函数原本是执行一个正则表达式的搜索和替换,但因为存在危险的/e修饰符,使 preg_replace() 将 replacement 参数当作 PHP 代码create_function()//create_function主要用来创建匿名函数,如果没有严格对参数传递进行过滤,攻击者可以构造特殊字符串传递给create_function()执行任意命令array_map()//array_map() 函数将用户自定义函数作用到数组中的每个值上,并返回用户自定义函数作用后的带有新值的数组。 回调函数接受的参数数目应该和传递给 array_map() 函数的数组数目一致call_user_func()/call_user_func_array ()//call_user_func — 把第一个参数作为回调函数调用,其余参数是回调函数的参数。//call_user_func_array — 调用回调函数,并把一个数组参数作为回调函数的参数array_filter()//array array_filter ( array $array [, callable $callback [, int $flag = 0 ]] )//依次将 array 数组中的每个值传递到 callback 函数。如果 callback 函数返回 true,则 array 数组的当前值会被包含在返回的结果数组中。数组的键名保留不变。usort()、uasort()//usort() 通过用户自定义的比较函数对数组进行排序。//uasort() 使用用户自定义的比较函数对数组中的值进行排序并保持索引关联 。

PHP输出/打印函数

echo()print()printf()sprintf()print_r()var_dump()die()

PHP文件下载

fopen()readfile()file_get_contents()

PHP文件删除

unlink()

PHP文件读取

file_get_contents()readfile()highlight_file()

PHP魔术方法

__construct()//每次创建新对象时先调用此方法,所以非常适合在使用对象之前做一些初始化工作__destruct()//某个对象的所有引用都被删除或者当对象被显式销毁时执行__call() //在对象上下文中调用不可访问的方法时触发__callStatic() //在静态上下文中调用不可访问的方法时触发__get() //用于从不可访问的属性读取数据__set() //用于将数据写入不可访问的属性__isset() //在不可访问的属性上调用isset()或empty()触发__unset() //在不可访问的属性上使用unset()时触发__sellp() //使用serialize时触发__wakeup() //使用unserialize时触发__toString() //把类当作字符串使用时触发__invoke() //当脚本尝试将对象调用为函数时触发__set_state()//当调用 var_export() 导出类时,此静态方法会被自动调用。__clone()//当使用 clone 复制一个对象时自动调用__debuginfo()//使用 var_dump() 打印对象信息时自动调用

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。