目录
一、代码执行漏洞的介绍
1.代码执行漏洞的原理
2.常用含有的代码执行漏洞的函数
3.代码执行漏洞的危害
4.代码执行漏洞的防范措施
一、代码执行漏洞的介绍
1.代码执行漏洞的原理
web应用程序是指程序员在代码中使用了一些执行函数例如php的eval,assert等函数,用户可以控制这个字符串去这些函数中执行,从而造成安全漏洞
应用程序在调用一些能够将字符串转换为代码的函数(如 PHP 中的 eval )时,没有考虑用户是否控制这个字符串,将造成代码执行漏洞。大部分都是根据源代码判断代码执行漏洞。
2.常用含有的代码执行漏洞的函数
eval()
assert()
call_user_func()
call_user_func_array()
3.代码执行漏洞的危害
- 执行任意的代码,例如协议脚本文件
- 向网站写入webshell
- 控制整个网站或者服务器
4.代码执行漏洞的防范措施
代码执行的防御分为三个方面 参数 , 函数 和 权限
- 对于eval()函数一定要保证用户不能轻易接触eval的参数或者用正 则严格判断输入的数据格式。
- 对于字符串一定要使用单引号包裹可控代码,并且插入前进行 addslashes().或使用黑白名单校验
- 对于preg_replace放弃使用e修饰符。如果必须要用e修饰符,请 保证第二个参数中,对于正则匹配出的对象,用单引号包裹。
- 限制Web用户的权限
- 禁用或减少使用执行代码的函数