首页
学习
活动
专区
圈层
工具
发布

网络安全自学篇-PHP代码审计(四)

代码执行漏洞

原理:web应用本身过滤不严,即参数可控,导致攻击者可以通过恶意请求将代码注入到应用中执行。

挖掘思路:

1、用户能够控制函数输入

2、存在能够执行代码的危险函数

常见的危险函数有:

eval、assert、回调函数、动态函数执行、preg_replace函数

案例:

eval、assert

传入参数?cmd=system(ipconfig);

回调函数call_user_func、call_user_func_array、array_map

语法:

或者

动态函数

或者

preg_replace正则

重点:$pattern 存在/e模式修正符修饰允许代码执行

正则表达式语法规则->/表达式[修正符]/

(1)普通字符作为原子

preg_match

preg_match_all

(2)特殊字符作为原子,即需要反斜杠转义

(3)通用字符类型作为原子

(4)自定义原子表作为原子

(5)限定符

pattern1

pattern2

pattern3

(6)边界限定

(7)反向引用

匹配日期

(8)/e修饰

第一个参数

第二个参数

第三个参数

下一篇
举报
领券