当前位置: 首页 > article >正文

一次奇妙的getshell之旅

1. 资产收集时发现一个网站:

https://xxxxxxxxxx/ischool/publish_page/0/

发现存在管理员登陆:

这里之前在该旁站找到一个SQL注入,然后找到的这个账户密码(这里如何从SQL注入找到账户密码前借鉴前面的报告。):
账号:personnel

密码:whsh511

进入后台:

这里运气好,我第一次测试的左边的上传作家这个地方:

进去这里后页面:

这里我随便点击新增加档案,然后上传码:

尝试上传php,但是这里无论怎么修改后缀都失败,也无解析漏洞(此处为nginx服务器)

试了很久,网上各种绕过的方法都试过了,于是干脆试试上传正常打的图片:

哦吼,这正常的图片信息直接返回了路径啊,这里埋下了一个巨大的伏笔,后面会用到,之前就是没想起这里的东西导致浪费了很多时间,苦不堪言。

擦擦屁股走了人。

尝试无果就再转转吧:

终于,我又找到一个地方:

这里一开始没有安全意识,在第一页下面试了几波,最后意识到不能在显眼的地方弄,于是:

我放到了最后面,现在来看可能你还能看到我很多痕迹,差不掉,也没办法,文件上传是这样的,需要不断尝试,但是你每尝试一次就会有一个文件。

随便找一个人:

点击此处:

往下啦可以看到有文件上传点:

于是再次尝试,这次直接上冰蝎码:

为什么要交last6.jpg?那是因为一开始这个上传点试了很多很多次,因为不能上传相同的名字,所以取了各种名字,同时那时候还想着搞最后一次,于是last.jpg出现了,失败后我越想越气,感觉越来越接近目标了,所以又开了last1,2,3,4,5.jpg,最后还是成功了,哈哈,期间不容易。

上传然后抓包:

这里注意,放包别太快,不然会有很多垃圾包干扰,前期我就是这样连这个包都错过了,需要一步一步的放,然后修改后缀,发现这里只有前端校验:

上传成功:

这时你会想,咦,这里为啥还是.jpg文件?不是上传的是.php?哈哈,一开始就是这里我试了超多超多遍,后来才发现其实这里没关系的,他后面还要再上传一次,这里只要把文件改成.php就行,他相当于记录在了这上面,但是只是不是现在显示,文件上传不要觉得大惊小怪,这只是小场面。

继续抓包,找到下面的确定修改,这里才是更新的主要地方:

抓包:

找到这个包,别放太快,杂包确实多,之前也是没注意没抓到这个包,导致我还好奇:咦?这地方上传东西都不带发包的?这里也是坑,踩过的才知道有多无语。

找到数据包下面,

这里才是我们刚刚上传的文件:

于是我们将他改成.php后缀:

当然,这个地方的前面也有一个东西:

这个地方你也改的话就是到时候你上传的位置就直接是last6.php了,这里不改也没事,到时候你访问的时候将.jpg改成.php一样可以访问,因为下面那个才是决定文件真正属性的地方。

然后放包:

尝试访问一下:

发现无法404

不过不得不说这404做的也确实有心了,是想说我是什么牛马?

然后我们将url中的last6.jpg改成last6.php:

可以访问是吧,说明那个确实只是做个样子,但是这里不解析,还乱码,乱码的话改一下浏览器编码就能解决:

这里不解析所以菜刀也肯定连不上咯,于是我开始自闭,是哪里出问题了吗,千思万想,突然想到,之前那个上传的地方有点怪,于是我把冰蝎码改了一个名字,改成last7.jpg吧,重新再来一次:

重新再上传一次:

还是熟悉的地方,熟悉的操作

熟悉的页面,然后我把我刚刚上传的文件图片拔下来对比:

突然发现,这个folder这个参数后面怎么回事?1491464069?

这个地方不会是指定路径的吧?

于是我试试跳转符号:

哦吼,惊喜啊,看来这个是指定上传点的啊,这个地方也试了好多遍才知道的,哎,只怪自己太单纯了。

但是又一个问题,我该上传到哪里他才能解析呢,一般来说是上传到网站根目录下吧,但是根目录又是哪里呢?我查了很久也不知道,然后我翻repeater里的包,突然看到前面在传另一个上传点的的那个回包,一开才发现,卧槽,这里居然有路径???

又掏出了我的这个图,惊喜吧?

原来他的路径在/var/www/html/ischool/uploader/server/php这个地方啊,我激动的,赶紧来试一波,于是我将上传路径改成:/var/www/html/ischool/下(网站根目录):

但是这样尝试了很多次都没成功,到底是哪里出问题了?想着想着,最后在朋友的指点下终于明白这句话的意思了,原来是1491464069*uploader_uid*391439882707这个目录不可写入,于是我又看了一下我之前上传的图片的网站:

https://xxxxxxxxxxxxxxxxx/ischool/resources/VolunteerSystem/V_823cd351b92e00f646353e5cdaa9ad9d7ee9171d/signup/23924/1491464069/last6.php

我若有所思,将后面的1491464069后面的*uploader_uid*391439882707去掉,然后folder的值变成:

folder=1491464069/../../../../../../../var/www/html/ischool/

这里/../多少个都没事,只要够用就好,多了最多跳转到根目录下

然后这里是给了成功的提示,我激动的快要哭了,所以继续之前的操作,放包,:

提交修改:

这里改一下,改成last7.php:

然后全部放包:

可以看到终于全部修改完成了。于是我来访问一下,刚刚上传的目录是/var/www/html/ischool/,所有应该在网站根目录下,尝试访问一波:

可以看到,访问百页,说明上传成功了。此前理成功最近的一步了:

于是打开我的冰蝎:

这里注意,由于这个网站是需要翻墙才能访问的,所以我全过程都是burpsuitt代理抓包,所以冰蝎也要代理,:

冰蝎代理好后,直接连接:

然后发现连接成功:

此刻,犹如中了一个亿一样的激动,确实,整个过程从SQL注入到getshell,这期间包含了整个实战性的攻击过程,有很多失败,但都被一一化解了。只能说确实是千辛万苦了。


http://www.kler.cn/a/421978.html

相关文章:

  • 数据结构--二叉树的创建和遍历
  • 28.100ASK_T113-PRO Linux+QT 显示一张照片
  • 6.824/6.5840 Lab 1: MapReduce
  • 第N9周:seq2seq翻译实战-Pytorch复现-小白版
  • 量化交易系统开发-实时行情自动化交易-8.5.VNPY平台
  • 利用Docker一键发布Nginx-Tomcat-MySQL应用集群
  • 【方案三】JAVA中使用ocr(Umi-OCR)
  • 嵌入式硬件实战提升篇(三)商用量产电源设计方案 三路电源输入设计 电源管理 多输入供电自动管理 DCDC降压
  • 剖析设备像素、CSS 像素等的特性与用途
  • 关于layui的dropdown下拉框缓存问题修复
  • 【星海随笔】syslinux
  • 面试题-RocketMQ的基本架构、支持的消息模式、如何保证消息的可靠传输
  • Elasticsearch做分词实践
  • Day 30 贪心算法 part04
  • Linux安装部署Redis教程
  • Linux基础—防火墙2
  • 【CVPR24】One-Prompt to Segment All Medical Images
  • 面试题整理(二)
  • 2411C++,CXImage简单使用
  • 怎么把项目提交到git上