Exp10 Final 类CTF(Webug3.0漏洞靶场—渗透基础)

一、前言

Webug定义为“我们的漏洞”靶场,基础环境基于PHP/MySQL搭建而成,整个web环境装在了一个纯净版的Windows Server 2003的虚拟机中。

此靶场包含了常见的漏洞,较为全面。

本次大实验基于Webug3.0版本的渗透基础部分。由于环境已经搭建完毕,在网上直接下载压缩包,解压后,在浏览器输入虚拟机的IP地址即可开始闯关测试。

(不过,使用过程中,还是发现了一些配置以及环境不完善的问题)

 

 

二、实验过程

1.第一关:很简单的一个注入(普通的GET注入)

(1)既然说了是GET注入,那就从参数gid入手,单引号报错,说明需要闭合单引号来完成注入

Exp10 Final 类CTF(Webug3.0漏洞靶场—渗透基础)_第1张图片

 

(2)提交 1' or '1'='1  会显示出所有信息

Exp10 Final 类CTF(Webug3.0漏洞靶场—渗透基础)_第2张图片

 

(3)使用order by 语句猜解这个数据表有多少个字段,这里从5个字段开始,若报错则说明没有这么多字段,若显示正常则说明字段数小于等于当前输入字段数,可通过二分法快速缩小范围,通过尝试,得出有4个字段数(输入参数为: 1' or 1=1 order by 5-- ' )

Exp10 Final 类CTF(Webug3.0漏洞靶场—渗透基础)_第3张图片

Exp10 Final 类CTF(Webug3.0漏洞靶场—渗透基础)_第4张图片

 

(4)使用联合查询union select,目的是观察这四个字段数显示在页面的什么位置

Exp10 Final 类CTF(Webug3.0漏洞靶场—渗透基础)_第5张图片

 

 

(5)查询数据表名称,参数为:

1' union select 1,2,3,group_concat(table_name) from information_schema.tables where table_schema = database() -- '

Exp10 Final 类CTF(Webug3.0漏洞靶场—渗透基础)_第6张图片

 

(6)猜测flag在flag数据表中,查询该数据表中的字段名,参数为:

 1' union select 1,2,3,group_concat(column_name) from information_schema.columns where table_name = 'flag' -- '

Exp10 Final 类CTF(Webug3.0漏洞靶场—渗透基础)_第7张图片

 

(7)union select 语句直接查询得到flag值,完成(参数为: 1' union select 1,2,3,flag from flag -- ' )

Exp10 Final 类CTF(Webug3.0漏洞靶场—渗透基础)_第8张图片

 

2.第二关:从图片中你能找到什么?(从图片中找到有用的信息)

Exp10 Final 类CTF(Webug3.0漏洞靶场—渗透基础)_第9张图片

(1)从图片中能找到什么?感觉应该是数据隐藏在图片中,那就直接binwalk进行一下文件分析,果然藏了一个压缩包文件

Exp10 Final 类CTF(Webug3.0漏洞靶场—渗透基础)_第10张图片

(2) binwalk -e 123.jpg 提取其中的文件,得到一个txt文件

Exp10 Final 类CTF(Webug3.0漏洞靶场—渗透基础)_第11张图片

(3)txt中只有“密码123”这几个字,作为flag进行提交,显示flag错误。

Exp10 Final 类CTF(Webug3.0漏洞靶场—渗透基础)_第12张图片

(4)用vi编辑器打开该图片,发现有“123.txt”字样,估计指的就是txt文件,除此以外,并没有发现其他flag线索

Exp10 Final 类CTF(Webug3.0漏洞靶场—渗透基础)_第13张图片

(5)后来在网上搜了一下,网上说这道题有bug。。。那就只能放着了。。。

 

3.第三关:你看到了什么?(渗透网站的时候目录也很重要)

(1)直接告诉flag,当然不相信。。。

Exp10 Final 类CTF(Webug3.0漏洞靶场—渗透基础)_第14张图片

 

