热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

从hw打点到编写python版webshell提权

 摸到一个某信息管理平台开局一个登录框,那么尝试sql注入和弱口令爆破,从返回包中可以看出存在用户名枚举尝试注入测试发现后端存在检测,试了几十个常见的测试手机号还无法枚举到用户名后,遂放弃此路通过报错

 

摸到一个某信息管理平台

开局一个登录框,那么尝试sql注入和弱口令爆破,从返回包中可以看出存在用户名枚举

尝试注入测试发现后端存在检测,试了几十个常见的测试手机号还无法枚举到用户名后,遂放弃此路

通过报错页面的信息,和url格式,我当时判断的是这是一个 java mvc模型的站点,也给后面埋了个坑

于是开始翻看静态资源,熟悉的文件名格式,确认过眼神,这是vue的资源

根据以往的经验,VUE项目的关键代码存在于生成的以app开头的js文件中,所以通常遇到vue项目的目标,只需翻看其app开头的js文件,即可通过其内容大致了解到它的功能点。

于是打开那个app开头的js文件,我个人是非常喜欢将js代码粘贴到Pycharm里面,然后按 Ctrl + Alt + L 来格式化代码,再慢慢的审阅寻找线索。

经过仔细的查看js代码,发现一处疑似后台主页的跳转url

直接粘贴至浏览器打开,进到了一个后台页面

在熟悉它里面的功能点时,发现这只是一个框架页面,跟后端交互获取数据时仍需要验证用户身份

于是我灵机一动,猜测 url的company_id提交的可能就是用户凭证,所以直接在Pycharm使用字符串查找功能查找,没想到真的找到了一串md5值,看起来像是凭证,大喜之后将其补上到url后再访问

获得了一个用户身份的后台(看右边的成员和部门那里已经与前面不同)

但继续摸功能点后,发现只是个测试用户的身份

找到一处上传点,但是上传过去发现没有数据包响应

于是查看浏览器控制台信息,发现是被同源策略给限制了,那么这里通过功能点直接上传是行不通的,除非你通过他的域名访问,我这里反查了ip查不到对应的域名

这个时候可以手动构造文件上传表单, 然后浏览器打开上传

发包过去之后,是我天真了

报了一个404回来,开始怀疑人生当中,不过后面想了想,我刚才访问的是82端口,提交上传的接口是8082端口,难不成这里面有问题?本着死磕到底的精神,我颤抖的手敲了敲键盘,在burp的重放功能那将8082端口改为了82端口,再尝试发包

回包果真不一样了,貌似是被后端接受了,但是却没有返回上传成功的文件路径,我怀疑是没有上传成功

于是掏出了我的大*,不对,是我的祖传字典,用于测试上传文件对象的键名

我晕,原来上传的文件对象键名就是 file

将文件字典键名改为file, 文件名改为 .jsp后缀再上传,成功上传了

于是赶紧上传个冰蝎的webshell,发现被拦了,难不成存在waf ?

那么先上传个打印字符串的短小代码,发现上传成功了也顺利访问了可是却不解析???

我尼玛直接怀疑人生,这不是tomcat应用服务器吗,怎么可能不解析jsp

后面在测试其他文件名时,

发现解析php,这就离谱,tomcat + php还有这种搭配?麻烦搞懂的朋友告诉我

蚁剑链接之,发现是 apache权限,内核3.10

其实这个时候通常都是上代理打内网的了,不过后面遇到了更诡异的事,我上传了frp 客户端做代理时,发现连接到服务端后几十秒就断了,再查看文件时,权限已经变成了 000

看来是应该有某种防护软件?这是块硬骨头啊

然后开始打算提权,一般提权通用性比较高的就是内核提权,但是不太建议这种提权方式,因为溢出类的内核提权都有一定的偶然性,容易把服务器打宕机

查看了下进程,很惊喜的发现python 以root权限运行了一个程序,有着django开发经验的我一眼就看出了这就是django,

然后访问其8000端口,是一个 swagger 接口页面。

这时随便访问个不存在的路由

通过报错信息得知这真的是django,并且开起了debug功能,开启后修改源代码会自动重启应用

心中大喜直接奔去寻找这个django项目的目录,很巧的是项目目录里的所有文件都具有777的权限,所以能改写视图函数,我添加了红框中的代码,大致意思就是当访问 test/ 路由时,返回字符串 “Hello Django”

再去浏览器访问 test 路由,成功执行了我自定义的视图函数

于是这时候 python 版的webshell就出来了

去查看执行效果,ok提权成功

当我开始漫游时,问题又出现了,应该是流量特征太明显被 waf 拦了

然后我又把视图函数改了下,添加base64编码传输

完美

随便几行代码写了个方便点的利用工具

本次外网打点到此结束,如有打码不严请勿复现


