前言
- 代码审计学习记录
工具
PHPStrom + PHPDebug 调试配置建议看看这篇
动态调试的一些快键键
1 | Ctrl + F8 下断点 |
溯源技巧
1 | Ctrl + Shift + F 全项目查找 |
PHP手工调试
- 万金油函数
1 | var_dump |
- 查看上下文内容
1 | get_defined_functions # 返回所有已定义函数的数组 |
- 查看函数调用过程
1 | debug_backtrace |
- XDebug手工调试
1 | xdebug_call_file #获取调用当前函数的文件 |
PHP服务架构
PHP运行模式 (Sapi)
CLI
CGI
PHP Built-in Webserver
- php -S localhost:9090 (当前目录启动基于php的服务)
Apache php_mod
php-fpm(Fastcgi)
- Nginx
- IIS7+
- Lighttpd
IIS6 + ISAPI
Swoole
PHP安全配置
影响PHP安全的全局配置
1
2
3
4
5
6
7
8
9
10- magic_quotes_gpc: 5.3后废弃,5.4后移除
- register_global: 4.2后默认为false
- allow_url_include: 默认为False
- allow_url_fopen: 默认true
- request_order:5.3后从GPC改为GP
- short_open_tag: 5.4+, 无论是否开启,<?=..?>总是可以被执行的
- safe_mode (5.4移除)
- open_basedir 限制网站是否能访问哪些目录
- disable_functions/disable_classes
-- enable_dl(5.2默认false)
PHP危险函数归纳
- 危险操作、函数、方法、变量
1 | - include/require/include_once/require_once/spl_autoload |
遇到不懂的函数和类
https://stackoverflow.com/ && Google.com
查找漏洞源码练习
XZ.Aliyun.com
Github.com
Wooyun历史漏洞
我的个人博客
孤桜懶契:http://gylq.gitee.io