Cryptography

EASY-RSA

n = 1763350599372172240188600248087473321738860115540927328389207609428163138985769311
e = 65537
c = 33475248111421194902497742876885935310304862428980875522333303840565113662943528

PowerRSA


-----BEGIN PUBLIC KEY-----
MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAohZsYF3+2rXRQUrRJL4b
SMpmv79UC9mQsh0ddnUZtptSPK/doyFXrnIg3hC51v1AGDKSZP6+bTJSYPdsACXF
GXyIUlN+4KB8EA1OVR6G+9lmu2VISnxYK9O/71trpk2S/6u0YSTQnXyYeds50hap
5AcL+yS1MOnLOGgXgv4S2a2/wvnRY/+X+cRW2KF0YSNv2vbgH0K5X+VrnQJPrYKP
f4g/OSNG88x0sWA9+URB9rssuq38BYKvPoQ/3bSFSxeY30Q+OtyCat5FeWBJKtWx
392eHwyoLiZZtZ7zN3wpUTVr9FVpANcZ3CD4grRsICLZPiwXPZQ0zp07JD0mtgCa
05XHheRK55NiTduU/FLMHjmbexuC4R9dZaOKkglY2gXMbQvLOyieXM/yKEJBYmgJ
PyipEVv2sbJ7xWX/IFVNO8TGD56mqgOkATBzUYDP6Qndhbla+hNIZQZkUYnm8XVh
b4TSCMFpt6WGhZ1HAv342FYBgacumqvq7ORK+k0VVeFyIhDibRjeINIp3TEn59ZS
8DlGOAPnhULaMJU4Tuvr75/SnrxIf5yxRph4QSP73LAC1BRB2qg5IqEwL7Il7zTP
bHDdLBDa2hsRUIhGuOaCxM2vNuIJBXyozr3eqW1nT1HYFAtea+KiVT8ma1HaWTGy
g49U5GH/HV23EIjQ07gElhkCAwEAAQ==
-----END PUBLIC KEY-----
Encrypted Flag = 0x3dc917232084781be20b2e3c260514b1b9d33ec1d34652275da47eb3569dc380708dafb7007344786062a0b043df6780039cdb6fbe16985f1b91d5a327b3b55dc26f6da9a8ff01389ad4f6d3ee211e63a06ab320842c740ef2867f40561a158f54f55431334f09836a92c7921078ba36cdd798f90d0e04c9cbf9d238760261fd3ce451bdaefa547edc35b452730a449a443ff15f6b90a6d25ae3415b391c337d00c649aec334c8c55937a707cf98258497321ceed7165e6ecd019cc9cf69cc34c2d4de14ddecdc553a57f20488d85e7ada301e28d6fdfddfc6b6600f5a50b28e9ca8a51c4860e287d2846ab5d6b26f4105433f6443247e82b12ec5360b785896bc0ed4580f407fa892a67c60f908419c38bbead91d8f4988bf62739bea9073557b02693ac2f5728737cc8cd4dda24e6d451874e1557393dfd460b7773b6903eae6da9967af1709effbe02cdb6113263d086947974d42271f9004e237fdbb12b768200d8b35b87ffa9eae000b375960d9b52954a47513d7b6699a6eb3e05e3f1047852ccde9fc3d462fb50c1e2690931812c308927776dea95cfa6706121dcf960980fd4d8916b9539d596911467f9f0198394353003390af0180eca7c6674f8cdf014373c6b159da6be052db6feb39d26b6a531a1f058c980ed675163db36a3a515fbf50d64a62ed9aaed8c7fa8106961cbf29d7ed62c12b8643070be86feed3

PRP617 = 257149699574159428232269198627581333222531206666510730461647612021024186321695478084184944808139089503678935597
164752896473313142522936529599057889079093748347559259286671336565011742174239947771910638333122716338160016991508190227
367824600661419854896501918109479804511442419958075094491393022482261968627756560151204765814850118585586319678705476232
540395790374866557657889915978665719702243454594291668630629049602092916639288487194398949852275084473870148877971289256
268316028349030641656786465147639996601057524034456037572798022441732300934332547754831420173348991163460072052854806615
05679474848019877405023869
PRP617 = 257149699574159428232269198627581333222531206666510730461647612021024186321695478084184944808139089503678935597
164752896473313142522936529599057889079093748347559259286671336565011742174239947771910638333122716338160016991508190227
367824600661419854896501918109479804511442419958075094491393022482261968627756560151204765814850118585586319678705476232
540395790374866557657889915978665719702243454594291668630629049602092916639288487194398949852275084473870148877971289256
268316028349030641656786465147639996601057524034456037572798022441732300934332547754831420173348991163460072052854806615
05679474848019877405023437

Puny Factors

