这次比赛只做了下pwn,全都是最基础的利用技巧,听说web是找原题大赛,无语凝噎~
MISC-150
下载文件,发现flag.zip,导出来得到ce.txt
提取出ce.txt文件,直接使用脚本绘出图片:
1 | # -*- coding:utf-8 -*- |
MISC-200
发现加密函数
发现,我们需要password
找到password
写出java解密代码:
1 | package apk; |
得到flag图片,可是
在怀疑出题人不会写字,各种脑补得到flag
flag{all_encryption_is_equal_but_some_are_More_equal_than_others}
PWN-100
发现有canary,但是漏洞函数在fork出的子进程里,可以暴力跑,而那个函数的作用是将输入数据base64decode,于是写出exp:
1 | from pwn import * |
PWN-200
一个明显的格式化串,先泄露出一个库函数的地址然后将计算出的system地址写入atoi的got:
1 | #coding=utf-8 |
PWN-300
发现里面存在很多东东,可以直接构造ROP链的系统调用:
1 | from pwn import * |
RE1
Peid查壳,发现upx壳,脱壳后发现简单加密函数,写出解密脚本
1 | def re1(): |
RE2 android
直接打开apk,得到flag
flag{Start_4ndr0id_Crack1ng_w1th_m3}
RE3
这道题目是一个pyc,然后,反编译回来是这样的
很混乱的代码,然后复制一行,其百度一下,居然找到原题(xdctf-2015年的),直接搜索wp,找到解密代码如下:,
1 | import string |
解出flag:
提交不对,打电话给客服,说是
9733c070b2138e5f
这里我是想***
WEB-200
发现可以用php:filter伪协议来读取文件源码,先读了index.php和uploads.php,然后…试了试flag.php,恩,如下:
http://118.190.87.135:10080/?op=php://filter/read=convert.base64-encode/resource=flag
Base64解码得flag