攻防世界 题库 web upload1 GFSJ0236
简介
这道题正如题目一样是一道简单的文件上传题
难度:2
类型:web 文件上传漏洞
本文工具:firefox(浏览题目) burp(抓包、改包) 中国菜刀(控制服务器)
1、我们点开链接来看题
哦吼简单来分析一下题干,有两个按钮一个写着浏览…一个写着上传,中间提示着未选择文件,根据平时的习惯我们能够了解到,那个浏览应该就是在本地中查找文件上传的位置,选择好后中间的未选择文件应该就会变成所选择的文件的名称的相关提示,之后点击上传我们的文件就能上传上去了。
这题我们就来用一句话木马来处理,首先我们要看一看这题对上传的文件有什么要求嘛,我们直接右键查看源代码
代码没有截全但核心都截取下来了,我们可以看到有一个判断语句if提示着我们需要上传的是以jpg或png为后缀的文件否则会提示请选择一张图片文件上传,很明显我们要上传的文件就是.jpg或.png格式的文件。
让我们来简单编写一个一句话木马
在本地新建一个记事本在里面写上,其中[]中的是密码我们之后要用到的,可以自由修改
如果想在实验中查看文件是否上传上去了可以将着一句话改造一下通过echo传一个参数出来(建议)
然后我们将记事本改个名字为.jpg结尾的
2、这里我么需要使用burp啦,打开burp和一个能够自由控制代理的浏览器
我们将题目的地址放入浏览器里面,回车。
可以看到浏览器在不停的加载中,同时在burp中也弹出了请求数据包,我们在需要先访问一下拿到传输时的数据包进行修改,所以我们选择先放出这个包。
forward放出该数据包同时我们可以看到浏览器中的数据更新了就是我们的题目
我们准备截取上传文件时的数据包所以这里我们再将代理打开
再选择我们事先准备好的文件ttt.jpg上传
这时我们的文件成功上传上去了,但我们不能光是传图片,同时也要把jpg文件格式改成php格式,因为我们要直接使用工具中国菜刀,它所读取的不能是图片,所以要加以修改,我们将鼠标放到Request(请求)的模块里右键
选择Send to Repeater(发送到中继器)对数据包进行修改
我们点开burp软件的Repeater 可以看到数据包已经发送到这里了,同时已经看到我们的jpg文件正在其中。
我们将.jpg改成.php然后点击send发送数据包,可以看到Response(响应)这边出来回应了,upload success : upload/1660832261.ttt.php(上传成功到upload/1660832261.ttt.php)
看来上传成功了因为在设计木马时我们还设计了回显,所以构造出这个url地址先是http协议然后是ip地址及端口号最后是文件地址,再将其组合起来就是http://61.147.171.105:60307/upload/1660832261.ttt.php这个就是我们上传的文件的地址路径啦
我们去尝试访问一下,可以看到我们echo所展现的文字出来了所以我们的木马也就成功上传了
3、下面开始利用中国菜刀进行操作服务器,打开中国菜刀右键点击添加
我们依次将地址和密码填到里面其他的默认就好会自动识别脚本类型(就是木马类型),其中配置里面的东西不是总会自动出现,无伤大雅。以下是配置里的可填写信息
<T> 数据库类型</T> //这里填写数据库类型
<H>数据库主机地址</H> //这里填写数据库主机地址
<U>数据库用户名</U> //这里填写数据库用户名
<P>数据库密码</P>//这里填写数据库密码
<L>编码方式</L> //这里填写编码方式
填写好后我们点击添加(添加按键就是暗的没有问题点就完了)
可以看到我们多了一条站点目标
我们右键它,选择文件管理
可以看到我们成功的看到了所有文件目录,以及我们所在的位置正是我们上传木马的位置
我们去看看其他的文件夹,发现一个可疑的flag.php文件在http文件夹中
打开来看正是我们心心念念的flag呀
flag:cyberpeace{1f1ecb6cf808252c4659f296531a1910}
注:黄色的区域为flag的全部内容,将其全部复制到答案填写处即可,可能每个人的答案不同。