ISCC WP

misc

我的折扣是多少

得到三个文件
在这里插入图片描述
第二个文件一闪而过,截屏得到下图,那么,可以看到此解码就像是unicode编码,尝试解第三个压缩包,错误
在这里插入图片描述
将第三个压缩包放到010里面
在这里插入图片描述
可以得到一串base64
在这里插入图片描述
得到密码二,即得到完整的密码
在这里插入图片描述
然后,我没想法了,经过学长的指点,了解到,.MP3文件大多数都是需要·MP3stego进行解密的
那么我又对MP3stego进行学习了解使用方法,
使用方法
在这里插入图片描述
然后得到
在这里插入图片描述
base32,得到flag

tornado

原题
在这里插入图片描述

在这里插入图片描述

世界套娃与你环环相扣

猪圈密码ISCCVERYNICE
然后压缩包受到损坏,我的WinRAR修改不了这个东西,就用手动修改
手动修改压缩包文件头
在这里插入图片描述
开头添加Rar!的十六进制
在这里插入图片描述结尾添加Ä={的十六进制
得到
在这里插入图片描述
这两个文件
第一个改为.mp3文件
第二个拼图发现并没有有用信息,然后更改高宽,得到下图
在这里插入图片描述
访问发现需要密码
然后看音频文件
这是个SSTV的题,具体看
大佬博客
得到密钥
然后登录到网盘,然后复制里面的具体内容,记得要全部复制,不然…然后base92
就可以了

检查一下

这道题,先用binwalk一下,直接得到两个文件
在这里插入图片描述一个是空文件,一个是只含有0和1的文件

在这里插入图片描述
到这我就没思路了,经过学长指点,知道用pngcheck检查一下,说是一个IDAT模块损坏
如下给个命令行
在这里插入图片描述可以看到后三个和前面长度明显不同

在这里插入图片描述
然后就查和pngchack有关的ctf题
大佬博客
果真让查到了
大佬是吧压缩包直接手动分离,并且写了个脚本,我在最开始,阴差阳错的已经得到含0和1的文件

from PIL import Image

MAX = 29
pic = Image.new("RGB",(MAX, MAX))
str = " 0和1的文件"
i=0
for y in range (0,MAX):
    for x in range (0,MAX):
        if(str[i] == '1'):
            pic.putpixel([x,y],(0, 0, 0))
        else:
            pic.putpixel([x,y],(255,255,255))
        i = i+1
pic.show()
pic.save("flag.png")

然后跑脚本就好了

Retrieve the passcode

在这里插入图片描述
在这里插入图片描述
看到这里,我以为是什么密码学或者是密钥之类的。
后来经过学长指点才发现不对劲,才知道是三维坐标的点。跑脚本!!!

import matplotlib.pyplot as plt

import numpy as np

from mpl_toolkits.mplot3d import Axes3D


fig = plt.figure()

ax = fig.gca(projection="3d")



xs, ys ,zs= np.loadtxt('xyz.txt', delimiter=':', unpack=True)

ax.scatter(xs, ys, zs, zdir="z", c="#FF5511", marker="o", s=40)

ax.set(xlabel="X", ylabel="Y", zlabel="Z")


plt.show()

得到
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
摩斯密码解码即可。

海市蜃楼-1

一个docx文件,点开,文件头是PK,可能是个压缩包
在这里插入图片描述改为zip后缀,然后用winrar查找ISCC即可
在这里插入图片描述

小明的宠物兔

在这里插入图片描述
开始没接触过CRC32碰撞,并不知道这里面有猫腻。
就知道放虚拟机里binwalk,分离出压缩包
在这里插入图片描述
在这里插入图片描述看着像DES加密,毕竟开头前几个字母跟,美人鱼的那道题一摸一样。
后来经过学长指点才知道是ribbit解密(题目都说是兔子了)。解密需要密匙,应该就在压缩包key里面了
需要用到CRC32爆破

└─$ python3 crack.py key.zip

reading zip files...

file found: key.zip / key.txt: crc = 0x3dacac6b, size = 5

compiling...

searching...

crc found: 0x3dacac6b: "yR>\x5c5"

crc found: 0x3dacac6b: "DCr4m"

crc found: 0x3dacac6b: "X\x0c.5y"

crc found: 0x3dacac6b: "(0_0)"

crc found: 0x3dacac6b: "\x09nOYe"

done


key.zip / key.txt : 'yR>\\5'

key.zip / key.txt : 'DCr4m'

key.zip / key.txt : 'X\x0c.5y'

key.zip / key.txt : '(0_0)'

key.zip / key.txt : '\tnOYe

放上脚本,最后爆出来是(0_0),用ribbit解密即得flag

小明的表情包

跑脚本,将凯撒的所有的密文都拿出来
在这里插入图片描述
并没有什么用处
直接爆破
在这里插入图片描述
得到口令,但是发现jpg文件打不开,放到010中发现是文件头不对劲在这里插入图片描述然后,添加正常jpg文件的文件头即可。

base小偷

跑个脚本,把凯撒的所有密码都搞出来

s = "trefy2k2ov2lig2gqd2eqakoxjqcw4lztnfli"
f = open("crack.txt", "w")
def kaisa(k):
    t = ""
    for c in s:
        if 'a' <= c <= 'z':
            t += chr(ord('a') + ((ord(c) - ord('a')) + int(k)) % 26)
        elif 'A' <= c <= 'Z':
            t += chr(ord('A') + ((ord(c) - ord('A')) + int(k)) % 26)
        else:
            t += c
    print(t)
    f.write(t+"\n")
for i in range(0,26):
    kaisa(i)

然后导出就行了,虽然我没看出什么猫腻,但是学长看出来了,是base32
在这里插入图片描述

# coding: UTF-8
import base64

ff = open('output.txt','w')
with open('crack.txt','r') as f:
    lines = f.readlines()
    for line in lines:
        line_n =line.replace('\n','')
        line_n=line_n+r'==='+'\n'     #行末尾加上"===",同时加上"\n"换行符
        line_new=line_n.upper()        #小写转换为大写
        ff.write(line_new)           #写入一个新文件中
ff.close()

with open('output.txt','r') as f:

    list = f.read().splitlines()   #存入列表中
    i = 0
    ls2 = [str(i) for i in list]  #转换为字符串类型
    while i < len(list):
        print(base64.b32decode(ls2[i]))
        i += 1

然后运行出来后,会发现一段base64编码
解码即可。

web

ISCC客服冲冲冲(一)

直接改下图的地方
在这里插入图片描述
然后就行了

在这里插入图片描述

这是啥

在这里插入图片描述放到控制台即可。

在这里插入图片描述

Web01

在这里插入图片描述
想到攻防世界的某道题,也是robots协议
在这里插入图片描述
scr是目录的意思
在这里插入图片描述然后就是代码审计了

<?php
<p>code.txt</p>

if (isset ($_GET['password'])) {
     
	if (preg_match ("/^[a-zA-Z0-9]+$/", $_GET['password']) === FALSE)
	{
		echo '<p>You password must be alphanumeric</p>';
	
    }
	  else if (strlen($_GET['password']) < 8 && $_GET['password'] > 9999999)
	{    
    
		if (strpos ($_GET['password'], '*-*') !== FALSE)
		{
			die('Flag: ' . $flag);
		}
		else
		{
			echo('<p>*-* have not been found</p>');
		}
	}
	else
	{
		echo '<p>Invalid password</p>';
	}
}
?>

在这里插入图片描述
所以payload

?password=1e8%00*-*

在这里插入图片描述

easyweb

这是道注入题,说实话,我虽然打了好几关sql -labs,但是我对sql注入的理解还是很浅奉劝各位,理解到位再打,不然只会语句,跟不会是差不多的

这道题还是在大佬的帮助下才复现出来的。
在这里插入图片描述
先查注入点。题目没有提示,但是F12就会有提示了

在这里插入图片描述
在这里插入图片描述
先看一下注释符是否被过滤
被过滤了
在这里插入图片描述
然后使用#注释,但是井号情况下,闭合符号都是错的,所以#,也被过滤了,然后就需要#的代替%23
在这里插入图片描述
经过尝试,闭合符号是 ‘
在这里插入图片描述

在这里插入图片描述然后进行模糊测试

模糊测试:
用来看哪些字符被过滤了

即在使用burp的情况下,测试一个注入题中哪些东西被过滤。
使用一个字典,将注入时需要的语句放入字典内部,然后进行测试,查看哪些语句被过滤。
sql注入绕过操作
可以看到union和select都被过滤了,那么尝试双写绕过。
在这里插入图片描述

?id=0'%0dununionion%0dselselectect%0d1,2,3%23

在这里插入图片描述
拿数据库名
在这里插入图片描述
又因为 from和information_schema都被过滤了,所以只能用dsys.schema_table_statistics_with_buffer代替他们

?id=0'%0dununionion%0dselselectect%0d1,(selselectect%0dgroup_concat(table_name)%0dFROM%0dsys.schema_table_statistics_with_buffer),3%0d%23

在这里插入图片描述之后,注入就进行不下去了,因为把from和information_schema都过滤了,所以无法从表获取到列。
只能盲猜一波。学长盲猜的是iscc_flag
在这里插入图片描述
进入
在这里插入图片描述
先获取网站路径

?id=-1'%0duniunionon%0dselselectect%0d1,(load_file('/etc/apache2/sites-available/000-default.conf')),3%23    //此路径为默认

最后构造payload

?id=-1'%0duniunionon%0dselselectect%0d1,(load_file('/var/www/const/flllllllllaaag.php')),3%23

总结

总结就是,web题做得太少,这方面投入太少。以后争取每天都学到一点知识。

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值