11.13命令执行和代码执行

Phpmyadmin任意文件包含漏洞[CVE-2014-8959]

漏洞范围:4.0.1-4.0.1.6  4.1.1-4.1.14.7  4.2.1-4.2.12

 

 

 

文件包含漏洞防御

1、修改php的配置文件,将open_basedir的值设置为可包含特定目录,后面要加/,例如:open_basedir=/var/www/html

2、关闭allow_url_fopen可以防止本地文件包含和远程文件包含

3、关闭allow_url_include可以防止远程文件包含

4、对可以包含的文件进行限制,可以使用白名单的方式,或者设置可以包含的目录,如open_basedir

5、进行严格的检查,参数中不允许出现../之类的目录跳转符号

 

命令执行和代码执行

命令执行漏洞产生原因:

1、参数用户可控

2、用户输入的数据被当做命令来执行,没有过滤或过滤不严谨

 

用作命令执行的函数:

 

shell_exec()

exec()

passthru()

popen()

proc_open()

 

命令执行:

简单分类:

Web层命令执行system(‘whoami’)

第三方组件命令执行漏洞:Wordpress中用来处理图片的ImageMagickstruts2ElasticsearchGroovy

系统层面的命令执行(上面shell_exec()等等)

 

命令执行漏洞的危害性和当前web中间件的权限有关,如果web中间件是以管理员权限运行,则漏洞可以以管理员权限运行

 

 

代码执行:

当应用在调用一些能将字符串转化成代码的函数时,没有考虑用户是否能够控制这个字符串,将造成代码注入漏洞

Php中:evalassertpreg_replace(‘/*/e’,’$ret=”\\1”;’,$data);

asp中:evalexecuteexecuteglobal

Jsp中:jsp中没有phpeval函数,但是可以使用反射机制,使用基于反射机制的表达式引擎,如OGNLSpELMVEL.

 

1

 

 

 

2urly Syntax 漏洞利用
关于{${}}这种形式涉及到了php Complex (curly) syntax
<?php
$a=$_GET["id"];
@eval("@\$sql_a=$a;");
?>

之后http://127.0.0.1/test.php?id=${phpinfo()}

 

 

 

 

posted @ 2019-11-13 17:30  黑空  阅读(198)  评论(0编辑  收藏  举报