首页 > 其他分享 >BUU_RE学习记录2

BUU_RE学习记录2

时间:2022-12-26 14:22:52浏览次数:62  
标签:gmpy2 记录 v12 代码 chr BUU RE flag print

一.findit

1.得到apk文件,使用jeb打开,tab反编译,在MainActivitySource中发现关键词

image

2.在后面发现一串跟flag很像的字串

image

3.简单看一下后面的代码,发现是将后面的字串进行某种加密解密处理,把字串弄下来

点击查看代码
str = ['p', 'v', 'k', 'q', '{', 'm', '1', '6', '4', '6', '7', '5', '2', '6', '2', '0', '3', '3', 'l', '4', 'm', '4', '9', 'l', 'n', 'p', '7', 'p', '9', 'm', 'n', 'k', '2', '8', 'k', '7', '5', '}']
for i in str:
    print(i,end='')
pvkq{m164675262033l4m49lnp7p9mnk28k75}

4.凯撒解密得到flag

flag{c164675262033b4c49bdf7f9cda28a75}

image

二.rsa

1.得到一个key文件和一个enc文件,key文件010打开,发现是公钥

image

2.使用公钥分析网站:http://www.hiencode.com/pub_asys.html

image

3.得到n、e,分解n,网站:http://www.factordb.com/

image

4.得到p、q,使用脚本得到d

81176168860169991027846870170527607562179635470395365333547868786951080991441
点击查看代码
import gmpy2
p =gmpy2.mpz(285960468890451637935629440372639283459)
q =gmpy2.mpz(304008741604601924494328155975272418463)
e =gmpy2.mpz(65537)
phi_n= (p - 1) * (q - 1)
d = gmpy2.invert(e, phi_n)
print("d is:")
print (d)

5.已知pqend,使用脚本解密flag.enc文件,得到flag

点击查看代码
import rsa
e = 65537
p = 285960468890451637935629440372639283459
q = 304008741604601924494328155975272418463
n = 86934482296048119190666062003494800588905656017203025617216654058378322103517
d = 81176168860169991027846870170527607562179635470395365333547868786951080991441
key = rsa.PrivateKey(n,e,d,q,p)

with open("./flag.enc","rb") as f:
    f = f.read()
    print(rsa.decrypt(f,key))

image

三、[ACTF新生赛2020]rome

1.查壳,无壳,IDA(非64)打开

image

2.shiftF12查找字符,找到关键字符

image

3.点进函数,审计一下函数,发现flag的头ACTF{}

image

4.可以发现主要的加密函数就是两个while函数

image

5.简单处理一下伪代码

点击查看代码
while (v12[17] <= 15 )
{
    if (v1 + v12[17]) > 64 && v1 + v12[17]) <= 90 )
		(v1 + v12[17]) = (v1 + v12[17]) - 51) % 26 + 65;
    if (v1 + v12[17]) > 96 && v1 + v12[17]) <= 122 )
        (v1 + v12[17]) = (v1 + v12[17]) - 79) % 26 + 97;
    ++v12[17];
}
v12[17] = 0;
while (v12[17] <= 15 )
{
    result = v12[v12[17]];
    if (v1 + v12[17]) != result )
        return result;
    ++v12[17];
}

6.直接按照伪代码的加密方式写个脚本

点击查看代码
v12 = "Qsw3sj_lz4_Ujw@l"
v12 = list(v12)
flag = ''
for i in range(16):
    for j in range(128):
        x = j
        if chr(x).isupper():
            x = (x-51)%26+65
        if chr(x).islower():
            x = (x-79)%26+97
        if chr(x) == v12[i]:
            flag += chr(j)
print(flag)

7.得到的就是flag

flag{Cae3ar_th4_Gre@t}

image

四、[FlareOn4]login

1.得到一个html一个txt,用VS打开html,发现这个的原理就是一个if判断rotFlag,改一下代码,在if前面加一句alert(rotFlag)回显flag

image

2.进入网页,在框内输入源码中的字串

[email protected]

3.得到的回显中的内容就是flag

image

flag{[email protected]}

标签:gmpy2,记录,v12,代码,chr,BUU,RE,flag,print
From: https://www.cnblogs.com/120211P/p/17005691.html

相关文章

  • Redis数据类型
    Redis存储的是key-value结构的数据,其中key是字符串类型,value有5种常用的数据类型字符串string普通字符串(常用)哈希hash适合存储对象列表list按照插入顺序排序,可......
  • 【基础篇】一文带你掌握 Redis
    一、摘要谈起Redis,相信大家都不会陌生,做过云平台开发的程序员多多少少会接触到它,Redis英文全称:RemoteDictionaryServer,也被称之为远程字典服务。从官方的定义看,Redis......
  • python re.error: unterminated character set at position提示:字符串中包含[]{}()替
    re.error:unterminatedcharactersetatposition12这很可能是因为元字符“{}、[]、()”。有没有什么正则表达式可以让finditer忽略它?您必须转义正则表达式中的特殊......
  • freerots 使用cjson后程序溢出处理方法
    新版本修改地方如下/*修改前*/#defineinternal_mallocmalloc#defineinternal_freefree#defineinternal_reallocrealloc/*修改后*/#defineinternal_mallocpvP......
  • CMU15-445:Lecture #06 笔记
    Lecture#6:BufferPools本文是对CMU15-445课程第5节笔记的一个粗略总结和翻译。仅供个人(M1kanN)复习使用。1.IntroductionDBMS的任务是管理内存和从磁盘移入移......
  • 【2022_12_2】Fibersim安装记录
    Fibersim安装记录1.为什么要写这个文章?因为我前前后后装了四天才装成功。在我的电脑上,fibersim14161715挂到UG1012CatiaV5-6R20192018都试过了,而且失败。记一......
  • 虚假新闻检测(GET)《Evidence-aware Fake News Detection with Graph NeuralNetworks》
    论文信息论文标题:Evidence-awareFakeNewsDetectionwithGraphNeuralNetworks论文作者:WeizhiXu,JunfeiWu,QiangLiu,ShuWu,LiangWang论文来源:2022WWW论文......
  • Reflector 源码分析
    Reflector源码分析前面我们说了Informer通过对APIServer的资源对象执行List和Watch操作,把获取到的数据存储在本地的缓存中,其中实现这个的核心功能就是Reflecto......
  • VMware, VirtualBox网络互通环境搭建
    参考这里https://www.zhihu.com/question/466109327/answer/2776380650VMware为PCAVBox为PCB1.VMware,VirtualBox设置为hostonly,将两个网卡选中桥接2.设置桥......
  • 29_Java中的Stream流
    Java中的Stream流总的来所就是将一组数据转换为流进行操作过滤,然后再将其还原进行操作一、体验Stream流需求:按照下面的要求完成集合的创建和遍历​ 创建......