web命令执行漏洞

一,什么是命令执行漏洞:

吉林ssl适用于网站、小程序/APP、API接口等需要进行数据传输应用场景,ssl证书未来市场广阔!成为成都创新互联的ssl证书销售渠道,可以享受市场价格4-6折优惠!如果有意向欢迎电话联系或者加微信:13518219792(备注:SSL证书合作)期待与您的合作!

  应用有时需要调用一些执行系统命令的函数,如PHP中的system、exec、shell_exec、passthru、popen、proc_popen等,当用户能控制这些函数中的参数时,就可以将恶意系统命令拼接到正常命令中,从而造成命令执行***,这就是命令执行漏洞。

二,利用条件:

 1,应用调用执行命令的函数

 2,将用户输入作为系统命令的参数拼接到命令中

 3,没有对用户输入过滤或者过滤不严格

三,漏洞危害:

 1,***者可以执行命令获取想要的信息

 2,***者可以拿下服务器

四,例子:

例子一:

代码:

访问:http://127.0.0.1/mingling/simple1.php?cmd=ping%20127.0.0.1

也就是执行了“ping 127.0.0.1”命令

web命令执行漏洞

例子二:

访问:http://192.168.25.107/simple2.php?cmd=127.0.0.1;pwd

执行了pwd命令

web命令执行漏洞

例子三:

访问:http://192.168.25.107/simple3.php?cmd=/home%22;ifconfig%22

执行了ifconfig命令

web命令执行漏洞

例子四:

当访问:http://192.168.25.107/simple4.php?code=phpinfo();

注意后面的分号,当然后面也可以跟一句话***。

web命令执行漏洞

例子五:

当访问:http://192.168.25.107/simple5.php?fun=system&par=whoami

其实就相当于是执行了:

system("whoami")

web命令执行漏洞

五:修复方案:

  1. 尽量少用执行命令的函数或者直接禁用

  2. 参数值尽量使用引号包括

  3. 在使用动态函数之前,确保使用的函数是指定的函数之一

  4. 在进入执行命令的函数/方法之前,对参数进行过滤,对敏感字符进行转义

如:

escapeshellcmd( )逃脱字符串中任何可能用来哄骗(trick)shell命令的字符串,此函数用来确定资料传送到exec( )或system( )之前,由使用者输入的任何资料已经逃脱,标准的用法如下

Example :

六:参考链接:

1,http://haojiawei.xyz/2017/03/15/%E5%91%BD%E4%BB%A4%E6%89%A7%E8%A1%8C%E6%BC%8F%E6%B4%9E/

2,http://www.jianshu.com/p/1e706f13b088

web命令执行漏洞

网站题目:web命令执行漏洞
本文来源:http://ybzwz.com/article/gejecd.html