原创 pwnable.kr 之input(看了好久好久的題目和網上的wp....)

本來這題也沒有什麼的思路,在看了一位大佬的博客之後,自己感覺還有一點的細節適合我們的這些萌新去學習。 input解題 input細節 其他的我看了好久的是,其中的細節問題,其中一個是題目雖然是input,但是在訪問的適合卻是input2@

原创 hacknote--PWN的堆入門

第一步還是進行逆向的功能分析,順便觀察有無敏感函數,諸如:/bin/sh、cat flag等等   看了看發現還真的有,那這個題目就大大得簡化了,接下來進行進一步的逆向分析:   add_note: unsigned int add_n

原创 Javisoj--PWN--fm

首先IDA看一波: 看到這裏就可以很清楚的知道這個肯定是一個格式化字符串的題,因爲這個涉及到了更改棧中的元素的值,第一眼看到這個X,你可能有點慌,因爲你沒有發現有關X的任何定義,不過沒關係,沒有任何定義就出現在IDA中的變量,他一定就是

原创 MCTF--PWN

被催了好久的PWN的WP,那今天就寫一下前一段時間我們校賽的PWN題的詳解吧。 猜猜標誌 直接輸入大量的字符溢出就有標誌了, 走後門嗎? 做PWN嘛,第一步當然顯示checksec一波,可以看到這個還是對萌新很友好的,雖然是一個64位

原创 MCTF -- CRYPTO

密碼學的題,這次也都是最基礎的題,除了RSA有些難度需要理解之外,其他的都是最基礎的古典密碼 # 首先看到“#”,就想到了柵欄密碼,看到密碼是“TWhMRUNlTHBUZV99RnBze19sc2FF”,很明顯的基加密,解密之後得到“Mh

原创 MCTF--MISC

之前結束了我們學校的校賽,爲了師弟更好的學,那就出個詳細的wp吧,首先先講雜項MISC,這次的MISC其實還是非常簡單的。 一筆畫完 這題其實只是一個簡單的編程題,運用的思想就是遞歸,這個題不多解釋,直接給出腳本: #!/usr/bin

原创 JAVIS OJ--RE--DD-Hello

pwn的看的有點頭疼,現在來看看逆向的一個題。 首先IDA打開進行分析,發現函數少得可怕,這就可以一步步分析函數了: 把函數進行反彙編就可以發現進行flag比較的函數了,閱讀發現這個加密其實就是一個簡單的異或,v2起到的作用就是一個異或

原创 無保護機制的PWN溢出(一)

#include <stdio.h> #include <string.h> #include <unistd.h> #include <fcntl.h> #include <stdlib.h> void login() { char

原创 pwnable.kr之collision

這題先看題目源碼 #include <stdio.h> #include <string.h> unsigned long hashcode = 0x21DD09EC; unsigned long check_password(cons

原创 實驗吧--密碼學--圍在柵欄中的愛

這個首先一看就知道是莫斯密碼的格式,所以先進行莫斯解密,得到第一個解密之後的明文:KIQLWTFCQGNSOO; 再根據提示的“最近一直在好奇一個問題,QWE到底等不等於ABC?”,這句話可以告訴我們接下來的解密就是密碼代換,這個類似於凱

原创 pwnable.kr之brain f**k

這個問題還是很有趣的東西,這題是pwnable.kr中的第一題擁有libc庫的題目; 首先說一下libc庫作用,libc庫的作用就是保存了可以用的函數,libc庫提供C語言中所使用的宏,類型的定義,字符串操作符,數學計算函數以及輸入輸出函

原创 實驗吧--密碼學--rsarsa

這個也是最基礎的一題,這只是一個考察RSA算法的一個最簡單的一個概念,所以可以直接給出腳本就可以了: import math p=96484230290105156765905517400104265349457376392357398

原创 pwnable.kr之asm

這題我認爲主要考察的知識點一個是沙箱中可用函數還有就是shellcode這個大頭問題。 首先看看這道題目的代碼: root@kali:~# ssh [email protected] -p2222 [email protected]'s passw

原创 pwnable.kr之fd

這題需要知曉c語言中的atoi函數 atoi函數 這題cat fd.c之後,發現源代碼 #include <stdio.h> #include <stdlib.h> #include <string.h> char buf[32]; in

原创 搭建一道PWN題

最近接到任務,說要出幾個pwn題,所以就去熟悉了一下PWN題的搭建: 第一步,準備一道pwn題的源碼 #include<stdio.h> int main() { int a=1; float key=2018.81,input;