-----BEGIN PUBLIC KEY-----
MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEA3uLTbQlssxWEkHqoFhWd
0FhWPmjI/XCaSSifcaKEO3drTeFXBvWW8HDC5sX3HlrzSS1e7U3ccILRErVUoUm4
70oN0vI0vLSffshX4l8KeF9hYuzmmmsqIHTvPZS1onomIesfsM1A4LUMeFROQIJ5
azA91eJlbv6zBL/ZsajYMRMcmJpv6dkMWng/+lWlorCjmbNDfjM9lBAJVd/Mkf5j
pLG+yHIzP7oFhVowbFI9w+/tXtmmF56U7vZpsc3r3VgigB0ZQAwQHIzRXOeoty4U
gW9WHg/ipW1fUuH5SrftIAELtaLMKyKB8xpCHboiqCKUXhMm7S2aElOjRHVR6lj3
Gl3WKT9J9l9m6Q5ebgwGjeNq9g+DKVAjxQxZjS4H+DOWghlXmmPYjrnnlPXFP63k
n0v2erKnU5TEjEr3VQiycUr2JgpmCEv5ZlH3a5W+UFXl6LKzSo9z3sdla8j8Sid4
HGeZiMNehgAib/42ogyE6zzhxl4Nap8sqLecLKGVkWPq2hqYvHeMPgTicDZ6TyfP
EW6xYN50e163IhDgzlTOIORi0GxVvgh3oCGiF+X3TyimcVyCjAROclUltptXFGOX
myWYGvIoXpb43ghoAFj6UoS+W/RNsqBu34Fq++nerZWLYHEf3FHycvxRWDnSKFV8
czryLHF4Cm8Wnton6dJnamUCAwEAAQ==
-----END PUBLIC KEY-----
c = 290570010957224005676738563206431862246275111812385891478282229039543894717026143365831626035228247489483006418272592864663695849229739562044381620868341077081088203738539055234525656922935266732834863069357686878685356717850139339711672723837203568154912713330593080624777574232071223395024915012609471032507834761879524068314818896149091347607224404331541962822242934411328153169472483117929046978342396674880299873928907055098617514861486495684580873503194457318049688971713437920842148655360211927664211398358024066281621672529303773641808724156345054812808051801233928271028415967097983486993317641974959201726234247146521667235421710391796168423732479099057161924778771635397819793327863454184747821735939183517349010848741224776805064811423268484025265227426510534234219475733170827095255163439575814348806403513319287175388743761168614288904480938768402309443831125845384377504285606258935108041646519677580335910067893512865844426315617903042370005203376185701654358105421792345021458767536556276863223468431798587956341493111749427531893101640118418031202901287514659976396421004824608146132981612444163962845508371563806955443403495335986689203960193317142807725604449361223929596114051094745232762920258929772771078438116

AES

#!/usr/bin/env python3

import base64
from Crypto.Cipher import AES

secret_code = "<flag>"

def pad(message):
if len(message) % 16 != 0:
message = message + '0'*(16 - len(message)%16 ) #block-size = 16
return message

def encrypt(key, plain):
cipher = AES.new( key, AES.MODE_ECB )
return cipher.encrypt(plain)

sitrep = str(input("Crewmate! enter your situation report: "))
message = '''sixteen byte AES{sitrep}{secret_code}'''.format(sitrep = sitrep, secret_code = secret_code) #the message is like [16-bytes]/[report]/[flag]

message = pad(message)
message1 = bytes(message,'utf-8')

cipher = encrypt( b'sixteen byte key', message1 )
cipher = base64.b64encode(cipher)
print(cipher.decode('ascii'))

代码看了懂了一点!但是key是6个字节的!这是猜吗!

奈何本人技术菜!真没看懂wp!

WEB

Collide

Make sha256 collide and you shall be rewarded
The source!
<html>
<body>
<h1> Make sha256 collide and you shall be rewarded </h1>

<b>The source!</b>

<?php
$source = show_source("index.php", true);
echo("<div>");
print $source;
echo("</div>");

if (isset($_GET['shell']) && isset($_GET['pwn'])) {
if ($_GET['shell'] !== $_GET['pwn'] && hash("sha256", $_GET['shell']) === hash("sha256", $_GET['pwn'])) {
include("flag.php");
echo("<h1>$flag</h1>");
} else {
echo("<h1>Try harder!</h1>");
}
} else {
echo("<h1>Collisions are fun to see</h1>");
}
?>
</body>
</html>
Collisions are fun to see

Fun with Tokens

token伪造的题!

密钥爆破不出来!😥

下面这篇讲JWT讲的挺棒的!

https://laravelacademy.org/post/3640.html

https://zhuanlan.zhihu.com/p/71672282

token构成

HMACSHA256(
base64UrlEncode(header) + "." +
base64UrlEncode(payload),
secret
)

没key!不会了!

😭了!这有个任意文件读取不知道!image-20210607183458401

大佬wp

https://szymanski.ninja/en/ctfwriteups/2021/shellctf/fun-with-tokens/

再jwt伪造下!