楼上大佬ddw战队WRITEUP

  • 战队信息

战队名称:楼上大佬ddw

战队排名:24

  • 解题情况

  • 解题过程

01 签到

操作内容:

下载附件,打开运行拿到flag

如该题使用自己编写的脚本代码请详细写出,不允许截图

flag值:flag{鲸鱼带你进入鲸奇世界}

02 Lihua's for

操作内容:

RE 扔进IDA

下断点,动态调试,然后取a数组的数据

写解密代码

如该题使用自己编写的脚本代码请详细写出,不允许截图

less=[0x66,0x6D,0x63,0x64,0x7f,0x64,0x32,0x36,0x6a,0x6c,0x3e,0x3d,0x39,0x20,0x6f,0x3a,0x20,0x77,0x3f,0x27,0x25,0x27,0x22,0x3a,0x7a,0x2e,0x78,0x7a,0x31,0x2f,0x29,0x29,0x16,0x40,0x44,0x45,0x12,0x47,0x47,0x41,0x1a,0x54]
print(len(less))
sas=""
for i in range(len(less)):
    sas+=chr(l[i]^i)
print(sas)

flag值:flag{a41be465-a50f-4124-b7ba-2766aff6baf2}

02 Crypto2

操作内容:

两组数中e相同,n,c不同,求出n1与n2的最大公因数即为p,之后就可以得到q和d,从而求解m,该题中的flag为两部分,要依次求出再拼接。

如该题使用自己编写的脚本代码请详细写出,不允许截图

import gmpy2

import binascii

e = 65537

n1 = 20663949646446787716947370247427064802032290773674573417491154934657966734874241036307633567695175131014840617208051931753476223149652427133485160771068994073566431652969243962290116898345337189704974833817335135391974497754670322430159624252007005736522065638860351992074099453212550475552692645688800084354832716662142860413158369020005830095049988807931794736876563293916525328174812726514626029103506607813186690909585870115364600969148482617083817273910020722354923244093624032174432568413187131385994452769295894606345768596899824635672699945050103814681553981019917552667794514804359500108947102234376726009329

c1 = 20522772249591436865905796103232542494211695376973377722875606678999899690405480809231671346489821878050354380591999935960795888483664473952207298504196203830543208477229162177648586683957831016664569242538775928728009699300145355818417233892295367828930893733774091897666206696635744262884229680137381841581000794056156842812583057103472764486608022028638288161256424936523444974815727764620634174112474612238992061186937613171878635903455700636894570504376153482600057655480654731180740098435209814585459376319844315388048636156465832997913885636776523217188604040216732137108997444787157007665652718553013424347649

n2 = 23260834024376640092536888922041147168387702014814910549469730354688848760379274203088716649609675449936234732528778557041701524981200368996310064584479657042098426164366286670115392015865853892816983885530312074073396422301009513106258655315791720535737587913264728919869055970993613641008348186263870234072422880033882864603438907070864271470483691729705421547143623305055532339107777314310976947392833395180922324243244784018964736826235018388498516438612962123562977736924674510730898077787055367234786519915374446506561992135856904927351307275140543635152771670410211235702283822782412971646092584646758107766061

c2 = 18715009944766815149492560645051626329204114049927707292306481018724323433701970253541495090244787378826569549885480491764057526828531429033378143426272248940256432423939977805246742287886281853484696625486522535042794403288199393432900065504766428665320682811338887618389589263597065738414638013423594446322359052784842619755053094028050245325637698678444632860097510081832077842610716042473697478416213915805481704537884611126069907812621750817901278803326304784057145916721693930579344441283586458621033705530309835431139751025999089707480829034535026967779441379062426254038310930863215188888662357133997908688736

p = gmpy2.gcd(n1,n2)

q1 = n1// p

q2 = n2//p

phi1= (p-1)*(q1-1)

phi2= (p-1)*(q2-1)

d1= gmpy2.invert(e,phi1)

d2= gmpy2.invert(e,phi2)

m1= gmpy2.powmod(c1,d1,n1)

m2= gmpy2.powmod(c2,d2,n2)

print(binascii.unhexlify(hex(m1)[2:]))

print(binascii.unhexlify(hex(m2)[2:]))

flag值:flag{afb1e6f2-9acb-efde-ad7c-246a99d8f1fd}

04 Crypto1

操作内容:

e1=49

e2=35

首先想到了共模攻击,但是不满足gcd条件(e1,e2互质)想到可以将49,35同时除以7,然后进行低加密指数攻击即可

如该题使用自己编写的脚本代码请详细写出,不允许截图

import gmpy2

from Crypto.Util.number import long_to_bytes