推荐阅读
  • 从壹开始前后端分离【 .NET Core2.0 +Vue2.0 】框架之六 || API项目整体搭建 6.1 仓储模式
    代码已上传Github+Gitee,文末有地址  书接上文:前几回文章中,我们花了三天的时间简单了解了下接口文档Swagger框架,已经完全解放了我们的以前的Word说明文档,并且可以在线进行调 ... [详细]
  • 大坑|左上角_pycharm连接服务器同步写代码(图文详细过程)
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了pycharm连接服务器同步写代码(图文详细过程)相关的知识,希望对你有一定的参考价值。pycharm连接服务 ... [详细]
  • SpringMVC接收请求参数的方式总结
    本文总结了在SpringMVC开发中处理控制器参数的各种方式,包括处理使用@RequestParam注解的参数、MultipartFile类型参数和Simple类型参数的RequestParamMethodArgumentResolver,处理@RequestBody注解的参数的RequestResponseBodyMethodProcessor,以及PathVariableMapMethodArgumentResol等子类。 ... [详细]
  • 如何在服务器主机上实现文件共享的方法和工具
    本文介绍了在服务器主机上实现文件共享的方法和工具,包括Linux主机和Windows主机的文件传输方式,Web运维和FTP/SFTP客户端运维两种方式,以及使用WinSCP工具将文件上传至Linux云服务器的操作方法。此外,还介绍了在迁移过程中需要安装迁移Agent并输入目的端服务器所在华为云的AK/SK,以及主机迁移服务会收集的源端服务器信息。 ... [详细]
  • 本文介绍了一个免费的asp.net控件,该控件具备数据显示、录入、更新、删除等功能。它比datagrid更易用、更实用,同时具备多种功能,例如属性设置、数据排序、字段类型格式化显示、密码字段支持、图像字段上传和生成缩略图等。此外,它还提供了数据验证、日期选择器、数字选择器等功能,以及防止注入攻击、非本页提交和自动分页技术等安全性和性能优化功能。最后,该控件还支持字段值合计和数据导出功能。总之,该控件功能强大且免费,适用于asp.net开发。 ... [详细]
  • 浅解XXE与Portswigger Web Sec
    XXE与PortswiggerWebSec​相关链接:​博客园​安全脉搏​FreeBuf​XML的全称为XML外部实体注入,在学习的过程中发现有回显的XXE并不多,而 ... [详细]
  • 本文介绍了Python高级网络编程及TCP/IP协议簇的OSI七层模型。首先简单介绍了七层模型的各层及其封装解封装过程。然后讨论了程序开发中涉及到的网络通信内容,主要包括TCP协议、UDP协议和IPV4协议。最后还介绍了socket编程、聊天socket实现、远程执行命令、上传文件、socketserver及其源码分析等相关内容。 ... [详细]
  • t-io 2.0.0发布-法网天眼第一版的回顾和更新说明
    本文回顾了t-io 1.x版本的工程结构和性能数据,并介绍了t-io在码云上的成绩和用户反馈。同时,还提到了@openSeLi同学发布的t-io 30W长连接并发压力测试报告。最后,详细介绍了t-io 2.0.0版本的更新内容,包括更简洁的使用方式和内置的httpsession功能。 ... [详细]
  • 本文介绍了在Vue项目中如何结合Element UI解决连续上传多张图片及图片编辑的问题。作者强调了在编码前要明确需求和所需要的结果,并详细描述了自己的代码实现过程。 ... [详细]
  • 本文讨论了在手机移动端如何使用HTML5和JavaScript实现视频上传并压缩视频质量,或者降低手机摄像头拍摄质量的问题。作者指出HTML5和JavaScript无法直接压缩视频,只能通过将视频传送到服务器端由后端进行压缩。对于控制相机拍摄质量,只有使用JAVA编写Android客户端才能实现压缩。此外,作者还解释了在交作业时使用zip格式压缩包导致CSS文件和图片音乐丢失的原因,并提供了解决方法。最后,作者还介绍了一个用于处理图片的类,可以实现图片剪裁处理和生成缩略图的功能。 ... [详细]
  • 集成电路企业在进行跨隔离网数据交换时面临着安全性问题,传统的数据交换方式存在安全性堪忧、效率低下等问题。本文以《Ftrans跨网文件安全交换系统》为例,介绍了如何通过丰富的审批流程来满足企业的合规要求,保障数据交换的安全性。 ... [详细]
  • 小程序自动授权和手动接入的方式及操作步骤
    本文介绍了小程序支持的两种接入方式:自动授权和手动接入,并详细说明了它们的操作步骤。同时还介绍了如何在两种方式之间切换,以及手动接入后如何下载代码包和提交审核。 ... [详细]
  • MVC设计模式的介绍和演化过程
    本文介绍了MVC设计模式的基本概念和原理,以及在实际项目中的演化过程。通过分离视图、模型和控制器,实现了代码的解耦和重用,提高了项目的可维护性和可扩展性。详细讲解了分离视图、分离模型和分离控制器的具体步骤和规则,以及它们在项目中的应用。同时,还介绍了基础模型的封装和控制器的命名规则。该文章适合对MVC设计模式感兴趣的读者阅读和学习。 ... [详细]
  • 单页面应用 VS 多页面应用的区别和适用场景
    本文主要介绍了单页面应用(SPA)和多页面应用(MPA)的区别和适用场景。单页面应用只有一个主页面,所有内容都包含在主页面中,页面切换快但需要做相关的调优;多页面应用有多个独立的页面,每个页面都要加载相关资源,页面切换慢但适用于对SEO要求较高的应用。文章还提到了两者在资源加载、过渡动画、路由模式和数据传递方面的差异。 ... [详细]
  • 一:跨域问题1、同源策略(浏览器的安全策略)    只允许当前页面朝当前域下发请求,如果向其他域发请求,请求可以正常发送,数据也可以拿回,但是被浏览器拦截了  2、c ... [详细]
author-avatar
邓世璇_664_425
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有