代码审计——常见漏洞审计之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()
还有一些绕过登录密码验证码以及账单支付等逻辑漏洞需根据个人经验进行审计
欢迎关注公众号,原创不易,转载请注明来源【爱国小白帽】😘
相关文章
- PHP反序列化漏洞
- PHP漏洞全解
- php之快速入门学习-16(PHP 魔术变量)
- 渗透测试-php反序列化漏洞
- PHP 之 FastCGI 与 mod_php 详解
- PHP 错误与异常 笔记与总结(3)PHP 配置文件(php.ini)中与错误相关的选项 与 设置错误级别
- 漏洞复现----35、uWSGI PHP 目录遍历漏洞 (CVE-2018-7490)
- 漏洞复现----32、Struts2/S2-012
- 漏洞复现----26、Zabbix latest.php SQL注入漏洞(CVE-2016-10134)
- web渗透测试----22、业务逻辑漏洞--(1)示例
- 漏洞复现篇——命令执行漏洞
- CVE-2020-28948/28949: Drupal任意PHP代码执行漏洞通告
- CVE-2020-1350: Windows DNS Server蠕虫级远程代码执行漏洞分析
- 【漏洞复现】CVE-2021-3129 Laravel Debug mode 远程代码执行漏洞
- office漏洞利用--获取shell
- 如何修改两个PHP版本,php-v和phpinfo两个不同的版本
- php模板原理PHP模板引擎smarty模板原理浅谈
- php.ini中safe_mode开启之后对于PHP系统函数的影响
- 深入理解php内核 编写扩展 I:介绍PHP和Zend
- PHP的mod_rewrite重写模块将.php后缀换成.html
- 路由器漏洞可致网银信息泄漏 黑客重现攻击场景
- linux下无法执行PHP命令,错误 php: command not found
- PHP PHPStorm 解决运行报错 502 Bad Gateway,配置PHP Interpreter,配置php.exe
- Spring RCE漏洞CVE-2022-22965复现与JavaFx GUI图形化漏洞利用工具开发
- 漏洞复现-Phpmyadmin setup.php反序列化漏洞(WooYun-2016-199433)