- 取得連結
- 以電子郵件傳送
- 其他應用程式
Internetwache CTF 好像題目偏易?
第二天早上起來看一堆隊伍已經通殺
台大217沒意外的拿下了冠軍XD
Misc 70-Rock with the wired shark!
題目給了一個pacp
先丟Wireshark
發現一個html跟zip,把它們dump出來
zip需要密碼
不過仔細看網頁上有一個奇怪的網址servefile 0.4.4
點進去看他的code 搜尋關鍵字password
找到有趣的兩行
1035 parser.add_argument('-a', '--auth', type=str, metavar='user:password', \ 1036 help="Set user and password for HTTP basic authentication")
得到了格式user:password
以及HTTP basic authentication
回Wireshark翻
找到flag.zip的密碼
FLAG: IW{HTTP_BASIC_AUTH_IS_EASY}
這題算是運氣運氣,因為code review只看了幾行就找到關鍵
密碼也沒有藏的很深,也沒有用到太多技巧
Reversing50-SPIM
題目給了一個從SPIM dump下來的資料以及Decode this string: "IVyN5U3X)ZUMYCs"
大三學過計組就玩過了SPIM
馬上安裝好環境把code輸入進去
label可以從j 指令回推
flag 就填入他給的字串
原本以為結束了 但怎麼都跳不出flag
trace發現它做完會跳到exit...
trace發現它做完會跳到exit...
最後的code長這樣
.text .globl main main: la $t0, flag move $t1, $0 for: sgt $t2, $t1, 15 beq $t2, 1, printstring add $t2, $t0, $t1 lb $a0, ($t2) xor $a0, $a0, $t1 sb $a0, 0($t2) add $t1, $t1, 1 move $a0, $t0 j for exit: li $v0, 10 syscall printstring: li $v0, 4 syscall jr $ra .data flag: .asciiz "IVyN5U3X)ZUMYCs"
題目給了一個x64ELF
直接IDA F5
程式會讀.password並進行驗證
for迴圈可以看出密碼有15位
v3每次經過sub_40049c都必須為0
否則v7就無法通過<=0的驗證
往sub_40049c追進去
會看到return=a2+*(&v4+a1)%4919
我們想要每次都可以return 0
只要傳進去的值=4919-變數就可以了!
這題很特別的是用file input所以不能用pintool解(原本想試試看的
不過找到了驗證的core而且也不難推導出來
原本想要真的拿方塊解
但是放在家裡所以沒辦法
但想了想這題...可以猜一猜就解完了
因為flag的格式是固定的
魔術方塊腳跟邊是不能交換的
可以先推出
IW{
sDs
Cs}
s=[3,3,R]
所以flag只有三種可能
運氣不好真的猜了三次XD
FLAG: IW{3DRC3}
玩過魔術方塊+題目很簡單(答案在同一面,沒有繞一圈)
會看到return=a2+*(&v4+a1)%4919
我們想要每次都可以return 0
只要傳進去的值=4919-變數就可以了!
a=[4846, 4832, 4796, 4849, 4846, 4843, 4850, 4824, 4852, 4847, 4818, 4852, 4844, 4822, 4794] flag="" for i in a: flag+=chr(4919-i) print flagFLAG: IW{FILE_CHeCKa}
這題很特別的是用file input所以不能用pintool解(原本想試試看的
不過找到了驗證的core而且也不難推導出來
Reversing90-The Cube
題目給了一個魔術方塊表跟轉法?!原本想要真的拿方塊解
但是放在家裡所以沒辦法
但想了想這題...可以猜一猜就解完了
因為flag的格式是固定的
魔術方塊腳跟邊是不能交換的
可以先推出
IW{
sDs
Cs}
s=[3,3,R]
所以flag只有三種可能
運氣不好真的猜了三次XD
FLAG: IW{3DRC3}
玩過魔術方塊+題目很簡單(答案在同一面,沒有繞一圈)
Code50-A numbers game
題目會問你一個一元一次方程式
寫了一個code解決他
from pwn import * op=['+','-','*','/'] po=['-','+','/','*'] r = remote('188.166.133.53',11027) print r.recvline() for _ in range(100): q = r.recvline() print q s = q.split() mm=s[6]+po[op.index(s[3])]+s[4] ans=str(eval(mm)) print ans r.send(ans) print r.recvline() r.interactive()
題目會問你大於X的質數
懶得自己寫python的質數表上網抓了一個...
from pwn import * def primes(n): """ Returns a list of primes < n """ sieve = [True] * n for i in xrange(3,int(n**0.5)+1,2): if sieve[i]: sieve[i*i::2*i]=[False]*((n-i*i-1)/(2*i)+1) return [2] + [i for i in xrange(3,n,2) if sieve[i]] r = remote('188.166.133.53',11059) print r.recvline() a=primes(1000) for _ in range(100): q = r.recvline() print q s = q.split() base=int(s[8][0:-1]) for prime in a: if prime>base: print prime r.send(str(prime)) break print r.recvline() r.interactive()FLAG: IW{Pr1m3s_4r3_!mp0rt4nt}
一樣python操作題
=============================================================
=============================================================
下面是看隊友討論做出來的
Web80-0ldsk00lBlog
掃到目錄有/.git
使用scrabble抓下來
用SourceTree打開就會看到
FLAG: IW{G1T_1S_4W3SOME}
之前git手抓抓到吐,Denny在比賽途中發這個動態不單純XDD
留言
張貼留言