大三狗一隻,第一次寫blog,希望記錄下自己從零開始的CTF之旅(幫助更多人入坑)
一個彩筆和一個逗比
第一次參見正式的CTF,寫寫只做出來的5道題#共三十幾道題啊。。=。=
首先是全部題目的地址:
https://www.zybuluo.com/lightless/note/183904
題目名稱:404
題目描述:咦,404了
http://120.26.93.115:12340/3d9d48dc016f0417558ff26d82ec13cc/webI.php
wireshark抓,分析跟蹤TCP流直接出
所以最後flag: hctf{w3lcome_t0_hc7f_f4f4f4}
題目名稱:fuck ===
題目描述:
http://120.26.93.115:18476/eff52083c4d43ad45cc8d6cd17ba13a1/index.php
看看代碼大意是找到兩個字符串不相等但md5的結果又是一樣的,,年輕的我們居然真的去找了 T。T
百度完了解php md5()
後來想想幹脆讓md5()不好使,就把a和b賦值數組好了,flag就出來了
地址後面跟一下這些數都好使:
?a[1]=1&b[2]=1
?a[1]=1&b[1]=2
?a[]=1&b[]=2
?a[1]&b[2]
等。。
最後 Flag: hctf{dd0g_fjdks4r3wrkq7jl}
題目名稱:What
Is This
題目描述:這到底是啥東西?玩玩看?
http://120.26.60.159/WhatIsThis/what-is-this.1d9bb46782a411bdb72ac82590539826
(如果網址下不了可以到百*雲上下載附件:附件點我)
是一個NES文件,百度一下,小霸王機的文件‘。’
於是下了一個FCEUX.exe打開遊戲完。。。是“赤色要塞”小遊戲。
打通關後背景快速閃過flag,手速截圖如下:
坑爹的飛機,於是猜fuck後面兩位是什麼字母。。對了,每題只能提交三十次答案,
後來比較猥瑣才FUCKYOU,,,居然中了,出題人也是醉了。。
最後flag:ILOVENESFUCKYOUHCGORSA
題目名稱:Andy(你們知道他是誰嗎)
題目描述:Andy的通關密碼(flag形式不是hctf{xxx},提交時請以hctf{flag}的形式提交。)
http://120.26.60.159/Andy/Andy.apk.f1bc4dcb815253922a6746316890c05e
(如果網址下不了可以到百*雲上下載附件:附件點我)
下下來後解壓發現是個Android文件,現學反編譯工具dex2jar和jd-gui。。。
(看不懂的請自行百度dex2jar使用)
最後是這樣:
Make裏經過三個函數後變成如圖1那串字符串,接着就是讀代碼解出來。。。
hdu1s8爲接在input後面的數;
三個函數分別如下:其中有base64和一個自定義的替換和倒敘?
接着把“SRlhb70YZHKvlTrNrt08F=DX3cdD3txmg”這串字符解密,代碼如下:
<span style="font-size:18px;">public static void main(String[] args) {
// TODO Auto-generated method stub
String array1 = "0 1 2 3 4 5 6 7 8 9 a b c d e f g h i j k l m n o p q r s t u v w x y z = A B C D E F G H I J K L M E O P Q R S T U V W X Y Z";
String array2 = "W,p,X,4,5,B,q,A,6,a,V,3,r,b,U,s,E,d,C,c,D,O,t,T,Y,v,9,Q,2,e,8,P,f,h,J,N,g,u,K,k,H,x,L,w,R,I,j,i,y,l,m,S,M,1,0,O,n,2,G,7,=,F,Z";
String[] arrayOfString1 =array1.split(" ");
String[] arrayOfString2 =array2.split(",");
String after="SRlhb70YZHKvlTrNrt08F=DX3cdD3txmg";
//OHMxdWRoZDBpMnczcmRuYXk2bjhkbmEE=
String ans="";
for(int i=0;i<after.length();i++)
{
for(int j=0;j<63;j++)
{
if(String.valueOf(after.charAt(i)).equals(arrayOfString2[j]))
{
ans+=arrayOfString1[j];
break;
}
}
}
System.out.println(ans);
}</span>
解出來結果爲:
OHMxdWRoZDBpMnczcmRuYXk2bjhkbmEE=
再base64解碼:
開頭的8s1udh剛好是之前input後加的字符串,去掉即可,
再倒敘輸入就是flag了,最後面的符號忽略,這個是題目的問題。。。
flag: and8n6yandr3w2i0d
題目名稱:送分要不要?(萌新點我)
題目描述:這題還需要描述麼?
http://120.26.60.159/EasyMisc/misc50.28c1c3807a6e3ff9da28b5774dc6fbb0
(如果網址下不了可以到百*雲上下載附件:附件點我)
這題比較坑爹,要按萌萌噠的新人想法。。。
下載下來如果解壓出來發現有個flag.jpg圖片,呵呵噠,如果到這來,就完蛋了,因爲新人是不會去解壓的。。。
其實可以發現flag.jpg文件原來是png格式的圖片,所以原文件十六進制查看後可以發現出現過一次png,並且png前面有一串字符串=。=
新人思路一開始就是找一串能字符直接解密。。。=。=
於是有了如下:
經過base64,base32,base16後得到flag如圖。
剩下的題目沒怎麼看,畢竟too yang。。能力有限,接着要好好系統研究下了。
坐等前20的專業的writeup =。=