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
最新文章
- Linux实战教学笔记08:Linux 文件的属性(上半部分)
- 学习Coding-iOS开源项目日志(五)
- Android进程绝杀技--forceStop
- 进程和线程及Linux下的编程
- readelf与动态库
- JSP在动态网页上输出 三角形和菱形
- CUDA安装及配置:Windows 7 64位环境
- unity, 使导入的材质名与3dmax中一致
- vmware重装系统后虚拟机实例文件*.vmdk重用
- cd 命令详解
- Python3 错误和异常
- 移动端键盘密码输入框插件(jquery用于支付密码)
- hibernate之Session对象
- java 中拿项目路径
- Sitecore安装(手动方式)
- CSS布局实战
- switfmailer 邮件时间错误 处理
- MVC ---- EF高级增删改
- ADO调用分页查询存储过程
- 【原创】如何设置Virtual Box虚拟机CentOS7为静态IP地址