ISCC2018 Writeup

2018-05-10  本文已影响0人  ha9worm

MISC

1.What is that?

根据图片内容向下的手势猜测修改图片的高

2.秘密电报

秘密电报:

知识就是力量 ABAAAABABBABAAAABABAAABAAABAAABAABAAAABAAAABA

培根密码解密

3.重重谍影

Vm0wd2QyVkZOVWRXV0doVlYwZG9WVll3WkRSV2JGbDNXa1JTVjAxWGVGWlZNakExVjBaS2RHVkljRnBXVm5CUVZqQmtTMUl4VG5OaFJtUlhaV3RHTkZkWGRHdFRNVXB6V2toV2FsSnNjRmhhVjNoaFYxWmFjMWt6YUZSTlZtdzBWVEo0YzJGR1NuTlhiR2hYWVd0d2RsUnRlR3RqYkdSMFVteFdUbFp0ZHpCV2EyTXhVekZSZUZkc1ZsZGhlbXhoVm01d1IyTldjRVZTYlVacVZtdHdlbGRyVlRWVk1ERldZMFZ3VjJKR2NIWlpWRXBIVWpGT1dXSkhhRlJTVlhCWFZtMDFkMUl3TlhOVmJGcFlZbGhTV1ZWcVFURlRWbEY0VjIxR2FGWnNjSGxaYWs1clZqSkdjbUo2UWxwV1JWcDZWbXBHVDJNeGNFaGpSazVZVWxWd1dWWnRNVEJXTVUxNFdrVmtWbUpHV2xSWlZFNVRWVVpzYzFadVpGUmlSbHBaVkZaU1ExWlhSalpTYTJSWFlsaENVRll3V21Gak1XUnpZVWRHVTFKV2NGRldha0poV1ZkU1YxWnVTbEJXYldoVVZGUktiMDB4V25OYVJFSm9UVlpXTlZaSE5VOVdiVXB5WTBaYVdtRXhjRE5aTW5oVFZqRmFkRkpzWkU1V2JGa3dWbXhrTUdFeVJraFRiRnBYWVd4d1dGWnFUbE5YUmxsNVRWVmFiRkp0VW5wWlZWcFhZVlpLZFZGdWJGZGlXRUpJV1ZSS1QxWXhTblZWYlhoVFlYcFdWVmRYZUZOamF6RkhWMjVTYWxKWVVrOVZiVEUwVjBaYVNFNVZPVmRXYlZKS1ZWZDRhMWRzV2taWGEzaFhUVlp3V0ZwR1pFOVRSVFZZWlVkc1UyRXpRbHBXYWtvd1lURkplRmR1U2s1V1ZscHdWVzB4VTFac1duUk5WazVPVFZkU1dGZHJWbXRoYXpGeVRsVndWbFl6YUZoV2FrWmhZekpPUjJKR1pGTmxhMVYzVjJ0U1IyRXhUa2RWYmtwb1VtdEtXRmxzWkc5a2JHUllaRVprYTJKV1ducFhhMXB2Vkd4T1NHRklRbFZXTTJoTVZqQmFZVk5GTlZaa1JscFRZbFpLU0ZaSGVGWmxSbHBYVjJ0YVQxWldTbFpaYTFwM1dWWndWMXBHWkZSU2EzQXdXVEJWTVZZeVNuSlRWRUpYWWtad2NsUnJXbHBsUmxweVdrWm9hVkpzY0ZsWFYzUnJWVEZaZUZkdVVtcGxhMHB5VkZaYVMxZEdXbk5oUnpsWVVteHNNMWxyVWxkWlZscFhWbGhvVjFaRldtaFdha3BQVWxaU2MxcEhhRTVpUlc4eVZtdGFWMkV4VVhoYVJXUlVZa2Q0Y1ZWdGRIZGpSbHB4VkcwNVZsWnRVbGhXVjNSclYyeGFjMk5GYUZkaVIyaHlWbTB4UzFaV1duSlBWbkJwVW14d2IxZHNWbUZoTWs1elZtNUtWV0pHV2s5V2JHaERVMVphY1ZKdE9XcE5WbkJaVld4b2IxWXlSbk5UYldoV1lURmFhRlJVUm1GamJIQkhWR3hTVjJFelFqVldSM2hoWVRGU2RGTnJXbXBTVjFKWVZGWmFTMUpHYkhGU2JrNVlVbXR3ZVZkcldtdGhWa2w1WVVjNVYxWkZTbWhhUkVaaFZqRldjMWRzWkZoU01taFFWa1phWVdReFNuTldXR3hyVWpOU2IxVnRkSGRXYkZwMFpVaE9XbFpyY0ZsV1YzQlBWbTFXY2xkdGFGWmlXRTE0Vm0xNGExWkdXbGxqUms1U1ZURldObFZyVGxabGJFcENTbFJPUlVwVVRrVSUzRA==

