2019-CISCN
初赛
签到
人脸识别
easyGO
gdb里面动态调试,第一个call步进,然后一路单步下去,能直接找到真flag
![easyGO](/2019/08/29/2019-CISCN/1.png)
puzzles
数学题。。队里数学大佬写的(考研人无敌)
question 0
![question 0](/2019/08/29/2019-CISCN/2.1.png)
写脚本求解
1 | import numpy as np |
a1,a2,a3,a4=[4006,3053,2503,2560]
question 1
![question 1](/2019/08/29/2019-CISCN/2.2.png)
1 | def handlerNum(num): |
Part1 = 26365399
question 2
![question 2](/2019/08/29/2019-CISCN/2.3.png)
第一部分洛必达,第二第三部分正常积分,第四部分分部积分:
![question 2](/2019/08/29/2019-CISCN/2.4.jpg)
question 3
![question 3](/2019/08/29/2019-CISCN/2.5.png)
![question 3](/2019/08/29/2019-CISCN/2.6.jpg)
question 4
![question 4](/2019/08/29/2019-CISCN/2.7.png)
柱面法解三重积分
![question 4](/2019/08/29/2019-CISCN/2.8.jpg)
组合得FLAG
JustSoso
伪协议读文件,基本的反序列化。
your_pwn
数组下标没有check,可以越界读写。gdb里面动态调试先确定libc和返回地址的偏移,相当于数组的632和344,然后利用数组越界泄露__libc_start_main地址然后计算libc基址,然后把libc+one_gadget的地址写入返回地址。
saleae
下载saleae即可读取
usbasp
同上
24C
同上,set up write to信号的下一行字符的ASCII值表示接下来数据要修改的位置,在5.9s左右的set up write信号下将字符ac覆盖了9e的位置
daily
show函数存在漏洞,输出的时候未截断,能leak出heap与libc的地址
fastbins的free能泄露出heap的地址
smallbins的free能泄露出libc的地址
delete()的free没有检查下标,能构造double free,从而修改free 地址为system,构造system(‘/bin/sh’)并执行
![daily](/2019/08/29/2019-CISCN/3.png)
全宇宙最简单的SQL
主要用到虚拟表和exp报错
partdes
第13轮解出字符串
baby_pwn
ret2dlresolve,用roputils直接生成ropchain来getshell
![baby_pwn](/2019/08/29/2019-CISCN/4.png)
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 F11st's Cyber Journey!