前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >writeup | 强网杯web题目四道

writeup | 强网杯web题目四道

作者头像
安恒网络空间安全讲武堂
发布2018-04-18 16:57:45
1K0
发布2018-04-18 16:57:45
举报
0x01 web签到

0x02 streamgame1

0x03 streamgame2

0x04 Three hits

0x01web签到

md5碰撞 查看源码后发现:

上传两个个md5加密后为0e的字符串试试,但除了返回success就什么反应了

继续看这样不行估计就是md5碰撞了(生日攻击)

看雪有一个md5碰撞攻击器

http://www.freebuf.com/articles/web/16806.html(含详细教程)

按照上面的使用教程生成两个文件

可以写个小脚本提交

也可以打开文件后url编码提交,即构造:

param1=%D11%DD%02%C5%E6%EE%C4i%3D%9A%06%98%AF%F9%5C%2F%CA%B5%87%12F%7E%AB%40%04X%3E%B8%FB%7F%89U%AD4%06%09%F4%B3%02%83%E4%88%83%25qAZ%08Q%25%E8%F7%CD%C9%9F%D9%1D%BD%F2%807%3C%5B%D8%82%3E1V4%8F%5B%AEm%AC%D46%C9%19%C6%DDS%E2%B4%87%DA%03%FD%029c%06%D2H%CD%A0%E9%9F3B%0FW%7E%E8%CET%B6p%80%A8%0D%1E%C6%98%21%BC%B6%A8%83%93%96%F9e%2Bo%F7%2Ap &param2=%D11%DD%02%C5%E6%EE%C4i%3D%9A%06%98%AF%F9%5C%2F%CA%B5%07%12F%7E%AB%40%04X%3E%B8%FB%7F%89U%AD4%06%09%F4%B3%02%83%E4%88%83%25%F1AZ%08Q%25%E8%F7%CD%C9%9F%D9%1D%BDr%807%3C%5B%D8%82%3E1V4%8F%5B%AEm%AC%D46%C9%19%C6%DDS%E24%87%DA%03%FD%029c%06%D2H%CD%A0%E9%9F3B%0FW%7E%E8%CET%B6p%80%28%0D%1E%C6%98%21%BC%B6%A8%83%93%96%F9e%ABo%F7%2Ap

POST上传即可

0x02 streamgame1

下载下来是一个加密源码,逐步分析

开始以为flag是一个第三方库但其实安装后没什么用

看下面三行,知道了字符串的开头结尾,总共25字符

继续分析lfsr加密函数

R=int得知到flag是个字符串是一个01的组合计算的话也就是19个01的组合

R是一个整型mask也是一个整型

打开一个key的文件以二进制追加形式,for循环循环12次在里面把R和mask当作参数调用加密函数,tmp变量和i变量都用到一个位移运算,所以感觉写不出逆向算法解密

每次循环的到tmp密文写进key这个文件,所以采取直接爆破,因为R变量是一个19位二进制数,所以穷举数量级应该也不大,R的范围是0-524287,在算出每个变量的密文再与key中的密文作比较,如果相等就得到R的值即flag

解密脚本

0x03 streamgame2

在这第二个密码题中其实思路跟1是一样的,只是flag长度比1多两位,修改R值爆破范围即可,不到一个小时爆出,附上脚本

0x04 Three hits

利用注册时的age可以在profile.php中进行二次注入,其中age要求必须是数字类型的,我们此处可以是用hex值来绕过。因为解题过程中有大量注册和登录操作,所以使用如下脚本,简化操作:

也可以手动注入

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2018-03-29,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 恒星EDU 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档