先是base64与url混合解码得到

U2FsdGVkX183BPnBd50ynIRM3o8YLmwHaoi8b8QvfVdFHCEwG9iwp4hJHznrl7d4

B5rKClEyYVtx6uZFIKtCXo71fR9Mcf6b0EzejhZ4pnhnJOl+zrZVlV0T9NUA+u1z

iN+jkpb6ERH86j7t45v4Mpe+j1gCpvaQgoKC0Oaa5kc=

AES解密 aes解密

与佛论禅解密地址

4.有趣的ISCC

用HxD发现在文件尾有一串编码,

经过处理可得

Unicode两次解密可得

5.Where is the FLAG?

用HxD打开可发现图片是用Fireworks进行了处理 

再用Fireworks打开可发现9张不完整的二维码拼出来

6.凯撒十三世

神TM脑洞题

先rot13再看键盘上的下一行

7.一只猫的心思

HxD打开发现尾部有一个doc文档 分离 打开

doc内容:

名西三陵帝焰数诵诸山众參哈瑟倒陰捨劫奉惜逝定雙月奉倒放足即闍重号貧老诵夷經友利普过孕北至花令藐灯害蒙能羅福羅夢开雙禮琉德护慈積寫阿璃度戏便通故西故敬于瑟行雙知宇信在礙哈数及息闍殺陵游盧槃药諦慈灯究幽灯豆急彌貧豆親诵梭量树琉敬精者楞来西陰根五消夢众羅持造彌六师彌怖精僧璃夫薩竟祖方夢訶橋經文路困如牟憐急尼念忧戏輸教乾楞能敬告树来楞殊倒哈在紛除亿茶涅根輸持麼阿空瑟稳住濟号他方牟月息盡即来通貧竟怖如槃精老盡恤及游薩戏师毒兄宝下行普鄉释下告劫惜进施盡豆告心蒙紛信胜东蒙求帝金量礙故弟帝普劫夜利除積众老陀告沙師尊尼捨惜三依老蒙守精于排族祖在师利寫首念凉梭妙經栗穆愛憐孝粟尊醯造解住時刚槃宗解牟息在量下恐教众智焰便醯除寂想虚中顛老弥诸持山諦月真羅陵普槃下遠涅能开息灯和楞族根羅宝戒药印困求及想月涅能进至贤金難殊毘瑟六毘捨薩槃族施帝遠念众胜夜夢各万息尊薩山哈多皂诵盡药北及雙栗师幽持牟尼隸姪遠住孕寂以舍精花羅界去住勒排困多閦呼皂難于焰以栗婦愛闍多安逝告槃藐矜竟孕彌弟多者精师寡寫故璃舍各亦方特路茶豆積梭求号栗怖夷凉在顛豆胜住虚解鄉姪利琉三槃以舍劫鄉陀室普焰于鄉依朋故能劫通

还是与佛论禅 这次前面加上如是我闻:

HEX => ASCII    ASCII => base64    base64 => base32    base32 => HEX    HEX => ASCII    ASCII => base64    base64 => base32 base32 => HEX    HEX => ASCII 即可得flag

8.暴力XX不可取

压缩包伪加密 得到字符串vfppjrnerpbzvat rot13得flag


WEB

1.比较数字大小

利用控制台将的maxlength=3改为4 提交即可

2.web01

数组绕过

3.本地的诱惑

HTTP的IP伪造有2个方法

1. X-Forwarded-For: 127.0.0.1

2. Client-Ip: 127.0.0.1

这里用的第一个

4.你能跨过去吗?

首先进行URL解码 去除不必要的字符,截取一段base64解码获得:alert("key:/%nsfocusXSStest%/")<

将key填入后提交获得flag

5.一切都是套路

先是index.php.txt源码泄漏

代码审计 发现可以变量覆盖 构造payload

6.你能绕过吗?

文件包含漏洞利用伪协议读取index文件

base64解码得到

7.web02

与本地的诱惑类似 这里使用第二个

8.请ping我的ip 看你能Ping通吗?