n=96722669749951212913756678234358651184134068407812470434435916603156818917545841439779031943800634250032106764154804309935557678512858630048212204696471487762160744924838010746445510979202735123140536599975731157563069594497905809587369126155476201977830809090473053692189364335223367147692962090288185113654598050169422517553085833257142179937154768657039042632343562454149914801329414293361879935460883633117988279426277638667508115319494914342600199690237441851088350726869553691992122821267990343643644523989413546160765907845604067031798179773495433134648132709349683621175243064236059479837244518879574919017301667066698329442453248971033564328161407342561250703168154214939772631586519304164853651

c1=66738113223447221430009739914948303261002811553064307532926788024694319846909340806982708347904688420671656410554852340732395818007063648478593071665936277836988050526188064146099581039172667768507259894363266310279948729552649788129953872816024709989260060633285022337107662251504618369065597018450927041881262189584381809106166042131798086882746986243210896131714227544235843922107304728228549916171484199199612243776469423359120753888158616202476325705252715374109256790899923317253605743212561589807498078080069511918514647943399566630574192829185904868376879831247378819590121286186417825591746918495311372015707767009078229770450338244309693800180936418605756818618708750868807720566288044943952844

c2=88330949146651042517337653740810385187361689012501792799900873279978736035790659211001047937337215121948527017022967642906632732136313750277237761910710915459733551421653259986088596828049455592613225962133163865584111828012197112528645520371075411167515961263199635568730334149461654340122507778194391601956023625429418297129608911450200836427221311442323768087256798964844787274408624548839536279704401007441198390922847003287643673183230633728790263593607595427088882078742699027563601046309308221108391158848644822374865676056755011459026909057983805069264236657111115914570543103494726584296335044897998794251877515750910330960179539465060133592380802344398038815679281272098815068185059127533110716

e1=7

e2=5

def ext_euclid(a,b):

if b == 0:

return 1,0,a

else:

x,y,q = ext_euclid(b, a % b) #gcd(a,b)=gcd(b,a%b)

