diff --git a/intro/arisai/README.md b/intro/arisai/README.md new file mode 100644 index 0000000..ee1f16f --- /dev/null +++ b/intro/arisai/README.md @@ -0,0 +1 @@ +I heard that RSA with multiple primes is more secure. My N is very large, so there should not be a problem. \ No newline at end of file diff --git a/intro/arisai/chall.py b/intro/arisai/chall.py new file mode 100644 index 0000000..6c6130e --- /dev/null +++ b/intro/arisai/chall.py @@ -0,0 +1,20 @@ +from Crypto.Util.number import bytes_to_long +from Crypto.Util.number import getPrime + +PRIME_LENGTH = 24 +NUM_PRIMES = 256 + +FLAG = b"gctf{redacted}" + +N = 1 +e = 65537 + +for i in range(NUM_PRIMES): + prime = getPrime(PRIME_LENGTH) + N *= prime + +ct = pow(bytes_to_long(FLAG), e, N) + +print(f"{N=}") +print(f"{e=}") +print(f"{ct=}") diff --git a/intro/arisai/output.txt b/intro/arisai/output.txt new file mode 100644 index 0000000..648a8fb --- /dev/null +++ b/intro/arisai/output.txt @@ -0,0 +1,3 @@ +N=1184908748889071774788034737775985521200704101703442353533571651469039119038363889871690290631780514392998940707556520304994251661487952739548636064794593979743960985105714178256254882281217858250862223543439960706396290227277478129176832127123978750828494876903409727762030036738239667368905104438928911566884429794089785359693581516505306703816625771477479791983463382338322851370493663626725244651132237909443116453288042969721313548822734328099261670264015661317332067465328436010383015204012585652642998962413149192518150858822735406696105372552184840669950255731733251466001814530877075818908809387881715924209232067963931299295012877100632316050826276879774867425832387424978221636157426227764972761357957047150626791204295493153062565652892972581618176577163744310556692610510074992218502075083140232623713873241177386817247671528165164472947992350655138814891455499972562301161585763970067635688236798480514440398603568227283629452476242623289661524243073929894099518473939222881149459574426407208658860251686137960952889074096311126991477096465624470265619377139983649503903820480974951491378311837933293607705488991162022547957926530402988912221198282579794590930661493745233069145707902854299501706154802038942258911515981663207152069613126155243024789689987554767962281273345273757236723762684230158310314189489269922058062081424352003908442430243686562569467793068370441732743572240164014190275463904986105758545036928880621165599686076511511089276388190078187849622221351011692443859919384379432387437072419707649486293684966456033518855679391672980173280496419686363359529398834403906418139786395934302273747490127295066208248715874656180233559644161531014137838623558729789331274400542717269108353265885948166102045041669627782992845494987948783304254174326130201166965174477449798721151991240203641 +e=65537 +ct=268829805459609475588440899873097740407996768854076329496002425282199615879909227647380967635165606878898541606457683227761652305836586321855100255485305118037701500609605019785162541750877335573032359895573772603246111506991979320486028250721513277767642375361127152574528694298160906073442383962020636918610527024050576972769852306021296823499884948279413653216802756618690182635446020844210831886652986287932378470425746444631963933610367607515800649608436183004088441881238148504635598468243968695248287570279766119573944421327504565309861792437849662128566261080923059583840204287527201636471106753069738472306223410300379312983945939043519755909420737707495224846116170095923898104488099329762265149868062693687303917610957104520999978944379566136253252697346935036425206126213766976582551430726756840294537354912787885103742021813054656962241068550049435394355553796824094853195888610994254949530524531633088750916669188277025883371307926545593346345011181011886157628805587723572874545440223921942144548540109099572715194182349314576321627183804149379561322969725485272107142991680959335537127382716195040449341448266408777436145121388591741613272241408064729715121476227737259932422493622000014673154665474739974557976672498027364986075870354093242809763072555932073688776712239151696700128393589329790478951588551070833013708885416360627613835550721939073618725634813608997025047929327270234611128029339388251117036658410438813874667672407000490721438737857471847655487642835059784967516451098631494261100960513521722400650533821661854325599281416744189966724295645707952292786069145361070873245192529272080607536319284389065418040578100669665069777133031446812281199863684982910055858515634879595144557407925298026899908970790756383369461817536923660051327566555421265363733995050644914554395836353253513 \ No newline at end of file diff --git a/intro/los-ifier/Losifier.tar.gz b/intro/los-ifier/Losifier.tar.gz new file mode 100644 index 0000000..e8391b8 Binary files /dev/null and b/intro/los-ifier/Losifier.tar.gz differ diff --git a/intro/los-ifier/Losifier/Dockerfile b/intro/los-ifier/Losifier/Dockerfile new file mode 100755 index 0000000..dd9c4c0 --- /dev/null +++ b/intro/los-ifier/Losifier/Dockerfile @@ -0,0 +1,16 @@ +FROM debian:bullseye-slim + +EXPOSE 1337 + +RUN DEBIAN_FRONTEND=noninteractive; \ + apt-get -y update; \ + apt-get -y install socat + +WORKDIR /app + +COPY chall/flag.txt . +COPY chall/chall app + +CMD socat -T 60 \ + TCP-LISTEN:1337,nodelay,reuseaddr,fork \ + EXEC:"stdbuf -i0 -o0 -e0 /app/app" diff --git a/intro/los-ifier/Losifier/chall b/intro/los-ifier/Losifier/chall new file mode 100755 index 0000000..bf122ec Binary files /dev/null and b/intro/los-ifier/Losifier/chall differ diff --git a/intro/los-ifier/README.md b/intro/los-ifier/README.md new file mode 100644 index 0000000..a883c29 --- /dev/null +++ b/intro/los-ifier/README.md @@ -0,0 +1,6 @@ +Normal binary for normal people. + +authors: PaideiaDilemma & huksys +``` +nc chall.glacierctf.com 13392 +``` \ No newline at end of file diff --git a/intro/my-first-website/README.md b/intro/my-first-website/README.md new file mode 100644 index 0000000..af06e28 --- /dev/null +++ b/intro/my-first-website/README.md @@ -0,0 +1,5 @@ +I just created my first website! You can even do some calculations! Don't forget to check out my other projects! + +author: Chr0x6eOs + +https://myfirstsite.web.glacierctf.com diff --git a/intro/skilift/README.md b/intro/skilift/README.md new file mode 100644 index 0000000..dba9606 --- /dev/null +++ b/intro/skilift/README.md @@ -0,0 +1,6 @@ +You arrive at the base station of a ski lift. Unfortunately for you, the lift is not in operation but you have to reach the next summit somehow. You enter the control room to find a control terminal with the words "Please input your key:" + +author: mole99 +``` +nc chall.glacierctf.com 13375 +``` \ No newline at end of file diff --git a/intro/skilift/top.v b/intro/skilift/top.v new file mode 100644 index 0000000..3e4c9a5 --- /dev/null +++ b/intro/skilift/top.v @@ -0,0 +1,31 @@ +module top( + input [63:0] key, + output lock +); + + reg [63:0] tmp1, tmp2, tmp3, tmp4; + + // Stage 1 + always @(*) begin + tmp1 = key & 64'hF0F0F0F0F0F0F0F0; + end + + // Stage 2 + always @(*) begin + tmp2 = tmp1 <<< 5; + end + + // Stage 3 + always @(*) begin + tmp3 = tmp2 ^ "HACKERS!"; + end + + // Stage 4 + always @(*) begin + tmp4 = tmp3 - 12345678; + end + + // I have the feeling "lock" should be 1'b1 + assign lock = tmp4 == 64'h5443474D489DFDD3; + +endmodule