原创 misc-流量分析&&女神的告白&&捉迷藏

流量分析 拿到的是一個流量包,直接追蹤tcp流即可得到flag:    女神的告白 zip格式的加密壓縮包,由題目可知密碼位數大於6,且開頭爲meimei: 用ARCHPR破解,因爲知道密碼開頭部分,所以採用掩碼攻擊的形式: 運行軟

原创 crypto-writeup

數據庫密碼 題目描述: 數據庫密碼經由md5加密後存儲,md5字串長度爲32個字符(128位),但題目中給的是35位仔細觀察發現,字母Q、X、V並不是md5值所包含的字母,去除後剛好32個字符(128位),修改後的字串在網站上在線解密,

原创 misc-掃掃出奇蹟&&光陰似箭&&傑斯的魔法

掃掃出奇蹟 拿到的是一個二維碼: 顯然直接掃是沒有用的,對比普通的二維碼 很容易發現題目中的二維碼問題出現在顏色上,用StegSolve分離顏色,即可得到正常的二維碼: 這次掃描即可得到flag 光陰似箭 拿到的是動圖,圖片內容即包

原创 reverse-暗戀的苦惱

題目描述如下: 根據題目描述可知此題的目的是讓分析程序加密過程,然後根據密文和密鑰還原出明文。 將得到的pe文件放入IDA,定位到關鍵處: 查看僞代碼,很容易發現加密函數: 跟蹤進去,發現加密過程的兩個關鍵函數: _BYTE *_

原创 web-PHP黑魔法&&我想要錢

php黑魔法 這道題兩個知識點: 備份文件;index.php~ php弱類型。 題目提示有源碼,但點擊進去後並未發現有用的源碼: 查看備份文件:index.php~ 得到php源碼: <!DOCTYPE html> <!--ht

原创 reverse-跳跳跳

本題拿到的是一個32位的pe文件,直接放入OD中,查看字符串: 直接定位到第一處判斷: 在這裏下斷,(如果想要修改該程序,可以將此處的jnz修改爲jz,或者直接nop掉,我這裏的思路是下斷後再動調) 以此類推,在每一個判斷處下斷:

原创 reverse-crackme2

這道題邏輯比較簡單,放入ida簡單分析就能得到flag 定位主函數後查看僞代碼: int main_0() { signed int i; // [esp+54h] [ebp-14h] signed int v2; // [es

原创 crypto-新手練習區

base64 簡單的base64解碼,在線轉碼即可,也可以用python解碼: import base64 flag=base64.b64decode('Y3liZXJwZWFjZXtXZWxjb21lX3RvX25ld19Xb3JsZ

原创 misc-我可是黑客&&假裝安全

1 我可是黑客 拿到的是一張圖片,先保存下來,查看詳細信息,但沒什麼有用信息,直接放進winhex,發現flag:  2 假裝安全 拿到的同樣是一張圖片,保存後查看詳細信息,沒有有用信息,放進winhex裏: 發現有壓縮包,用binw

原创 Reverse-新手練習區-open_source

#include <stdio.h> #include <string.h> int main(int argc, char *argv[]) { if (argc != 4) { printf("what?\n")

原创 Reverse-新手練習區-logmein

拿到得是二進制文件,直接丟進IDA void __fastcall __noreturn main(__int64 a1, char **a2, char **a3) { size_t v3; // rsi int i; //

原创 Reverse-新手練習區-game

拿到題目運行界面如下: ida中打開看起來很複雜,直接到OD單步跟一下 搜索字符串,在關鍵點下斷: 發現程序在如下幾處斷點處會跳轉進而重新輸入,所以這裏將這些跳轉全部nop掉 保存後運行程序,得到flag

原创 Reverse-新手練習-re1

拿到的是可執行文件,沒什麼好說的,放到OD中直接搜索字符串得到flag 在IDA中稍微複雜點 主函數中定位變量v6 反過來寫出flag即可

原创 Reverse-新手練習區-Hello, CTF

拿到的是可執行文件,運行一一下看看 讓輸入serial,直接到ida,搜索字符“please input” 到達後,f5查看僞代碼 大致邏輯爲將用戶輸入的字符單個與v13字串單個進行比對,然後判斷是否輸入正確,v13對應的字串是16

原创 python實現擴展的歐幾里德算法

擴展的歐幾里德算法可用於求解a mod b的逆元,而逆元求解在RSA加密算法中是不可缺少的一步 算法本身並不複雜,根據僞代碼就很容易能用python實現 僞代碼如下: python實現如下(遞歸求解): A=[0,1] N=[1,0]