zl程序教程

您现在的位置是:首页 >  其他

当前栏目

代码审计——常见漏洞审计之php危险函数总结

漏洞PHP代码 函数 总结 常见 审计 危险
2023-09-11 14:17:07 时间

上一篇文章带大家认识了一下代码审计,这一篇从较为简单的PHP入手讲讲常存在风险的函数

代码执行

执行代码函数:
eval()
assert()
preg_replace()
create_function()
array_map()
call_user_func()
call_user_func_array()
array_filter
usort
uasort()

在这里插入图片描述
在这里插入图片描述

命令执行

命令执行函数:
system()
exec()
shell_exec()
passthru()
pcntl_exec()
popen()
proc_open()

在这里插入图片描述

文件包含

分别对应路径,文件名,后缀。根据服务端采取的不同策略,我们也可能会有不同的绕过方法。

文件包含函数:
require
include
require_ once
include once

在这里插入图片描述

任意文件读取

文件读取函数:
copy
file_get_contents()
highlight_file()
fopen()
read file()
fread()
fgetss()
fgets()
parse_ini_file()
show_source()
file()

在这里插入图片描述

特殊函数

信息泄漏函数:
bool phpinfo()

软连接读取文件内容

在这里插入图片描述

XSS

存储型xss
将数据插入到数据库中
重点审计 update insert 等sql语句
反射型xss
将数据输出到页面中
重点审计 echo print_r 等输出语句

越权

水平越权:
就是相同级别(权限)的用户或者同一角色不同的用户之间,可以越权访问、修改或者删除的非法操作。如果出现次漏洞,那么将可能会造成大批量数据泄露,严重的甚至会造成用户信息被恶意篡改。
垂直越权:
垂直越权是不同级别之间或不同角色之间的越权;垂直越权又别分为向上越权与向下越权。比如,某些网站,像发布文章、删除文章等操作属于管理员该做的事情。假设一个匿名用户也可以做相同的事情,这就叫做向上越权;向下越权是一个高级用户可以访问低级用户信息。

POST或GET请求中有可控参数

XXE

PHP SimpleXML 函数:
__construct()
addAttribute()
addChild()
asXML()
attributes()
children()
getDocNamespaces()
getName()
getNamespaces()
registerXPathNamespace()
simplexml_import_dom()
simplexml_load_file()
simplexml_load_string()
xpath()

sql注入

搜索:
select from
mysql_connect
mysql_query
update
delete
insert
urldecode
rawurldecode

反序列化

漏洞原理:unserialize函数的变量可控,php文件中存在可利用的类,类中有魔术方法。

序列化函数:
serialize()
反序列化函数:
unserialize()
魔术函数
__construc()
__destruct()
__call()
__callStatic()
__get()
__set()
__isset()
__unset()
__sleep()
__wakeup()
__toString()
__invoke()
__set_state()
__clone()
__debuginfo()

还有一些绕过登录密码验证码以及账单支付等逻辑漏洞需根据个人经验进行审计

欢迎关注公众号,原创不易,转载请注明来源【爱国小白帽】😘

https://img-blog.csdnimg.cn/2020092912185793.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80NTcyODk3Ng==,size_16,color_FFFFFF,t_70#pic_center