今天给大家讲解一下命令执行和代码执行漏洞的危害以及详解步骤 。
代码执行和命令执行是有区别的,一个叫命令,一个叫代码,代码执行的话,一般指的是执行代码
命令执行的话,一般都是执行我们电脑上面的cmd命令,也就是dos命令,所以它们是有这种区别的
1、首先是代码执行漏洞
1)、代码执行漏洞详解
代码执行漏洞造成的原理是由于服务器端没有针对执行函数做过滤,导致在没有指定绝对路径的情况下就执行命令,可能会允许攻击者通过改变 $PATH 或程序执行环境的其他方面来执行一个恶意构造的代码 。
造成代码执行相关的函数分别是:eval、assert函数,它和我们前段日子讲的一句话木马是一样的 。
都带有eval这个函数,那这个eval能干嘛呢?它就是能将后门代码给执行 。
文章插图
、eval函数的作用
然后可以看到,只要把php代码放到eval函数里面,它就可以执行,它和assert的作用是一样的,都是执行代码的一个函数,我们上次讲的一句话木马,一句话木马不只是只有eval函数去执行代码,也有很多方法去执行 。
文章插图
代码执行的详细操作
那我们就直接写一个代码,比如说他这个,我们先$id = $_GET['x']; 然后用eval包含他这个$id变量,然后我们打开网站,然后传个值
【黑客远程代码执行,你的服务器还安全嘛?】比如说echo 1;然后它就输出1出来了
文章插图
那我们像上次叫一句话木马的时候一样,直接输出一个phpinfo,它都可以成功的输出在页面中,说明执行phpinfo()函数代码成功 。
文章插图
那我们可以像上次讲到的一样,通过直接调用执行命令的函数,那么就可以做到提权的一个效果,当然,当前的权限要够大的情况下才可进行一方面的提权操作
文章插图
不仅仅是这样的去提权,那假如说我们怎么写入一句话木马???
那我们的话,可以通过file_put_contents函数写入一个文件,那么的话,前面写上一句话木马,通过file_put_contents定义一个绝对路径,绝度路径的话我们可以通过system函数执行命令去查看
文章插图
然后就可以看见我们的一句话木马成功的写入了上去 。
文章插图
所以说它这个漏洞是相当的大
程序员在开发cms网站的时候,eval,assert等等函数后存在可控变量,会导致代码执行漏洞,这几个漏洞都是存在一个可控变量,就是当它存在一个可控制的变量,我们控制它,就可以显示其它的内容,那这样的话,我们想干嘛就干嘛,写入一句话也行,这些等等
如何去挖掘出代码执行的漏洞?
还是一样,我们前期的一个信息收集可以使用扫描工具,发现有eval这些东西,第二个,我们上网百度一下他这个网站cms程序的时候,因为进行信息收集之后,我们可以看看当前的cms有没有存在一个代码执行的一个漏洞,那么这个就是一个代码执行的漏洞一个全部步骤
接下来是命令执行
命令执行漏的详解
命令执行的话,一般都是执行我们电脑上面的cmd命令,也就是dos命令,所以它们是有这种区别的,Exec, shell_exec , system等函数引起的漏洞,程序员在开发cms网站时,函数后存在可控变量,会导致命令执行漏洞,代码执行执行的是代码,命令执行执行的是电脑上面的cmd
那我们还是一样,定义一个变量,然后用shell_exec函数包含起来 。
文章插图
在这里我们执行一个ipconfig的命令,它成功的输出了,我们执行命令,前提要搞清楚当前的服务器是什么系统,是windows还是linux,因为两者不同的系统要着不同的命令,所以我们在Windows上面执行的是dos命令,命令不同,要区分开
文章插图
比如说net user 它都可以执行的
所以说,这些函数要引用的话,是非常容易出现漏洞的,只要说这个函数引用的话,它的对象要去执行什么东西的时候,它的对象是存在一个可控变量的,如果说它这里可以控制这个变量,就指定去输出你想要的东西,那完全可以对这个网站进行入侵的吧
推荐阅读
- 黑客在安卓平台上常使用的工具有哪些呢
- web服务器遭受黑客攻击时的日志分析及排查
- 白帽黑客常用的5大渗透测试系统测评
- Android代码中是如何下毒的
- sshd服务防黑客暴力破解
- JavaScript中几个常用函数的代码实现
- 提高代码可读性的 10 个技巧
- ThinkPHP5核心类Request远程代码漏洞分析
- 机械设备远程实时监控方案
- 代码示例 PHP如何使用phpinfo获取PHP配置信息?