(2)题目提示说“渗透网站的时候目录也很重要”,那就直接枚举一下网站的目录吧(这里用的工具是OWASP_ZAP),对当前目录san/下进行试探爬取

Exp10 Final 类CTF(Webug3.0漏洞靶场—渗透基础)_第15张图片

 

 (3)发现下图这个目录有些奇怪,打开后,居然直接得到了flag

Exp10 Final 类CTF(Webug3.0漏洞靶场—渗透基础)_第16张图片

Exp10 Final 类CTF(Webug3.0漏洞靶场—渗透基础)_第17张图片

 

(4)注:后来在页面的源代码发现注释也给出了“扫描目录”的提示

Exp10 Final 类CTF(Webug3.0漏洞靶场—渗透基础)_第18张图片

 

4.第四关:告诉你了FLANG是5位数(当遇到五位验证码的时候可以爆破)

(1)随意输入用户名和密码,提交后出现下图界面

Exp10 Final 类CTF(Webug3.0漏洞靶场—渗透基础)_第19张图片

 

(2)提示很明显,直接爆破,利用BurpSuite对用户名和密码进行暴力破解

Exp10 Final 类CTF(Webug3.0漏洞靶场—渗透基础)_第20张图片

 

(3)拿到用户名和密码分别为“admin”与“admin123”,显示login success

Exp10 Final 类CTF(Webug3.0漏洞靶场—渗透基础)_第21张图片

Exp10 Final 类CTF(Webug3.0漏洞靶场—渗透基础)_第22张图片

 

(4)不过有点疑惑,并没有看见flag,而且这次的爆破跟“FLANG是5位数”有啥关系。。。

注:之后看了下服务器上的源代码,爆破的思路是对的,但是flag被注释掉了,额,是题目没出好吗。。。

Exp10 Final 类CTF(Webug3.0漏洞靶场—渗透基础)_第23张图片

 

5.第五关:一个优点小小的特殊的注入(头部的一个注入)

(1)头注入的方法和位置的主要关注点在:X-Forwarded-For、User-Agent、Referer这几个地方,抱着“但愿没有注入防护”的想法,对这几个地方都进行了简单的注入测试,发现X-Forwarded-For存在注入

Exp10 Final 类CTF(Webug3.0漏洞靶场—渗透基础)_第24张图片

Exp10 Final 类CTF(Webug3.0漏洞靶场—渗透基础)_第25张图片

Exp10 Final 类CTF(Webug3.0漏洞靶场—渗透基础)_第26张图片

 

(2)之后的注入测试与第一关基本相同,这里给出最后的注入结果

Exp10 Final 类CTF(Webug3.0漏洞靶场—渗透基础)_第27张图片

 

6.第六关:这关需要RMB购买哦(支付问题:用最少的钱去购买)

(1)又是需要用户名密码登录,试着SQL注入登录一下,没想到居然真的绕过了,可是,没法做题。。。

Exp10 Final 类CTF(Webug3.0漏洞靶场—渗透基础)_第28张图片

Exp10 Final 类CTF(Webug3.0漏洞靶场—渗透基础)_第29张图片

Exp10 Final 类CTF(Webug3.0漏洞靶场—渗透基础)_第30张图片

注:后来上网查了才知道,原来这一关的用户名和密码写在了第七关那,这是啥操作。。。

Exp10 Final 类CTF(Webug3.0漏洞靶场—渗透基础)_第31张图片

 

(2)试着购买了一下,发现会被扣除相应的金额

Exp10 Final 类CTF(Webug3.0漏洞靶场—渗透基础)_第32张图片

 

(3)题目的意思是“用最少的钱去购买”,感觉可能存在逻辑漏洞或者服务器不验证数据的情况,用BurpSuite抓了下包,发现还真是如此,每本书的价格和数量都一起通过POST方式提交给了服务器,而服务器那边并没有进行进一步的验证

Exp10 Final 类CTF(Webug3.0漏洞靶场—渗透基础)_第33张图片

 