x,y = y, (x-(a//b)*y)

return x,y,q

def same_mod(n,e1,e2,c1,c2):

s,t,q = ext_euclid(e1,e2)

m=(gmpy2.powmod(c1,s,n)*gmpy2.powmod(c2,t,n)) % n # 大数运算

flag = m

# 爆破

i = 0

while 1:

if gmpy2.iroot(m + i * n,7)[1]==True:

print(long_to_bytes(gmpy2.iroot(m+i*n,7)[0]))

break

i += 1

return flag

if __name__ == '__main__':

same_mod(n,e1,e2,c1,c2)

flag值:

flag{8ac9f9e3-82ba-ff7e-ac7b-235a02d891ef}

06 拼图

操作内容:

拿到附件先解压,原图先不用看,直接看分割后的。

因为分割图片,所以我们可以通过时间排列 (分割文件的保存的时间排序。)

可以看到分割的顺序是从左到右依次分割。整理含字符串的图片。

整理出来有如下片段:

能拼成这样子,提交该flag:   flag{Hamsters_are_so_cute}   都提示不对。

发现了这个东西,可能是个感叹号什么的?还是i呢?我想了一下,按照英语语法,i有点不合适。

可能是感叹号,那就交了试试flag{Hamsters_are_so_cute!} 发现不对

但是我发现文件中还有很多没有拼接,比如

试试多加几个!吧,提交发现3个!就对了得到flag

flag值:flag{Hamsters_are_so_cute!!!}

2021强网杯青少赛(qwtac)楼上大佬ddw WriteUp的更多相关文章

  1. 从2021强网杯的一道题学习docx文件操作

    [强网先锋]寻宝 啊对就是这道题,大佬们都贼快,菜如我还得慢慢整 key1 大佬们都一笔带过,哎,虽然简单,但是也别这么虐我们啊 我来简单写一下吧 <?php header('Content-t ...

  2. 2019 第三届强网杯线上赛部分web复现

    0x00前言 周末打了强网杯,队伍只做得出来6道签到题,web有三道我仔细研究了但是没有最终做出来,赛后有在群里看到其他师傅提供了writeup和环境复现的docker环境,于是跟着学习一波并记录下来 ...

  3. 2017第二届广东省强网杯线上赛:WEB phone number (SQL注入)

    目录 解题思路 总结 解题思路 拿到题目的时候,只有一个登录界面 拿到登录界面,而且还伴随着有注册界面,联想到SQL的二次注入漏洞 尝试注册admin'#,并使用admin登录,发现登录失败,说明可能 ...

  4. 2017第二届广东省强网杯线上赛--Nonstandard

    测试文件:http://static2.ichunqiu.com/icq/resources/fileupload/CTF/echunqiu/qwb/Nonstandard_26195e1832795 ...

  5. 2017年第二届广东省强网杯线上赛WEB:Musee de X writeup(模板注入漏洞)

    目录 解题思路 总结 解题思路 拿到手上,有四个页面 首先按照题目要求执行,尝试注册一个名为admin的账户 这种情况,路径都给出来了,很可能就是目录遍历或者文件上传了 回到初始界面,点击链接here ...

  6. 第二届强网杯-simplecheck

    这次强网杯第一天做的还凑合,但第二天有事就没时间做了(也是因为太菜做不动),这里就记录一下一道简单re-simplecheck(一血). 0x00 大致思路: 用jadx.gui打开zip可以看到,通 ...

  7. 纠错式教学法对比鼓励式教学法 -----Lily、贝乐、英孚,乐加乐、剑桥国际、优学汇、北外青少

    一.关于两种英语教学法的争议 在英语教学方面,主要有纠错式教学法(目前主要对应国内听说读写四位一体的教学法)和鼓励式教学法(目前对应国内听说为主的教学法),这两种教学方法其实是各有千秋,各有利弊的. ...

  8. 强网杯web之假的反序列化漏洞

    说明 打强网杯的时候一直在写论文, 做林逸师傅的培训题目. 现在得空,还是看了一部分的题目和wp. 源码 源码一共三部分, 这里只写下我知识盲区的一部分,作为自己的记录. <?php highl ...

  9. C# 7 函数 青歌赛打分 天气预报

    函数: 数据类型--变量常量--运算符表达式--语句(顺序,分支,循环)--数组--函数 程序里的函数:能完成一个相对独立功的代码块. 数学里的函数:高度抽象. 函数四要素:函数名,输入,输出,加工 ...

  10. 强网杯2018 pwn复现

    前言 本文对强网杯 中除了 2 个内核题以外的 6 个 pwn 题的利用方式进行记录.题目真心不错 程序和 exp: https://gitee.com/hac425/blog_data/blob/m ...

随机推荐

  1. 追求性能极致:Redis6.0的多线程模型

    Redis系列1:深刻理解高性能Redis的本质 Redis系列2:数据持久化提高可用性 Redis系列3:高可用之主从架构 Redis系列4:高可用之Sentinel(哨兵模式) Redis系列5: ...

  2. SpringBoot后端接口项目

    创建SpringBoot项目 项目目录 实体类 点击查看代码 package com.bai.entity; import com.baomidou.mybatisplus.annotation.Id ...

  3. numba jit加速python程序

    numba numba加速循环.numpy的一些运算,大概是将python和numpy的一些代码转化为机器代码,速度飞快! 加速耗时很长的循环时: from numba import jit # 在函 ...

  4. 齐博x1前台后台地址跳转的处理

    系统有三个入口,分别是 admin.php index.php member.php 所以就不能简单的使用TP默认的 url() 函数 而插件跟频道模块又有所不同,下面先讲解最基本的频道模块当中如何使 ...

  5. C#实现生成Markdown文档目录树

    前言 之前我写了一篇关于C#处理Markdown文档的文章:C#解析Markdown文档,实现替换图片链接操作 算是第一次尝试使用C#处理Markdown文档,然后最近又把博客网站的前台改了一下,目前 ...

  6. 【UML】统一建模语言

    如果是准备学习设计模式的同学,可以只了解类图相关的知识 而如果是在准备软件设计师考试的同学,或许会对你有点帮助 正在施工...... 参考博客:https://blog.csdn.net/unique ...

  7. JMETER与它的组件们

    JSON提取器与Debug Sampler 我们平时会遇到很多JSON格式的接口返回,我们需要提取参数可以用JSON提取器,同时配合自带的调试器来进行调试.  JSON提取器 Name of crea ...

  8. python中的浅拷贝,深拷贝

    直接引用,间接引用 # 1.列表存储的是索引对应值的内存地址,值会单独的开辟一个内存空间 list = ["a","b"] 内存里面存储的就是list[0],l ...

  9. java8 (jdk 1.8) 新特性——Lambda

    java8 (jdk 1.8) 新特性 --初步认识 1. 什么是lambda? 目前已知的是,有个箭头  -> 说一大段官方话,也没有任何意义 我们直接看代码: 之前我们创建线程是这样的 Ru ...

  10. centos7 ftp服务搭建记录

    1. 装包与卸载 yum -y install vsftpd yum -y autoremove vsftpd&&rm -rf /etc/vsftpd /etc/pam.d/vsftp ...