2022的ShellCTF之web_WP
Extractor:
考点是SQL注入,不过数据库不是mysql,而是sqlite
首先尝试了:1' or 1=1#

尝试1‘ or 1=1 --

发现有东西,使用 :order by 判断列表,知道有4列
然后尝试获取数据库名:1' union select 1,database(),3,4 --
返回无法找到database列,以为过滤的括号,后面才知道是sqlite数据库
于是,构造payload:1’ union select 1,sqlite_verion,3,4 --
返回sqlite数据库版本号,确认了是sqlite数据库
因为sqlite数据库中有sqlite_master内置的数据库,类似于mysql中information_schema,且默认情况下有type,name,sql三个字段
其中最重要的是sql字段,它的意义如下表:

所以我们构造payload如下:1' union select 1,2,3,sql from sqlite_master --
返回结果:

可以知道表名Admins,以及该表中有id,user,pass,content 三个字段
所以我们构造payload去读取字段中的内容:1' union select 1,user,pass,content from Admins --
得到结果:

Choosy:
打开页面如下:

在输入框随便输入什么内容,都会打印出来

随便看看请求头,在Accept请求头中发现text/html,application/xml,猜测有xxe注入,或者xss

在输入框输入:<h1>h1</h1>,发现可以插入到前端页面中

于是尝试xxe,无果。尝试xss,构造代码调用js弹窗
一顿乱试,发现payload:<img src=x onerror=alert(document.cookies)>可以
得到flag:

Colour Cookie:
打开页面如下:

额,这题一开始真的不知道考什么,赛后也不是很懂,只知道解题过程
直接crtl+u看源码,发现有一个自己的css,和题目名称一样代cookies(脑洞)

点进去也没发现什么东西,后来随便上下滑动滚轮才发现,下面有写东西:

单这样看还以为要name=C0loR呢,结果是把参数name改成C0loR,然后参数C0loR要接受什么呢?结果是blue,就纯脑洞解题
于是payload:check?C0loR=blue

ILLUSION:
考点是命令执行漏洞,加上一些过滤
怎么知道是命令执行的?猜测,乱试,试的时候要考虑有过滤,要不然你就以为不是这个方面的漏洞,然后走向错误的方向。归根结底就是经验之谈,加上一些特征发现。
如下,我发现打开的页面提交按钮是一个run,就去猜测是命令执行。

测试ls,无果,尝试双写绕过,测试llss,得到回应,验证猜测。

命令执行成功,根据提示

所以我们找出这个文件,然后cat
接下来就是目录遍历。逐级查看,最终发现flag文件

然后发现只是过滤了一些关键字,没有过滤cat

得到flag:

