base64?

GUYDIMZVGQ2DMN3CGRQTONJXGM3TINLGG42DGMZXGM3TINLGGY4DGNBXGYZTGNLGGY3DGNBWMU3WI===

base64后面最多可能出现两个=号,只有base32可能出现3个等号
使用base32解码,得到504354467b4a7573745f743373745f683476335f66346e7d
猜测是hex编码的字符串,使用hex解码得到FLAG
PCTF{Just_t3st_h4v3_f4n}


veryeasy

使用基本命令获取flag
使用strings命令,输出所有可以显示的字符

strings命令

strings - print the strings of printable characters in files.
打印文件中可打印的字符。可以配合管道使用。
例如:


段子

请提交其中"锟斤拷"的十六进制编码。(大写)
查看"锟斤拷"的GBK编码


手贱

某天A君的网站被日,管理员密码被改,死活登不上,去数据库一看,啥,这密码md5不是和原来一样吗?为啥登不上咧?
d78b6f302l25cdc811adfe8d4e7c9fd34
请提交PCTF{原来的管理员密码}
md5128位,写成16进制是32个数,而不是33个数
将原来的md5减去一位(尝试每一位),使用md5解码,得到FLAG


美丽实验室logo

放到stegsolve里面浏览frame。拿到flag。


神秘的文件

使用wget命令下载
放到binwalk发现是可以挂载的文件

使用mount命令挂载

发现有很多文件,且都只有一个字母,写一个脚本把这些文件拼接起来即可

得到flag

这里也可以不使用mount挂载,而使用binwalk -e命令分离其中的文件

binwalk

做misc题的时候,一般都需要从某个网址下载一个文件,然后开始分析这个文件,最终从文件中得到flag。而查看下载的文件中是否包含其他文件的时候一般都需要binwalk这个神器。

binwalk参考


公倍数


veryeasyRSA

import libnump = 3487583947589437589237958723892346254777
q = 8767867843568934765983476584376578389
e = 65537
phin = (p - 1) * (q - 1)
d = libnum.invmod(e, phin)
print(d)
# d=19178568796155560423675975774142829153827883709027717723363077606260717434369

kali安装gmpy2教程


Easy RSA

import libnumc = 0xdc2eeeb2782c
n = 322831561921859
e = 23
q = 13574881
p = 23781539d = libnum.invmod(e, (p - 1) * (q - 1))
m = pow(c, d, n)
print(libnum.n2s(m))

爱吃培根的出题人

密文:

bacoN is one of aMerICa'S sWEethEartS. it's A dARlinG, SuCCulEnt fOoD tHAt PaIRs FlawLE

去掉无关符号:

bacoNisoneofaMerICaSsWEethEartSitsAdARlinGSuCCulEntfOoDtHAtPaIRsFlawLE

大小写分别代表b和a:

aaaabaaaaaaaabaabbababbaaabaaabaaababbaaabbabbaabaaabababbababbabaaabb

按照第二种方式解密得:baconisnotfood


取证

百度“内存取证”,即volatility


熟悉的声音

只有X、Y空格三种字符,猜测是摩斯密码

XYYY YXXX XYXX XXY XYY X XYY YX YYXX
.--- -... .-.. ..- .-- . .-- -. --..

解密得JBLUWEWNZ
交上去不对,凯撒一下,得到flag:PHRACKCTF


Help!!

使用010Editor打开压缩包word.zip,其中deFlags字段标记是否加密。当该字段为偶数时含义是未加密,当该字段是奇数时,含义是已加密。打开word.zip后发现该字段是09,将其修改为00,即可正常解压。

解压后打开word.docx,并没有看到flag
但是发现word文件首为PK开头,那说明是就一个压缩文件包了,尝试将该word文档的后缀改为.zip,然后用解压缩软件居然果然能够正常解压缩。
在 word\media 目录下发现flag
参考:
Help!!
ZIP伪加密
ZIP文件头协议
Word文件格式分析


ROPGadget

from pwn import *
print asm('XCHG EAX,ESP\nRET\nMOV ECX,[EAX]\nMOV [EDX],ECX\nPOP EBX\nRET'.lower()).encode('hex').upper()

Kali安装pwntools


a piece of cake

