5.1.11. Sink¶
5.1.11.1. 任意代码执行¶
eval
assert
call_user_func
5.1.11.2. 执行系统命令¶
pcntl_exec
exec
passthru
popen
shell_exec
system
proc_open
5.1.11.3. Magic函数¶
__construct()
构建对象的时被调用__destruct()
销毁对象或脚本结束时被调用__call()
调用不可访问或不存在的方法时被调用__callStatic()
调用不可访问或不存在的静态方法时被调用__get()
读取不可访问或不存在属性时被调用__set()
给不可访问或不存在属性赋值时被调用__isset()
对不可访问或不存在的属性调用isset
或empty()
时被调用__unset()
对不可访问或不存在的属性进行unset
时被调用__sleep()
对象序列化时被调用__wakeup()
对象反序列化时被调用,其中序列化字符串中表示对象属性个数的值大于真实的属性个数时会跳过wakeup的执行__toString()
当一个类被转换成字符串时被调用__invoke()
对象被以函数方式调用时被调用__set_state()
调用var_export()
导出类时被调用__clone()
进行对象clone时被调用__debugInfo()
调用var_dump()
打印对象时被调用
5.1.11.4. 文件相关敏感函数¶
move_uploaded_file
file_put_contents
/file_get_contents
unlink
fopen
/fgets
5.1.11.5. SSRF¶
file_get_contents()
fsockopen()
curl_exec()
fopen()
readfile()
5.1.11.6. phar 触发点¶
fileatime / filectime / filemtime
stat / fileinode / fileowner / filegroup / fileperms
file / file_get_contents / readfile / fopen`
file_exists / is_dir / is_executable / is_file / is_link / is_readable / is_writeable / is_writable
parse_ini_file
unlink
copy
- exif
exif_thumbnail
exif_imagetype
- gd
imageloadfont
imagecreatefrom***
- hash
hash_hmac_file
hash_file
hash_update_file
md5_file
sha1_file
- file / url
get_meta_tags
get_headers
- standard
getimagesize
getimagesizefromstring
5.1.11.7. 原生类利用¶
- XSS
Error
Exception
- SSRF
SoapClient
- open_basedir 绕过
DirectoryIterator 结合
glob://
- XXE
SimpleXMLElement