iwebsec靶场文件包含漏洞-session本地包含

session文件包含

当获取Session文件的路径并且Session的内容可控时,就可以通过包含Session文件进行攻击

利用条件

1、Session的存储位置可以获取

2 、Session内容可控

一般可以通过phpinfo来获取Session的存储位置

phpinfo中的session.save_path保存的是Session的存储位置,通过phpinfo的信息获取session.save_path为/var/lib/php/session

下面是通过本地文件包含的实验查看session存储位置

也可以猜测session的位置,通常Linux中session默认存储在/var/lib/php/session的目录下

 源码分析

<?php
	if(isset($_GET['iwebsec'])){
		session_start();
		$iwebsec=$_GET['iwebsec'];
		$_SESSION["username"]=$iwebsec;
		echo 'SESSION["username"]的内容是'. $_SESSION['username'];
	}else{
		exit();
	}
	
?>

此代码的$iwebsec变量的值可以通过GET型iwebsec参数传入。php会将获取的GET型iwebsec变量的值存入Session中。攻击者可以利用GET型iwebsec参数将恶意代码写入session文件中,然后利用文件包含漏洞包含此session文件,向系统中传入恶意代码。

漏洞利用

我们可以利用本地包含漏洞,先把iwebsec写入恶意代码到session中,然后通过本地包含漏洞执行恶意代码。

?iwebsec=<?php phpinfo();?>

 

现在已经写入恶意代码我们通过本地包含漏洞进行执行(在这里也就是文件包含漏洞),但我们要先知道Session。(可以直接F12查看)

 也可以利用抓包软件,然后查看PHPSESSID的值

之后回到本地包含漏洞

 

注: 每个人的PHPSESSID应该是不同的

?filename=/var/lib/php/session/sess_ev72bpmg1ou9a4t2igqpaiqis5

 

这样我们就成功包含了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值