前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >代码审计day5

代码审计day5

作者头像
发布2020-08-19 16:28:44
5220
发布2020-08-19 16:28:44
举报
文章被收录于专栏:奝-大周奝-大周

代码执行漏洞

代码执行漏洞是指应用程序本身过滤不严,用户可以通过请求将代码注入到应用中执行。当应用在调用一些能将字符串转化成代码的函数(如php中的eval)时,没有考虑到用户是否能控制这个字符串,将造成代码注入漏洞。狭义的代码注入通常指将可执行代码注入到当前页面中,如php的eval函数,可以将字符串代表的代码作为php代码执行,当前用户能够控制这段字符串时,将产生代码注入漏洞

常见函数

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

1.eval()、assert()将输入的字符串参数作为PHP程序代码来执行

2.回调函数mixed call_user_ func ( callable callback [, mixed parameter [, mixed … ]])callback是要调用的自定义函数名称

代码语言:javascript
复制
<?php

function callBack()[
        $b = $_GET['cmd'];
        eval($b);
]

call_user_func(function'callBack',$b);
?>

3.动态执行函数

代码语言:javascript
复制
1.定义一个函数
2.将函数名(字符串)赋值给一个变量
3.使用变量名代替函数名动态调用函数

4.preg_replace

代码语言:javascript
复制
mixed preg_replace ( mixed $pattern,mixed $replacement , mixed $subject [, int $limit =-1 [, int &$count]])
$pattern正则匹配的内容
$replacement用于替换的字符串或字符串数组
$subject要进行搜索和替换的字符串或字符串数组
$pattern存在/e模式修正符修饰 允许代码执行

正则表达式

正则表达式语法规则 普通字符作为原子

限定符 特殊符号作为原子

边界限制符 通用字符类型作为原子

后向引用 自定义原子表作为原子

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2020-3-21,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 代码执行漏洞
    • 常见函数
      • 正则表达式
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档