(4)那就直接在BurpSuite上修改数据(将价格全部修改为0),再Repeater给服务器

Exp10 Final 类CTF(Webug3.0漏洞靶场—渗透基础)_第34张图片

 

(5)既然金额为0(不用花钱)能买书,那。。。把金额改成负数,是不是意味着厂家还可以倒贴给我钱呢。。。

Exp10 Final 类CTF(Webug3.0漏洞靶场—渗透基础)_第35张图片

好吧,看来还是有限制的。。。

 

7.第七关:越权(已有账号:tom 密码 123456)

(1)登录后,进入如下页面,单击更改密码链接,进行密码修改

Exp10 Final 类CTF(Webug3.0漏洞靶场—渗透基础)_第36张图片

 

(2)发现当前账户的用户名是以GET传参到change.php界面,尝试直接将name的值修改为admin,随意输入一个旧密码,接着设定新密码,点击更改密码。居然成功修改,看来,不仅网页的访问没做限制,服务器那边也没做任何的验证。

Exp10 Final 类CTF(Webug3.0漏洞靶场—渗透基础)_第37张图片

Exp10 Final 类CTF(Webug3.0漏洞靶场—渗透基础)_第38张图片

 

Exp10 Final 类CTF(Webug3.0漏洞靶场—渗透基础)_第39张图片

 

(3)用admin账号和修改过的密码进行登录,可以成功登录

Exp10 Final 类CTF(Webug3.0漏洞靶场—渗透基础)_第40张图片

 

8.第八关:CSRF(管理员每天晚上十点上线!)

(1)界面与上一题较为相似,CSRF,要求进行跨站请求伪造

Exp10 Final 类CTF(Webug3.0漏洞靶场—渗透基础)_第41张图片

 

(2)模拟一个修改密码的页面诱导管理员点击页面,达到修改密码的目的,这里用BurpSuite抓包,然后构造一个页面

Exp10 Final 类CTF(Webug3.0漏洞靶场—渗透基础)_第42张图片

Exp10 Final 类CTF(Webug3.0漏洞靶场—渗透基础)_第43张图片

 

(3)将页面保存为html代码,就可以发给管理员了(不过显然是没法进行下去了,毕竟内网里没有WeBug管理员。。。),这道题的目的应该是制造CSRF的过程以了解CSRF。

(4)不妨把管理员要做的事也做了。。。看看是如何上当的。

点击BurpSuite里的“Test in browser”,发现弹出的页面仅仅是一个提交按钮,若是出于好奇,不小心点击了一下,新密码就被成功提交修改了

Exp10 Final 类CTF(Webug3.0漏洞靶场—渗透基础)_第44张图片

Exp10 Final 类CTF(Webug3.0漏洞靶场—渗透基础)_第45张图片

Exp10 Final 类CTF(Webug3.0漏洞靶场—渗透基础)_第46张图片

 

9.第九关:URL跳转(能不能从我到百度那边去?)

(1)界面与之前一致,登录后,功能仍为修改密码

Exp10 Final 类CTF(Webug3.0漏洞靶场—渗透基础)_第47张图片

 

(2)既然是URL跳转,估计是需要在某个地方插入网址

(3)在每个页面的地址栏都试了一遍,最后发现,在登录界面加了个url参数可以成功跳转

Exp10 Final 类CTF(Webug3.0漏洞靶场—渗透基础)_第48张图片

 

10.第十关:文件下载(根据提示下载需要的文件)

(1)404???

(注:上网查询发现,源码里url跳转有问题,把原来的跳转修改成download.php就可以)

Exp10 Final 类CTF(Webug3.0漏洞靶场—渗透基础)_第49张图片

 

(2)跳转到正常网页后,title提示帮管理员找回mysql账号密码

Exp10 Final 类CTF(Webug3.0漏洞靶场—渗透基础)_第50张图片

 

(3)点击下载图片,显示图片不存在,但是显示的结果也暴露了整个网站的目录情况。

