湖湘杯2018writeup
题目名 Code check
解题思路、相关代码和 Flag 截图:
扫目录发现了 /news 下载源码
根据源码构造加密程序
Sql 注入
Payload:
(3//union//select//1,GROUP_CONCAT(id),GROUP_CONCAT(title),4//from/**/notice2hxb2018)
RUV4SUlhMG4vUFlITDVQdS9xMndUMlI0V2RwYlZkYVcvd3lLL0d5M2lENEFuNzFvVGNWTWRBTXB2ay8vVk9JbVBjZUxWWUhiZTlzMEtXVitnam5JcFo
题目名 Flow
解题思路、相关代码和 Flag 截图:
Wireshark 打开发现为 802.11
弱密码爆破
生成 psk
查找 flag
题目名ReadFile
解题思路、相关代码和 Flag 截图:
题目名:My Note
解题思路、相关代码和 Flag 截图:
文件上传,修改文件类型
在目录中找到该文件,直接读取 flag
题目名称 XmeO
解题思路、相关代码和 Flag 截图:
易知为模板注入
Payload:
1 | {{''.__class__.__mro__[2].__subclasses__()[40]('/home/XmeO/auto.js').read()}} |
题目名称 highwayhash64
第一眼以为是 md5,仔细一看是哈希(明明题目说了)
highwayhash64 在 GitHub 上搜了一下
[https://github.com/google/highwayhash]{.underline}
找到了源码,再仔细对照算法,只有一个函数魔改了,其他都一样。
加密过程是:先对输入的长度进行校验,然后对数字部分进行校验。
对着改成了文件的模样,先爆破了 digit 的长度是 10, 然后就可以开始爆破了。
用的是 GitHub 上自带的 test 函数,稍微改了改
爆破的速度还是很快的,队员 3 个人各跑了一下确定了区间,最后得解。
题目名称 regex format
只要正确理解了:和、$那段解析判断就非常简单了
简单模拟了一个正则表达式 : 和、$ 中的内容是可以出现的内容
例如 :a$+ 就可以出现 1000 次 a 这样
而且题目关了 NX
因此可以栈溢出,控制程序跳到 bss 段,然后在 bss 段填 shellcode ,get
shell
题目名称:Disk
这题有点脑洞
用 winhex 可以打开文件
发现有 4 个 flagx.txt 文件
对比发现后面有一段东西是不同的,但是都是 01 的,于是猜是 flag
脚本如下
1 | flag='0110011001101100011000010110011101' |
题目名称:Common Crypto
逆向一下程序,发现是 AES 加密
看到有一段赋值的,于是就猜那个是 key
拿去网上的解密网站
解出前 16 位 flag
后面的就直接是可见字符
题目名称 replace
这题比较简单
Upx 脱壳
然后之后就是简单的替换
脚本如下
1 | a='2a49f69c38395cde96d6de96d6f4e025484954d6195448def6e2dad67786e21d5adae6' |
题目名称:welcome
差点忘了写这题题解。关注公众号即可