代码注入小结

一、代码执行
1.分类
1.1 OS命令执行
eg:
<?php $fun=$_REQUEST['fun']; system($fun); ?>
1.1.1.原理
攻击者输入的系统命令没有经过过滤就被成功拼接成可被服务器执行的代码。
1.1.2.命令行危险函数
system()、popen()、exec()、shell_exec()、pathru()、pro_open()、反斜杠等

1.1.3 常用
ping
whoami
cat
ls/dir
ipcongfig
A|B
A||B
A&B
A&&B

1.1.4 防范措施
- 尽量不使用系统命令
- 对参数进行过滤对敏感字符进行转义
- 使用动态函数时,动态函数名不可控
1.2 文件包含
eg:

<?php
$fun=$_REQUEST['fun'];
include($fun);
?>
  • 常见漏洞函数
    require()、require_once()、include()、include_once()

1.3 动态函数调用
eg:

<?php
$fun=$_REQUEST['fun'];
echo $fun();
?>

1.4 代码执行
eg:

<?php
$hhh="hhhhhh";
$fun=$_REQUEST['fun'];
eval("\$fun=\$hhh");
?>
  • 常见漏洞函数
    assert()、eval()、preg_replace()+/e、call_user_func()、array_map()

猜你喜欢

转载自blog.csdn.net/syy0201/article/details/88856695