[BJDCTF 2nd]假豬套天下第一 && [BJDCTF2020]Easy MD5


[BJDCTF 2nd]假豬套天下第一

假豬套是一個梗嗎?

進入題目,是一個登錄界面,輸入admin的話會返回錯誤,登錄不成功,其余用戶可以正常登陸

 

 

 

 

 

 以為是注入,簡單測試了一下沒有什么效果

 

 

 抓包查看信息,發現源代碼有提示

 

 

訪問L0g1n.php

 

 

 顯示需要在99年后才開放訪問,請求頭里面有time,修改成一個很大的數字

 

 

 返回信息變成了需要從本地訪問,使用XFF或者Client-ip繞過

 

 

 現在的錯誤信息變成了需要來自於gem-love.com,添加Referer頭

 

 

 現在變成了需要使用Commodo 64瀏覽器,查一下全稱是:Commodore 64

填在user-agent里面

 

 

 需要我們的郵箱是:root@gem-love.com,添加From

 

 

 最后代理服務器地址需要是y1ng.vip,添加via

 

 

 獲得flag,將其base64對應解碼即可

 

這位師傅博客header參數寫的很詳細:https://www.cnblogs.com/benbenfishfish/p/5821091.html

搬運一下:

Header 解釋 示例
Accept 指定客戶端能夠接收的內容類型 Accept: text/plain, text/html,application/json
Accept-Charset 瀏覽器可以接受的字符編碼集。 Accept-Charset: iso-8859-5
Accept-Encoding 指定瀏覽器可以支持的web服務器返回內容壓縮編碼類型。 Accept-Encoding: compress, gzip
Accept-Language 瀏覽器可接受的語言 Accept-Language: en,zh
Accept-Ranges 可以請求網頁實體的一個或者多個子范圍字段 Accept-Ranges: bytes
Authorization HTTP授權的授權證書 Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==
Cache-Control 指定請求和響應遵循的緩存機制 Cache-Control: no-cache
Connection 表示是否需要持久連接。(HTTP 1.1默認進行持久連接) Connection: close
Cookie HTTP請求發送時,會把保存在該請求域名下的所有cookie值一起發送給web服務器。 Cookie: $Version=1; Skin=new;
Content-Length 請求的內容長度 Content-Length: 348
Content-Type 請求的與實體對應的MIME信息 Content-Type: application/x-www-form-urlencoded
Date 請求發送的日期和時間 Date: Tue, 15 Nov 2010 08:12:31 GMT
Expect 請求的特定的服務器行為 Expect: 100-continue
From 發出請求的用戶的Email From: user@email.com
Host 指定請求的服務器的域名和端口號 Host: www.zcmhi.com
If-Match 只有請求內容與實體相匹配才有效 If-Match: “737060cd8c284d8af7ad3082f209582d”
If-Modified-Since 如果請求的部分在指定時間之后被修改則請求成功,未被修改則返回304代碼 If-Modified-Since: Sat, 29 Oct 2010 19:43:31 GMT
If-None-Match 如果內容未改變返回304代碼,參數為服務器先前發送的Etag,與服務器回應的Etag比較判斷是否改變 If-None-Match: “737060cd8c284d8af7ad3082f209582d”
If-Range 如果實體未改變,服務器發送客戶端丟失的部分,否則發送整個實體。參數也為Etag If-Range: “737060cd8c284d8af7ad3082f209582d”
If-Unmodified-Since 只在實體在指定時間之后未被修改才請求成功 If-Unmodified-Since: Sat, 29 Oct 2010 19:43:31 GMT
Max-Forwards 限制信息通過代理和網關傳送的時間 Max-Forwards: 10
Pragma 用來包含實現特定的指令 Pragma: no-cache
Proxy-Authorization 連接到代理的授權證書 Proxy-Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==
Range 只請求實體的一部分,指定范圍 Range: bytes=500-999
Referer 先前網頁的地址,當前請求網頁緊隨其后,即來路 Referer: http://www.zcmhi.com/archives...
TE 客戶端願意接受的傳輸編碼,並通知服務器接受接受尾加頭信息 TE: trailers,deflate;q=0.5
Upgrade 向服務器指定某種傳輸協議以便服務器進行轉換(如果支持) Upgrade: HTTP/2.0, SHTTP/1.3, IRC/6.9, RTA/x11
User-Agent User-Agent的內容包含發出請求的用戶信息 User-Agent: Mozilla/5.0 (Linux; X11)
Via 通知中間網關或代理服務器地址,通信協議 Via: 1.0 fred, 1.1 nowhere.com (Apache/1.1)
Warning 關於消息實體的警告信息 Warn: 199 Miscellaneous warning

 

 

[BJDCTF2020]Easy MD5

這道題挺有意思的,考到了很多MD5在CTF里的考點

 

 進入環境之后是一個提交框,url形式是:leveldo4.php,后面我才發現可以直接爆破頁面,就不用挨着做題了。。。

題目叫做easy md5,猜測這里提交上去的數據是會進行MD5之后進入數據庫查詢,盲猜查詢語句為:

$sql = "SELECT * FROM users WHERE password = '".md5($password,true)."'";

  然后找了找放哪一句話可以繞過,參考這篇博客:https://www.betao.cn/archives/md5sqlzr.html

我們提交 ffifdyop,轉成MD5后為:276f722736c95d99e921722cf9ed621c , 再轉成字符串: 'or'6<trash>

 'or'6<trash>語句大家都很熟悉了,是標准的萬能密碼登錄,從而進行了繞過,所以我們輸入:ffifdyop

 

 跳轉到了這個頁面,查看源代碼里面的提示

 

 簡單的md5弱類型比較,a[]=1&b[]=2數組繞過

 

 跳轉至第三個界面,md5強類型比較,使用md5碰撞,參考這篇文章:

https://xz.aliyun.com/t/2232

我在安洵杯的easy_web里面也寫到過:https://www.cnblogs.com/Cl0ud/p/12585242.html

 

 碰撞之后拿到flag

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM