【持更】CG-CTF——WriteUp(三)

CG-CTF——WriteUp(三)

工具:

①Winhex:圖片隱寫工具,這個很好用。
②在線工具HtmlEncode/BASE64轉換:注意源代碼裏奇怪的字符串,可以嘗試解碼(分清類型)。
③BurpSuite:抓包工具,這個很好用。
④Wireshark:抓包工具。使用說明
⑤HackBar:瀏覽器插件,構造POST傳參。

WEB

打開題目有點一臉懵逼。
在這裏插入圖片描述

鼠標右鍵查看頁面源代碼。
在這裏插入圖片描述發現還有個嵌套網頁,點進去看看。
在這裏插入圖片描述
那就上傳一張圖片,卻再次提醒應該上傳PHP後綴的文件。
在這裏插入圖片描述既然題目叫“上傳繞過”,肯定是要通過工具繞過文件類型的判定再上傳。
。。。

打開題目出現了一個登陸界面,已經給了密碼,直接提交查詢看看,被提示’You are not admin!’,看來必須是admin用戶才能登陸。
在這裏插入圖片描述點擊 Source,可以看到這個頁面的php源代碼。
在這裏插入圖片描述分析代碼:當用戶名(username)是 admin 的時候纔會登陸成功,並回寫flag。

  if($query[user]=="admin") {
      echo "<p>Logged in! flag:******************** </p>";

分析代碼:本題通過 POST 方式傳入變量pass的值,判斷 passpass1 是否相等,在 pass = pass1 時輸出flag。
在這裏插入圖片描述

相關知識:
strcmp(string1,string2)函數比較兩個字符串:
1、若返回0則string1=string2,
2、返回<0則string1<string2,
3、返回>0則string1>string2。

在插件HackBar中構造傳參:pass[]=1 ,點擊 Execute 提交數據即可得到flag。
在這裏插入圖片描述

相關知識:
ord(string):求string的 ASCII 值。

分析代碼:要求利用 GET 傳參傳入一個變量 key ,其中不能含有數字,又要與 ‘54975581388’ 相同。聯想 ord函數 的作用。key應該是這串數字的ascii碼。
在這裏插入圖片描述
經過進制轉換,得到 54975581388 的16進制ascii碼:ccccccccc
在這裏插入圖片描述在地址欄構造GET傳參key=0xccccccccc,得到flag。
在這裏插入圖片描述
*注意:16進制最前需要加上 ‘0x’。0x的目的是爲了表示後面的數是十六進制,在編程裏面一般都要加入,用來區別十進制數。

  • 27、密碼重置
    重置管理員賬號:admin 的密碼
    你在點擊忘記密碼之後 你的郵箱收到了一封重置密碼的郵件
    題目地址

打開題目後,沒有任何提示。先隨便輸入一串密碼和驗證碼1234,點擊重置會被提示error。
在這裏插入圖片描述
嘗試抓包也得不到有用的信息。
再分析分析,看看url,總覺得 Y3RmdXNlcg 很奇怪,去解碼一下。
在這裏插入圖片描述
發現,‘Y3RmdXNlcg’ 經過BASE64解碼後就是 ‘ctfuser’ 。
在這裏插入圖片描述
聯想題目的提示——重置管理員賬號:admin 的密碼。
賬號爲ctfuser無法修改,題目的url是 ‘ctfuser’ 的BASE64編碼。
不妨大膽猜測:可以通過burpsuite抓包修改賬號爲 admin ,記得同時也要修改 user1 爲 ‘admin’ 相對應的BASE64碼 YWRtaW4 。點擊go即可到flag。

在這裏插入圖片描述

發佈了7 篇原創文章 · 獲贊 1 · 訪問量 261
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章