结合“根据提示下载需要的文件”以及url地址栏上的fname参数,猜测可能是文件包含漏洞

Exp10 Final 类CTF(Webug3.0漏洞靶场—渗透基础)_第51张图片

 

(4)dirbuster暴力枚举一下/pentest/test/6/1/下的内容,发现/db目录下有一个config.php文件,猜测可能为mysql配置文件

Exp10 Final 类CTF(Webug3.0漏洞靶场—渗透基础)_第52张图片

 

(5)尝试构造路径,最终通过包含如下路径,下载得到config.php,拿到账号密码

Exp10 Final 类CTF(Webug3.0漏洞靶场—渗透基础)_第53张图片

Exp10 Final 类CTF(Webug3.0漏洞靶场—渗透基础)_第54张图片

 

11.第十一关:我和上一题有点像(boom,沙卡拉卡!)

(1)确实挺像,点击下载后,依然是无法找到文件,但是注意到url地址栏没有带参数。

猜测上一题通过GET方式提交,而这一题通过POST方式提交

Exp10 Final 类CTF(Webug3.0漏洞靶场—渗透基础)_第55张图片

 

(2)BurpSuite抓下包,发现确实是通过POST方式提交

Exp10 Final 类CTF(Webug3.0漏洞靶场—渗透基础)_第56张图片

 

(3)那么,接下来步骤跟上题一样,扫描得到db目录下存在config.php文件,在BurpSuite上修改POST的pic参数为 ../../../pentest/test/7/1/db/config.php ,Repeater后,得到了包含用户名和密码的Response

Exp10 Final 类CTF(Webug3.0漏洞靶场—渗透基础)_第57张图片

 

12.第十二关:我系统密码忘记了!(请帮我找回在D盘下。)

(1)登录后,是一个文件上传界面,随意上传一个文件,发现会回显上传到服务器的具体路径
【注:由于虚拟机win server 2003(服务器)的重启,IP地址发生了变化】

Exp10 Final 类CTF(Webug3.0漏洞靶场—渗透基础)_第58张图片

Exp10 Final 类CTF(Webug3.0漏洞靶场—渗透基础)_第59张图片

 

(2)接下来的思路是,用kali上的weevely工具生成php后门,上传到服务器上,之后,kali连接后门,到D盘下找寻密码文件

Exp10 Final 类CTF(Webug3.0漏洞靶场—渗透基础)_第60张图片

 

(3)确实成功连接了,也获取了windows的一些信息。

但是cd到D盘发现,没有任何内容。。。去服务器上看了一下,D盘是驱动器。。。额。。感觉是找不到密码了

Exp10 Final 类CTF(Webug3.0漏洞靶场—渗透基础)_第61张图片

Exp10 Final 类CTF(Webug3.0漏洞靶场—渗透基础)_第62张图片

 

注:后来上网查了大神的解决方法:如果只是为了得到密码,可以用“中国菜刀”上传一句话木马,再通过mimikatz神器(此神器可获取windows处于active状态账号的明文密码)得到管理员密码。之前win7虚拟机里装有“菜刀”,不过一直无法连接服务器,又换了好几个版本的“菜刀”,依然“无法连接服务器”。。。不晓得是啥原因,可能是菜刀失灵了,这一题只好先到这了。

 

13.第十三关:XSS(看看你能给我带来什么惊喜)

(1)进入界面后,只有一个链接,点击后,url地址栏出现了id这个参数,除此以外,无其他变化

 

(2)改id值为999,发现页面第一行也直接呈现出999字样(当输入中某个参数的全部或其中一部分,原封不动地在源代码里出现时,就可认为这个参数存在XSS漏洞)

 

(3)因此直接修改id的值,果然弹框了

Exp10 Final 类CTF(Webug3.0漏洞靶场—渗透基础)_第63张图片

 

14.第十四关:存储型XSS(suprise!)

(1)既然题目是“存储型XSS”,界面呈现出的又是留言功能,那直接在留言区写下 

你可能感兴趣的:(php,运维,数据库)