【代码审计-PHP】审计方法、敏感函数、功能点

目录

一、软件分析

二、手动分析

方法一:静态分析

方法二:动态分析


一、软件分析

seay自动代码审计

数据库监控脚本

二、手动分析

方法一:静态分析

第一步:危险函数

第二步:函数的判断语句分析

第三步:函数值的传递过程

第四步:传递过程中是否有判断缺陷地方

第五步:传递过程中是否有函数值可控的地方

类型 危险函数
SQL select、insert、update、POST、$REQUEST、mysql_query、mysqli
文件上传 $_FILES、move_uploaded_file、!file_exists、type="file"
文件读写 file_get_contents()、file_put_contents()、move_uploaded_file()、highlight_file()、fopen()、readfile()、fread()、fgetss()、fgets()、parse_ini_file()、show_source()、file()、rename()
文件删除 unlink & delete()、rmdir()
文件包含 include、include_once、require、require_once
命令执行 system()、exec()、shell_exec()、passthru()、pcntl_exec()、popen()、proc_open()
代码执行 eval()、assert()、preg_replace()、call_user_func()、call_user_func_array()、array_map()
xss print、print_r、echo、printf、sprintf、die、var_dump、var_export
变量覆盖关 $$、parse_str()、extract()、importrequestvariables()
反序列化 serialize()、unserialize()、__construct__
…… ……

方法二:动态分析

第一步:可能出现问题的功能点

第二步:phpStudy + PhpStorm + XDebug动态调试

第三步:发现漏洞

功能
文件上传 解析执行
查询 SQL注入
密码找回 逻辑漏洞、重置任意用户账号密码、短信验证码劫持、用户邮箱劫持篡改
登录 暴力破解、SQL注入、逻辑、越权
评论、资料 XSS
个人中心 越权、遍历
注册 任意账号注册、存储型xss
后台管理 密码泄露、目录遍历
…… ……

你可能感兴趣的:(0X05【代码审计】,php)