quipquip传送门
解得:

 the word ro?ot can refer to ?oth physical ro?ots and virtual software agents, ?ut the latter are usuallyreferred to as ?ots. there is no consensus on which machines ?ualify as ro?ots ?ut there is general agreement among e?perts, and the pu?lic, that ro?ots tend to do some or all of the following: acceptelectronic programming, process data or physical perceptions electronically, operate autonomously tosome degree, move around, operate physical parts of itself or physical processes, sense and manipulate their environment, and e?hi?it intelligent ?ehavior - especially ?ehavior which mimics humans or other animals. flag is su?stitutepassisveryeasyyougotit. closely related to the concept of a ro?ot is the field of synthetic ?iology, which studies entities whose nature is more compara?le to ?eings than to machines.

容易猜到?是b


Shellcode

文件中都是可见字符串,可能是经过处理得shellcode。

int main(void)
{int x;char a[] = "PYIIIIIIIIIIIIIIII7QZjAXP0A0AkAAQ2AB2BB0BBABXP8ABuJIYIhkmKzyCDq4l4FQyBlrRWEahI1tLKT16Pnk1ftLnkPvwlnkW6fhNkan5pNkgF6XPOR8T5HsCivaN19okQSPlKRLvD6DNk3uelNkpTthRXuQ9znk2jEHLK1Ja0FaXkhcTtBink4tlKUQhnvQYotqo0ylnLMTO0SDEWZahOtMwqhG8kXteksLwTdh1e8aLKsja4uQ8kavLKdLrklK0ZeL7qjKLKUTLKuQM8k9bdvDeL1qiSnR5XVIXTOyjENikrphNnrnVnhlBrzHooKOYoyok93u7tOKCNyHzBBSnguLgTcbyxlNKOYoYoMYaUTHphRL2LupQQ0htsFRTn541x3E2Se5T26PyKK8QLTddJlIZFBvyoSeUTLIkrv0oKy8ORpMmlk7Gl6DBrm8SoyoioyoaxrOqh0XwP1xu1Qw1upBbHrmrED3T34qiKOxQLTdEZOyZCaxQmRxgPUp0hpnPn4srRe8BDSo2PT7axqOCWROpophSYpnSo04u83K72Peu70hBpCsqDpF4qHIMXpLQ429k98aEaJr1BF3Ca3bIozp01IPf0Yof5GxAA";asm("jmp %0;": "=a"(x): "0"(a));
}

运行即可得到flag
参考:
171115 杂项-可见字符组成的Shellcode

Shellcode

Shellcode实际上就是汇编对应的机器码
但是由于机器码大部分都是不可见字符,所以无法直接显示出来

本题直接给了大段的乱码可见字符串,再结合机器码不可见,首先就想到了Base64编码–它的出现就是为了将不可见字符全部转为可见字符嘛

然而解b64发现不仅长度不符合,而且在最后添上等号以后解出来的值转汇编也并没有意义
Alpha2这个工程是专门将Shellcode编码成可见字符串的(甚至仅有字母和数字)


-.-字符串

摩斯解码即可得到flag
摩斯电码转换器


德军的密码

密钥也是12位大写字母
密文一共84位,7位对应一个明文字符
通过异或得到明文

a = '000000000000000000000000000000000000000000000000000101110000110001000000101000000001'
b = 'WELCOMETOCFF'
c = ''for i in range(12):d=int(a[i*7:(i+1)*7],2)e=ord(b[i])c+=chr(d^e)print(c)

握手包

使用Kali中的aircrack-ng爆破密码即可
输入命令:

aircrack-ng -w /usr/share/wordlists/rockyou.txt ~/Documents/tmp/wifi.cap.d4e4d22bc8fe925bf0ccb9382056ce8e


得到密码:11223344


Baby’s Crack

解压后得到两个文件,一个加密程序和一个flag加密得到的密文。将加密程序丢到IDA中,可以看到关键的加密代码如下:
暴力破解得到flag:

f = open("flag.enc", "rb+")
cypher = f.read()
flag = ''
print(cypher)for i in range(len(cypher)):for j in range(256):t = jif t > 47 and t <= 96 :t += 53elif t <= 46 :t += t % 11else :t -= t % 61if t == cypher[i] :flag += chr(j)print(flag)
print(bytearray.fromhex(flag))
f.close()

运行结果:

b'jeihjiiklwjnk{ljj{kflghhj{ilk{k{kij{ihlgkfkhkwhhjgly'
504354467B596F755F6172335F476F6F645F437261636B33527D
bytearray(b'PCTF{You_ar3_Good_Crack3R}')

