黑客远程代码执行,你的服务器还安全嘛?

boyanx3周前技术教程3

又到了更新文章的一天,今天给大家讲解一下命令执行和代码执行漏洞的危害以及详解步骤。

代码执行和命令执行是有区别的,一个叫命令,一个叫代码,代码执行的话,一般指的是执行代码

命令执行的话,一般都是执行我们电脑上面的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 它都可以执行的

所以说,这些函数要引用的话,是非常容易出现漏洞的,只要说这个函数引用的话,它的对象要去执行什么东西的时候,它的对象是存在一个可控变量的,如果说它这里可以控制这个变量,就指定去输出你想要的东西,那完全可以对这个网站进行入侵的吧

我们写入一个文件 到d盘,文件名可以任意取,然后我们可以看到,d盘有写入了一个文件,那这样说的话,我们不是可以上传一句话等等一些操作,这和代码执行是不一样的,代码执行是执行php代码,而命令执行是执行dos命令。

那我们就了解一下linux通过命令写入文件

我们可以看到,在这里';'的用法就是先执行他前面的命令,直到前面命令执行完(无论对与错)就立即执行后面的命令

我们输入错误看看

我们也可以用'|'的

上一条命令的输出,作为下一条命令参数

当然我们去挖掘这方面漏洞时候,前期的信息收集很重要,因为这些漏洞一般都出现在脚本语言自带的框架、cms以及一些未知的插件上面,那么的话,我们去收集了当前网站的一些架构之后,那么我们就可以利用这些已经出来的漏洞进行检测有没有存在危害漏洞。

那么的话,命令执行和代码执行漏洞,就是因为这些函数引起来的,我们要看一下有没有这个函数,有了这个函数,它不一定有漏洞,要看这个函数的后面有没有存在可控制的变量,就是有没有变量去控制想输出什么和执行什么?有的话,它没有过来,我们就可以去执行这些命令。

最后喜欢我文章的朋友请加圈子关注我们,私信关键词:加群。

就会自动分享给你群号。欢迎大家加入我们的安全大家庭。提高大家的安全意识,提升大家的网络安全技能一直是我们的初衷和愿景,让我们共同成为守护信息世界的"SaFeMAN"。

还有可以关注我们微信公众号,在公众号上输入安界网,就可以关注到我们。

相关文章

计算机专业怎么写代码,把老师的代码在电脑上自己运行吗?

很多人回复了写代码的干货,黑马今天以实际学习手把手告诉你学习的时候该怎么写代码。我们以Java知识点的if分支有三种格式来说:格式1:if (条件表达式) { 语句体; }格式2:if (条...

如何运行python代码(运行python代码需要什么环境)

第二个是文件合并的。·可以先把py文件打开,然后顺便再打开另外一个,这里面也可以直接打开tst文件,it文件就是这样的,显示其实就相当于一个文本阅读器了,也可以改一下,可以直接在这里面修改tt。·它所...

如何让电脑运行快起来,教你使用两个代码

电脑使用时间长了,垃圾文件就会多起来,会导致电脑运行速度慢起来。如何使你的电脑卸下包袱,运行“键”“鼠”如飞呢,下面教你两个代码,轻松解决。第一个代码“cleanmgr”。键盘上同时按住WIN+R键,...

图表宏的代码运行(excel宏作图)

选择“开发工具”选项卡|“插入”|“表单控件”|“按钮”命令,然后在工作表上的任意位置,画一下,就会弹出“指定宏”的界面。在图中,选择刚才录制好的宏:hong1“确定”。此时,在工作表上就出现了“按钮...

AI编程的革命性突破:从代码生成到实时执行

大语言模型(LLM)如ChatGPT能生成看似完美的代码,但实际运行时却常常崩溃。这就像演员背诵外语台词——发音标准却不解其意。最新研究提出的执行引导代码生成(EG-CFG)方法,正在改变这一现状。传...

Jsp Servlet Mysql实现的Java Web在线商城项目源码附运行视频

今天给大家演示一款由jsp servlet MySQL实现的在线商城系统,本系统实现了管理员管理用户、商品(商品分类)、订单、留言、新闻等功能,系统项目源代码在【猿来入此】获取!前台会员注册登录,查看...

发表评论    

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。