总结:
这些题对做过很多题有经验的人来说,就非常简单,没做过什么题的没经验的,都是抓瞎,能不能做出来,就看灵机一动,或者百度大法。就说本人自己,那道xss的题,我用xxe去打,打了一下午,都没结果,还不知道自己已经走错方法,以为只是出题者过滤掉了一些关键字,然后百度在那在如何绕过xx等等。真就那句话:会者不难:)
外链:
(152条消息) SQLite sqlite_master_丸子叮咚响的博客-CSDN博客_sqlite_master
2022的ShellCTF之web_WP的更多相关文章
- CJOJ 2022 【一本通】简单的背包问题(搜索)
CJOJ 2022 [一本通]简单的背包问题(搜索) Description 设有一个背包可以放入的物品重量为S,现有n件物品,重量分别是w1,w2,w3,-wn. 问能否从这n件物品中选择若干件放入 ...
- HDU 2022 海选女主角
http://acm.hdu.edu.cn/showproblem.php?pid=2022 Problem Description potato老师虽然很喜欢教书,但是迫于生活压力,不得不想办法在业 ...
- ural 2022 Riding a Toad
2022. Riding a Toad Time limit: 1.0 secondMemory limit: 64 MB A tribe of leafmen live in the old for ...
- [LOJ 2022]「AHOI / HNOI2017」队长快跑
[LOJ 2022]「AHOI / HNOI2017」队长快跑 链接 链接 题解 不难看出,除了影响到起点和终点的射线以外,射线的角度没有意义,因为如果一定要从该射线的射出一侧过去,必然会撞到射线 因 ...
- [翻译]正式宣布 Visual Studio 2022
原文: [Visual Studio 2022] 首先,我们要感谢正在阅读这篇文章的你,我们所有的产品开发都始于你也止于你,无论你是在开发者社区上发帖,还是填写了调查问卷,还是向我们发送了反馈意见,或 ...
- 它来了!!!有史以来第一个64位Visual Studio(2022)预览版将在今夏发布!
美国时间2021年4月19日,微软产品研发部一位负责人Amanda Silver在其博客上发布一则<Visual Studio 2022>的消息,表示将在今年(2021年)夏天发布Visu ...
- .NET6系列:微软正式宣布Visual Studio 2022
系列目录 [已更新最新开发文章,点击查看详细] 首先,我们要感谢正在阅读这篇文章的你,我们所有的产品开发都始于你也止于你,无论你是在开发者社区上发帖,还是填写了调查问卷,还是向我们发送了反馈意 ...
- .NET6系列:Visual Studio 2022 线路图
系列目录 [已更新最新开发文章,点击查看详细] 在上一篇博客<Visual Studio 2022>中介绍了VS2022的性能改进与重要功能.本文主要介绍在 Visual Stud ...
- 微软发布了Visual Studio 2022 Preview 1 以及.NET 6 Preview 5
Microsoft 今天宣布了Visual Studio 2022 的第一个预览版,并且同时也发布了.NET 6 Preview 5. https://devblogs.microsoft.com/v ...
随机推荐
- 220514 T1 查询 (二分查找+vector)
用vector记录每个数出现的位置,对于要查询的X,要找他落在L~R的个数有几个,用lower_bound和upper_bound查找,相减就是答案. 1 #include<bits/stdc+ ...
- core3商城DDD实战(一)建模
我所在学校部门的一个校园商城项目(学生售卖二手物品与发布悬赏求助等,在线上确认,校园内线下交易) 我们使用DDD的软件开发方法,这是我们进入编程世界上手的第二个项目,从创建仓库到现在已经过去二十多天, ...
- C++和Java多维数组声明和初始化时的区别与常见问题
//C++只有在用{}进行初始化的时候才可以仅仅指定列数而不指定行数,因为可以通过直接//初始化时的元素个数自动计算出行数.而仅声明/创建数组而不初始化时,Cpp要求必须写明//行数和列数才能够创建数 ...
- day10-习题
习题 1.Homework01 (1) D -- 没有在别名上加引号(ps:别名的as可以省略) (2) B -- 判断null或非空不能用不等于号 (3) C 2.Homework02 写出查看de ...
- Java I/O(3):NIO中的Buffer
您好,我是湘王,这是我的博客园,欢迎您来,欢迎您再来- 之前在调用Channel的代码中,使用了一个名叫ByteBuffer类,它是Buffer的子类.这个叫Buffer的类是专门用来解决高速设备与低 ...
- 路由组件构建方案(分库分表)V1
路由组件构建方案V1 实现效果:通过注解实现数据分散到不同库不同表的操作. 实现主要以下几部分: 数据源的配置和加载 数据源的动态切换 切点设置以及数据拦截 数据的插入 涉及的知识点: 分库分表相关概 ...
- 忘记了99乘法表啥样的了,python打印下看看
for i in range(1,10): for j in range(1, i+1): if i == j: print(j, "x", i, "=", i ...
- 3.版本穿梭&分支概述
版本穿梭 如果我们提交了多个版本到本地仓库,想将工作区恢复到历史版本 可以先使用git reflog查看历史记录,获取到版本号 然后使用git rest --hard 版本号 命令恢复到指定版本 gi ...
- 十四、资源控制器之RS
RC (ReplicationController )主要的作用就是用来确保容器应用的副本数始终保持在用户定义的副本数 .即如果有容器异常退出,会自动创建新的 Pod 来替代:而如果异常多出来的容器也 ...
- 【单元测试】Junit 4(三)--Junit4断言
1.0 前言 断言(assertion)是一种在程序中的一阶逻辑(如:一个结果为真或假的逻辑判断式),目的为了表示与验证软件开发者预期的结果--当程序执行到断言的位置时,对应的断言应该为真.若断言 ...