Jarvis OJ BASIC部分题目writeup相关推荐

  1. Jarvis OJ BASIC 公倍数

    Jarvis OJ BASIC 公倍数 请计算1000000000以内3或5的倍数之和. 如:10以内这样的数有3,5,6,9,和是23 请提交PCTF{你的答案} #include <iost ...

  2. Jarvis OJ web WriteUp

    我要开始做Jarvis OJ上的题目啦!!!之前bugku上还剩下的几道题,之后也会再补上的,做出来之后,就会把思路写到博客里的.新手,有错的地方多多指教.(不是按顺序写的-我就先挑简单的做啦~~~) ...

  3. [Jarvis OJ - PWN]——Typo(内涵peak小知识)

    [Jarvis OJ - PWN]--Typo 题目地址: https://www.jarvisoj.com/challenges 题目: 还是先check一下, 是arm架构.还是第一次遇到. pe ...

  4. [Jarvis OJ - PWN]——Backdoor

    [Jarvis OJ - PWN]--Backdoor 题目地址: https://www.jarvisoj.com/challenges 题目: 额,怎么说呢这个题有点出乎我的意料, 有点晕乎乎的. ...

  5. [Jarvis OJ - PWN]——Smashes

    [Jarvis OJ - PWN]--Smashes 题目地址: https://www.jarvisoj.com/challenges 题目: 还是先checksec一下看看.64位,并且除了PIE ...

  6. [Jarvis OJ - PWN]——[61dctf]fm

    [Jarvis OJ - PWN]--[61dctf]fm 题目地址: https://www.jarvisoj.com/challenges 题目: 还是先checksec一下, 开启了canary ...

  7. [Jarvis OJ - PWN]——Test Your Memory

    [Jarvis OJ - PWN]--Test Your Memory 题目地址: https://www.jarvisoj.com/challenges 题目: 32位程序,开了NX保护 IDA e ...

  8. [Jarvis OJ - PWN]——[XMAN]level4

    [Jarvis OJ - PWN]--[XMAN]level4 题目地址: https://www.jarvisoj.com/challenges 题目: checksec一下 IDA中 思路 0x1 ...

  9. [Jarvis OJ - PWN]——[XMAN]level3_x64

    [Jarvis OJ - PWN]--[XMAN]level3_x64 题目地址:https://www.jarvisoj.com/challenges 题目: 老样子,还是先checksec一下,再 ...

最新文章

  1. Docker的4种网络模式
  2. 向Window窗体发送消息,控制程序的运行.
  3. full GC排查案例
  4. Flask学习 一 基本结构
  5. C++(19)--自定义Array,vector练习
  6. mysql xml生成工具_mybatis-generator 代码自动生成工具
  7. JQuery入门 初级插件02
  8. SharePoint2010 空白站点集无法找到术语管理库
  9. 程序员又双叒叕开始装逼了,这次用代码写合租广告,网友神评亮了
  10. MFC程序中使用QT开发界面
  11. 【测试】软件测试之测试用例的设计方法
  12. Gradle学习笔记(二)
  13. PowerMockito 简介
  14. java金额小写转大写金额_Java金额大小写的转换方法
  15. [GYM103660] The 19th Zhejiang University City College Programming Contest 浙大城市学院校赛VP/S
  16. KM算法matlab实现
  17. 慧都APS解决方案,点亮「照明灯具行业」精益化生产之路
  18. currentThread方法
  19. Geek爱旅行 - 向日葵的花语 呼呼呼~~
  20. 华为荣耀20和x10比较_华为Mate 20与荣耀X10哪个好

热门文章

  1. 啊哈添柴挑战Java1826. 顺序输出(简单)
  2. 如何准确理解Amdahl定律,并讨论计算机系统加速比
  3. navigationBar 标题字体颜色设置
  4. 分子动力学(二)-成键相互作用
  5. totolinkn200up怎么设置_TOTOLINK N200UP无线网卡驱动
  6. java解压出来损坏_ZipOutputStream创建损坏的(可解压缩的)zip文件
  7. tplmap-模板注入工具
  8. 1313. 老曹骑士 TJ
  9. 猫眼top100部高分电影spider
  10. 计算机与代数---如何计算log---实现[2]