XSCTF crypto
XSCTF
[简单] 初识RSA
p和q藏起来了,你能帮我找到它们吗
from Crypto.Util.number import bytes_to_long, inverse, getPrimefrom flag import flagm = bytes_to_long(flag)p = getPrime(1024)q = getPrime(1024)n = p * qprint(n)e = 65537c = pow(m, e, n)pq = p * (q - 1)qp = q * (p - 1)print("c=", c)print("n=", n)print("pq=", pq)print("qp=", qp)'''c= 872226907597064443425333959275851278816040891270738763259155213017570784395068431508325049401005543539187903628510381026359195 ...
BuckeyeCTF crypto
補之前打BuckeyeCTF的wp,雖然拿到第41名,但是是靠caleb把web破台才那麼高的,crypto的部分只有解出四題。
megaxord/beginner
題目
Some pesky wizard stole the article I was writing. I got it back, but it’s all messed up now 😦
Hint: the wizard used the same magic on every character…
附件
因為太長了,而且是沒意義的字符,就放下載連結。
megaxord.txt
解題思路
題目有說是用同一種方式去xor的,所以就以xor的角度去爆,到0x58的時候可以看到明文,直接找到。但賽中是淺羽幫我解的,我只是晚幾個小時打QQ,太快了啦。
解答
data = open('megaxord.txt', 'rb').read()for i in range(0, 0x59): c = bytes([v ^ i for v in data]) print ...
kitctf 中的 crypto 題目
One Trick Pony
題目
I know a few secrets about this KAsino. But they would not be secrets if a shared them with everybody, so of course I do not share them in plaintext. Good luck getting past my information-theoretic secure encryption.
This challenge is the first from a set of two challenges.
nc kitctf.me 12345
附件
#include <stdlib.h>#include <stdio.h>#include <string.h>int main() { char* secret_msg = "<redacted>"; size_t msg_len = strlen(secret_msg) ...
BUUCTF crypto 4
SameMod
題目如下
{6266565720726907265997241358331585417095726146341989755538017122981360742813498401533594757088796536341941659691259323065631249,773}{6266565720726907265997241358331585417095726146341989755538017122981360742813498401533594757088796536341941659691259323065631249,839}message1=3453520592723443935451151545245025864232388871721682326408915024349804062041976702364728660682912396903968193981131553111537349message2=5672818026816293344070119332536629619457163570036305296 ...
極限隨機樹 extra trees
關於極限隨機樹(extra trees)的學習筆記。
概述
極限隨機樹跟隨機森林(random forest)一樣,都是由多個決策樹(decision tree)所組成,而算法決定他們之間的差異。
隨機森林由Bagging方法抽取隨機的子樣本,創造差異的子模型後實現集成學習,決策樹的分割藉由熵(Entropy)以及Gini不純度(Gini Impurity)來在隨機子集中找出最佳的分割。
而extra trees相較於random forest,差異展現在決策樹的分割上,extra trees直接使用整個數據集,抽一個隨機的特徵以及該隨機特徵上的隨機閾值進行分割。
extra trees中的每個決策樹的隨機性比起random forest會變得更大,這代表每個子模型的性能會大大的降低,不過集成的模型數量夠大,最終集成學習的結果也會不錯,這也是extra trees這種極度隨機的集成學習具有價值的理論依據。
extra trees的這種隨機性可以用來抑製過擬合,不會因為某幾個極端的樣本點而將整個模型帶偏。這是因為每棵決策樹都是極度隨機的,所以很有可能大部分決策樹是看不到這些特別極端的樣 ...
BUUCTF pwn 1
test_your_nc
拿到一個檔案,和題目名稱為test_your_nc,先以nc連上server。
nc node4.buuoj.cn 28172
沒有看到任何東西,隨便輸入個字串發現提示
/bin/sh: 2: 字串: not found
感覺是linux的指令,ls查看一下內容。
binbootdevetcflaghomeliblib32lib64mediamntoptprocpwnrootrunsbinsrvsystmpusrvar
原本我忽略了裡面有什麼東西,還打開IDA來看,結果好像也只是把輸入送進stseam裡面,再看一次ls的輸出,發現就有一個flag檔,直接用cat打開來看。
cat flag
取得flag
flag{5a1968c5-04dd-46e9-9832-c704e1d65513}
rip
用IDA打開附件的程式進行反邊譯,得到下圖。
0000000000401191 的位置上有一個 call _system 的動作,意味著理論上只要讓程式運行到此位置即可。
先用 15 個 A 來將字串s進行填充,再讓程式跳到會呼叫 syst ...
BUUCTF crypto 3
rot
破解下面的密文:83 89 78 84 45 86 96 45 115 121 110 116 136 132 132 132 108 128 117 118 134 110 123 111 110 127 108 112 124 122 108 118 128 108 131 114 127 134 108 116 124 124 113 108 76 76 76 76 138 23 90 81 66 71 64 69 114 65 112 64 66 63 69 61 70 114 62 66 61 62 69 67 70 63 61 110 110 112 64 68 62 70 61 112 111 112flag格式flag{}
看到題目,先看前面幾個字,83在ascii當中是s,rot13後是f,以rot13對每個字元進行解碼。
s = '83 89 78 84 45 86 96 45 115 121 110 116 136 132 132 132 108 128 117 118 134 110 123 111 110 127 108 ...
BUUCTF crypto 2
BUUCTF
Unencode
89FQA9WMD<V1A<V1S83DY.#<W3$Q,2TM]
http://www.hiencode.com/uu.html 用UTF-8 decoder,得到flag。
[AFCTF2018]Morse
-..../.----/-..../-..../-..../...--/--.../....-/-..../-..../--.../-.../...--/.----/--.../...--/..---/--.../--.../....-/...../..-./--.../...--/...--/-----/...../..-./...--/...--/...--/....-/...--/...../--.../----./--.../-..
感覺就是摩斯密碼,透過 http://moersima.00cha.net/cn.asp 轉換成
61666374667b317327745f73305f333435797d
再將hex to ascii,得到flag。
robomunication
題目是一段mp3,聽到耳朵死掉, ...
BUUCTF crypto 1
感覺CTF題目寫過就忘記,真的要把題解好好寫下來,之後要用到的時候直接查詢就好。
記憶力有點靠不住了,然後這邊只會提供做法,盡量不提供flag,不好意思。
BUUCTF
因為感覺比較油一點就來試試看。
MD5
這題給出e00cf25ad42683b3df678c61f42c6bda這個字串,依據題目來看就是MD5解密。
MD5訊息摘要演算法(MD5 Message-Digest Algorithm),是一種被廣泛使用的密碼雜湊函式,可以產生出一個128位元(16個字元(BYTES))的雜湊值(hash value),用於確保資訊傳輸完整一致,由美國密碼學家羅納德·李維斯特(Ronald Linn Rivest)設計。
網站提供的是與資料庫內的數據進行比較並解密,畢竟不可能從hash中直接獲得明文。
https://md5decrypt.net/en/
輸入後即可取得flag。
一眼就解密
題目給出的加密字串是
ZmxhZ3tUSEVfRkxBR19PRl9USElTX1NUUklOR30=
看到字尾有=可以先盲猜是base64,熟到不能再熟了。
decode base64 t ...
linux-shell的撰寫
分享一下去年修作業系統的時候寫出來的shell(最終成績97,因為做不到多重檔案重定向被扣了三分),shell主要結構大概是這樣,沒記錯的話,這也是恐龍書裡面的架構,接下來要做的事情僅僅只是依據此架構進行延伸。
while (TRUE){ type_prompt(); read_command(command, parameters); if (fork() != 0) { waitpid(-1, &status, 0); } else { execvp(command, parameters); }}
將程式碼初步補充完之後,可以得到下面的架構,這部分是初步的完成品,也是我覺得很好的學習範例。
目前能夠執行基礎的指令,但不能實現pipe檢測和檔案重定向等功能。
#include <iostream>#include <stdlib.h>#include <unistd.h>#include <sys/type ...