CTF 网安中国行(2017) – WriteUp

2020-02-18  本文已影响0人  LzSkyline

博客文章迁移:


tiny shop的简化版~

多session竞争刷钱, 然后直接买0day

弱口令admin进入

发现当前上传目录无法执行php, pht文件格式无法解析

思考之后尝试越目录 成功, 传了一个一句话然后去找数据库配置文件, 结果在网站根目录下直接发现了flag = =…

使用结构体来保存item,在转成表述的时候,如果price为负数,会导致字符串过长,造成堆上溢出。

结构体:

struct item

{

void *vtable;

char charname[32];

char description[80];

int price;

int type;

};

通过溢出修改vtable来控制,最后使得金钱指向atoi@got-1,可以部分写入atoi,通过写入system和atoi的差值,

就可以使得atoi被改为system,最后得到shell

无壳VC++6.0程序, 直接从主函数开始跟

边看代码边分析

先是第2位与a比

三四位为5y,后面依次R3versing

最后还有一个第一位与E比较的

拼接一下

AES 2048平方爆破

结果:faa7a8ef504ca7047d9162b9ce4cdb1d

php rand函数在linux下有缺陷,符合下面的预测

state[i] = state[i-3] + state[i-31]

利用python的requests.session可以实现漏洞利用

拿到session后看到一个上传图片的页面,传了一个图片上去感觉很奇怪 比赛时间快结束了 然后就没有然后了= =…

上一篇 下一篇

猜你喜欢

热点阅读