猜测题目为命令执行类

首先猜测参数,有回显 猜测正确

构造payload读取index文件

发现过滤了很多

读取文件发现当前文件夹下并没有flag文件

然后就是作为一个CTFer的直觉了 flag位置就在/home 下

9.Please give me username and password!

先随便输入 得到提示

username使用数组绕过 password使用科学计数法绕过

10.SQL注入的艺术

试了很多后发现时宽字节注入

payload:?id=2%df%27 union select 1,2,3,4,6,6,7,8--+

11.试试看

发现图片地址http://118.190.152.202:8006/show.php?img=1.jpg

可能存在本地文件包含漏洞

构造payload:?img=php://filter/read=convert.base64-encode/resource=1.jpg/resource=../flag.php

别问我怎么知道的路径 我只能告诉你-猜

12.Collide

哈希长度扩展攻击

Input Signature:输入初始的verify的值

Input Data:输入题目给出的要进行加密的值 这里是guest

Input Key Length:输入未知$key的长度

Input Data to Add: 输入要构造的值

5f585093a7fe86971766c3d25c43d0eb 这个即为新的verify值

把guest\x80\x00\x00\x00\x00\x98\x01\x00\x00\x00\x00\x00\x00admin  进行urlencode

guest%80%00%00%00%00%98%01%00%00%00%00%00%00admin这个即为新的username值

13.Only admin can see flag

由网页源代码得到index.txt

是一个CBC的加密

我们先发送正常请求

username=zdmin&password=12345

抓包

把得到的cipher翻转

#!/usr/bin/env python

# -*- coding: utf-8 -*-

import base64

import requests

import urllib

iv_raw='LK5leJoKdK%2BvdqUu%2FrUd6A%3D%3D'  #这里填写第一次返回的iv值cipher_raw='itawk6Fpn2zed8I%2Fycd7qi3Muy9ASUTzw1HVNTnRd3gpduqanOQkVqw9jwq%2FQCUGalPSGdjg%2Bb8eHJgacyzSIQ%3D%3D'

print "[*]原始iv和cipher"print "iv_raw:  " + iv_rawprint "cipher_raw:  " + cipher_raw

cipher = base64.b64decode(urllib.unquote(cipher_raw))

xor_cipher = cipher[0:9] +  chr(ord(cipher[9]) ^ ord('z') ^ ord('a')) + cipher[10:]

xor_cipher=urllib.quote(base64.b64encode(xor_cipher))

print "反转后的cipher:" + xor_cipher

然后再bp中的cookie中设置iv和翻转后的cipher

服务器提示反序列化失败,但是其实我们这个时候只要对这个进行base64解码就会发现,我们的username已经变成了admin

原因是在我们为了修改zdmin为admin的时候,是通过修改第一块数据来修改的,所以第一个块数据(16字节)被破坏了。因为程序中要求username要等于admin所以不能利用文章里的说的填充字符。 又因为是第一个块数据被破坏,第一个块数据是和IV有关,所以只要将在CBC字符翻转攻击,得到新的IV就可以修复第一块数据。

具体办法如下

把得到的新的修复的iv值替换掉,cipher仍然为翻转后的cipher

提交,就可以成功进去

Reverse

1.RSA256

i春秋的原题

下载之后进行解压 发现四个文件

openssl rsa -pubin -text -modulus -in warmup -in public.key

得到

e就是Exponent的值,而n的十六进制为Modules  我们用python转成十进制, 再将n进行因式分解来得到我们的p和q

factordb.com 分解n的网站

#coding:utf-8 

import gmpy 

import rsa 

p =302825536744096741518546212761194311477 

q =325045504186436346209877301320131277983 

n =98432079271513130981267919056149161631892822707167177858831841699521774310891 

e =65537 

d = int(gmpy.invert(e , (p-1) * (q-1))) 

privatekey = rsa.PrivateKey(n , e , d , p , q)#根据已知参数,计算私钥 

with open("encrypted.message1" , "rb") as f: 

print(rsa.decrypt(f.read(), privatekey).decode())      #使用私钥对密文进行解密,并打印 

with open("encrypted.message2" , "rb") as f: 

print(rsa.decrypt(f.read(), privatekey).decode())      #使用私钥对密文进行解密,并打印 

with open("encrypted.message3" , "rb") as f: 

print(rsa.decrypt(f.read(), privatekey).decode())      #使用私钥对密文进行解密,并打印 

上一篇下一篇

猜你喜欢

热点阅读