ISCC 2021 部分题目WP

ISCC 2021 部分题目WP

题目目录

  1. 练武题:web-ISCC客服一号冲冲冲(一)
  2. 练武题:web-介是嘛
  3. 练武题:web-Web01正则匹配最后的倔强
  4. 练武题:web- ISCC客服一号冲冲冲(二)
  5. 练武题:misc-海市蜃楼1
  6. 练武题:misc-变异的SM2
  7. 擂台题:misc-小明的表情包

1. 练武题:web-ISCC客服一号冲冲冲(一)
知识点:js加密
先查看代码源,可以看到一个js文件;在这里插入图片描述
这是js文件打开后,进行js解码(在此处附上一个js解码的网址https://jsdec.js.org/)在这里插入图片描述
解码后就可以得到flag。在这里插入图片描述

2. 练武题:web-介是嘛
知识点:jother编码(记住特征)
先查看码源,可以得到,其为jother编码;特征为含有**"!"、"+"、"["、"]"、"{"、"}";在这里插入图片描述解码可以将这段jother直接复制在火狐或者谷歌的浏览器控制台上,然后回车即可得到flag.在这里插入图片描述
3. 练武题:web-Web01正则匹配最后的倔强
知识点:php代码的阅读和get传参
打开之后,查看源代码可以看见是关于php文件的,阅读代码可以发现如果想得到flag必须在get传参里输入一个符合条件的数值,条件语句说
传参的数值长度必须小于8而且数值大于9999999**,所以可以想到科学计数法进行get传参;

访问/robots.txt在这里插入图片描述src在软件中都是指source,也就是源代码的意思,也相当于/url,通俗的理解就是路径的意思,访问/code/code.txt; 在这里插入图片描述

在这里插入图片描述
传参后得到flag.在这里插入图片描述
4. 练武题:web- ISCC客服一号冲冲冲(二)
知识点:图片解密(隐写)和CBC字节翻转攻击(较浅)
打开后发现其是一张图片,就看看图片里有什么,所以就直接用stegsolve图片隐写工具打开;在这里插入图片描述

在这里插入图片描述
然后点击Save Bin就可以保存这段代码;在这里插入图片描述在这里插入图片描述

根据题目可以知道web-ISCC客服一号冲冲冲(一)的答案是这道题目的password,所以可以试试传参,在火狐里打开Hackbar进行password传参;传参后可以看见(也可以用bp查看返回包里的cipher和iv的值)在这里插入图片描述
在这里插入图片描述
可以发现这个除了admin谁都可以进只是要确保密码正确;把admin换成admil试试,可以得到一个在这里插入图片描述
根据上面保存的代码段不难发现cipher和iv这两个参数,所以打开Cookie查看这两个参数在这里插入图片描述
看到这两个参数是CBC加密(CBC字节翻转攻击)
a.什么是CBC加密
CBC模式的全程是Cipher Block Chaining模式,是密文分组连接模式,说白了就是密文分组像链条一项相互连接在一起;在CBC模式中,首先将明文分组与前一个密文分组进行XOR运算(进行异或运算),然后再进行加密。
CBC解密特点:前16个密文字符用来解密接下来的一组16个密文,就是说通过改变前16个密文就可以改变下面16个密文解密的结果.(翻转攻击)
在这里插入图片描述在这里插入图片描述

Plaintext:待加密的。
IV:用于随机化加密的比特块,保证即使对相同明文多次加密,也可以得到不同的密文。
Key:被一些如AES的对称加密算法使用。
Ciphertext:加密后的数据。
两张图片对比着看理解

这里附上解释详细且类似题目解法的大佬博客

https://hetian.blog.csdn.net/article/details/106329677
https://blog.csdn.net/u013577244/article/details/86310881

直接使用代码(脚本)修改cipher和iv控制用户名;注意每次刷新这两次的cipher和iv参数的值都会发生改变,所以要清除本地的post的值;
接下来解题的大致思路是:
a.运用python脚本改变参数值(注意python的版本)
b.翻转后的cipher,再次输入改变原来的cipher的值,刷新页面
c.发现页面提示错误,这是因为我们改变了密文1的内容,使第一次解密出的明文顺序发生错乱,序列化数据的格式紊乱
d.可以再修改iv的值,iv XOR 解密(密文1) = 明文1(根据CBC的解密原理)
e.得到新的iv,替换原来的iv即可得到
(但是由于自己的python太菜鸟,就卡在了那个脚本运行的地方没能最终得到新的cipher和iv。。。。要好好学习学习那个python语言啦,而且对于不同版本的脚本也不同,规则什么的要好好学习)
下面附上一段大佬的代码适用于python3

#-*- coding:utf8 -*-
import base64
import urllib.parse

# a:2:{s:8:"userna
# me";s:5:"admiN";
# s:8:"password";s
# :6:"123";}
 
#原始cipher
ciphertext = 'w1uvgfzxxuYHA%2Bo08ZL%2BCefhwr2jHuwglOIBAh8cP1w5TCiCmY0Yy%2BQxelAl9%2B%2FiZeRvLD7UjzlF58bTGFZ%2BWQ%3D%3D'

cipher = base64.b64decode(urllib.parse.unquote(ciphertext))
array_cipher = bytearray(cipher)
array_cipher[13] =  array_cipher[13]^ ord('N') ^ ord('n')
#print(array_cipher)
print('newCipher:',urllib.parse.quote(base64.b64encode(array_cipher)))

#解密后的明文base64
decode_plain = base64.b64decode('sxvY7wUlyPgC+/iV7InfjG1lIjtzOjU6ImFkbWluIjtzOjg6InBhc3N3b3JkIjtzOjM6IjEyMyI7fQ==')
#原始iv
iv = base64.b64decode(urllib.parse.unquote('1HxERxo2%2FTuymbrPoVDB%2Bw%3D%3D'))
#原始明文
plain = 'a:2:{s:8:"userna'

newiv = list(iv)

for i in range(16):
    newiv[i] = (ord(plain[i].encode('utf-8')) ^ iv[i] ^ decode_plain[i])

newiv = bytes(newiv)

print('newiv:',urllib.parse.quote(base64.b64encode(newiv)))在这里插入代码片

在上面付的链接里面有适用于python2的脚本;

5. 练武题:misc-海市蜃楼1
知识点:文件分离(工具winhex)
先用word文档打开后可以看见是一堆的乱码;在这里插入图片描述
再用Winhex打开试试发现了熟悉的文件头50 4B 03 04,可以知道这里面含有zip的压缩包所以,进行文件分离,以.zip的形式保存文件在这里插入图片描述在这里插入图片描述
再解压这个文件夹,再搜索里面搜flag就可以出来含有flag的相关文件,一开始得到的是一个.xtml的文件,改成.html的文件就可以打开网页,即可;在这里插入图片描述
在这里插入图片描述在这里插入图片描述
6. 练武题:misc-变异的SM2
(这个题我暂时还没有出活儿,先写一下我的菜鸟想法)
先要知道linux里的nc命令有什么作用,通过查找知道了nc命令可以设置路由器的相关参数

-g<网关> 设置路由器跃程通信网关,最多可设置8个。
-G<指向器数目> 设置来源路由指向器,其数值为4的倍数。
-h 在线帮助。
-i<延迟秒数> 设置时间间隔,以便传送信息及扫描通信端口。
-l 使用监听模式,管控传入的资料。
-n 直接使用IP地址,而不通过域名服务器。
-o<输出文件> 指定文件名称,把往来传输的数据以16进制字码倾倒成该文件保存。
-p<通信端口> 设置本地主机使用的通信端口。
-r 乱数指定本地与远端主机的通信端口。
-s<来源位址> 设置本地主机送出数据包的IP地址。
-u 使用UDP传输协议。
-v 显示指令执行过程。
-w<超时秒数> 设置等待连线的时间。
-z 使用0输入/输出模式,只在扫描通信端口时使用。 这里是引用

在这里插入图片描述
可以参考这个题:https://www.anquanke.com/post/id/225449

7. 擂台题:misc-小明的表情包
知识点:凯撒密码,掩码破解,文件损坏
根据题目知道年份藏在凯撒密码里“AVARGRRA AVARGL AVAR",用在线工具解密,发现一串可读的明文,确认年份为1999年;在这里插入图片描述
生日一共有八位数字,小明说是日月年,现在我们知道了其中的四位,再暴力破解一下;可以得到密码07071999就可以打开压缩包了在这里插入图片描述
解压缩,发现这个图片打不开,jpg文件头为FFD8FFE1,用winhex打开发现下面有00 00 FF E1这时就需要修改文件头;在这里插入图片描述
再保存文件可以得到flag在这里插入图片描述

  • 1
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值