前言
南森新生赛,确实是新生级别的赛事,题目难度不会太高,甚至有好几题都是网上搜到的buu有的题目(笑),但是web题个人觉得还是有一定学习空间的(虽然谁会把文件上传题放公共靶机就是了),这里先对个人感兴趣的web题进行复现,其他方向先咕了(
WEB
黑心的网站
源码泄露+misc(?)
因为题目环境在比赛结束后立刻就关闭了且没有复现,所以这边直接贴官方wp
题目
域名打开是一个文件传输的页面,页面内没有可交互的东西(所以为什么题目页是nc+域名啊)
操作
查看页面源代码
提示源码泄露,但是不让扫(悲)
于是这边就自己写脚本进行扫描。。。
import requests
# 扫描地址
url1 = "需要扫描的地址"
# 常见网站源码备份文件名
dir1 = ['web','website','backup','www','wwwroot','temp']
# 常见网站源码备份文件后缀
final2 = ['tar','tar.gz','zip','rar','bak']
# 开始扫描
for i in dir1:
for j in final 2:
# 拼接备份文件名
filename = str(i) + '.' + str(j)
# 拼接最终url
url = str(url1) + '/' + filename
# 返回文件名
print(filename + ' ',end='')
# 返回数据包长度,根据长度判断网站备份文件
print(len(request.get(url).text))
得到backup.tar.gz
,下载后代码审计(当时博主后缀手动爆破出来过,但是当时没想到还要爆文件名)
得知靶机所在路径 /NFPC,进入下面的这个页面
目录遍历进入are you crazy now根据提示完成xss:
"> <scr***\*script\****ipt>alert(343)</s***\*script\****cript>
据此得知flag应该藏在/WAxiangxiangzuichaofan/flag中
或者不进行xss,直接查看网页源代码也能发现
(非预期解)(其实这才是预期解吧)
用winhex查看,发现文件头文件尾特征,foremost中分离文件
得到flag{Friend3inForestwo1f}
上传小考验
文件上传二次图片渲染
题目
试图上传php
这里上传一张纯色jpg看看回显
发现没有回显(但是传张正经jpg图片好像就有回显,或许是bug?)
于是再传张png的上去
直接回显图片
操作
于是这里往图片写入一句话木马(注:这里不能在上传时把后缀名改为php)
根据回显下载上传的图片,用010打开后发现一句话木马被删除了
同时发现与原图片之间有巨大变动
猜测文件是经过二次渲染,因此将一句话木马放入未被删除的部分里
再次上传。。。然后没回显,博主就卡在这里了。。。。(后来知道png和gif的二次图片渲染是不一样的)
这里还是上官方wp吧
官方这里上传了gif写入一句话木马在未被删除的部分,上传成功
接下来的问题就是如何利用图片马拿到flag,f12查看网页源码,并没有发现什么东西
但是发现能够向下滑动,翻到最下面后发现第二个提示:
“nanjing目录下有flag1.php !也许这能帮助你”
我们访问nanjing目录下的flag1.php
由于我们已经传入图片马,只需要能够将图片马利用就能拿到flag,因此,我们猜测这个网页能够帮助我们达成这一目的,有可能存在文件包含漏洞,因此通过这个网页尝试访问图片马,通过新标签页我们得知图片马的所在位置:
nanjing/a587d44cd48ed2793dec95d3642b9e73/1613146611.gif
而flag1.php所在路径为:nanjing/flag1.php
, flag1.php和图片马所在路径不一致,和a587d44cd48ed2793dec95d3642b9e73在同一目录下
因此,我们通过file=a587d44cd48ed2793dec95d3642b9e73/1613146611.gif
来访问图片马
好像访问成功了!
我们用蚁剑链接试一试
访问成功!
我们发现了flag目录,好像找到flag了!我们访问它
在里面我们找到了flag.txt,打开它
里面没有flag!但是有一个新提示:flag所在文件名叫做hello.txt
我们返回题目所在目录,发现一个奇怪的文件夹
打开后有hello.txt!我们就此找到了flag