作者名:Demo不是emo
主页面链接:主页传送门 创作初心:舞台再大,你不上台,永远是观众,没人会关心你努不努力,摔的痛不痛,他们只会看你最后站在什么位置,然后羡慕或鄙夷 座右铭:不要让时代的悲哀成为你的悲哀 专研方向:网络安全,数据结构
每日emo:海上月是天上月,眼前人是心上人
很多同学在靶场,ctf题中取得了很大的进步和收获,但是在实战环境下这些知识却不一定好用,所以新开了一个专栏介绍博主遇到的一些比较有意思的实战环境和渗透流程,希望对大家有所帮助
今天一位师傅给我发来了一个瑟瑟网站的网址,说该站某个点应该存在sql注入漏洞,也提示了注入点,但是sqlmap跑不出来,也没尝试出来是什么类型的注入,要我帮忙看看,黑这种站我是最感兴趣的哈哈,以下内容均为虚构(懂的都懂)
目录
打开连接,确实是一个非法网站,打开师傅说存在注入点的位置,链接如下
https://www.xxxxxxx.com/fourapi/api/data/search?word=1
页面如下:(敏感信息,码有点多,理解一下)
加单引号,未报错,加双引号尝试,成功报错,页面如下:
经典报错::You have an error in your SQL syntax
说明确实存在注入点,下面就看我们怎么利用了
1.构造闭合
这里是在参数后加了双引号后才出现的sql语法报错,首先就考虑的是通过构造来实现闭合,从而执行恶意代码
经过尝试,再加一个双引号即可闭合,此时就不会出现报错,如下
2.确定注入类型
上面已经通过两个双引号完成了闭合,那我们就可以通过在两个双引号中加入恶意代码来尝试或获取数据库信息,因为我们是通过报错来判断存在注入的,所以这里我们首先考虑的还是报错注入,尝试了一下获取数据库,嘿嘿,直接拿下(报错注入是真好用哈哈),语句如下:
https://www.xxxxx.com/fourapi/api/data/search?word=1" and updatexml(1,concat(0x7e,(select database()),0x7e),1)% "
确定了是报错注入,显示出了数据库名raincms
3.漏洞深入
根据上面的语句,我们再尝试获取目标的的表名,语句如下
https://www.xxxxxx.com/fourapi/api/data/search?word=1'" and updatexml(1,concat(0x7e,(select group_concat(table_name) from information_schema.tables),0x7e),1)% "
也是成功拿下,页面如下
后面的操作敏感内容太多了,写上一直过不了审,所以就删减了,希望理解,后续的操作简单来说就是再获取它的字段名和数据,结果发现数据其实存的只是影片的相关信息,同时也获取了他的绝对路径,但是上传文件的功能被禁用了,暂时就没有更多的思路了,此次渗透也就告一段落了
同时我观察了一下,这个网站是存在会员登录界面的,我最开始以为数据库里面都放的会员的账密信息,我还暗自窃喜,结果等我渗透进去拿到数据后才发现里面全放的影片的信息,无语了当时都,想当vip用户的第一天