电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

您的位置:首頁技術文章
文章詳情頁

Phar反序列化超詳細介紹

瀏覽:29日期:2022-06-05 18:00:37
目錄
  • Phar是什么
  • 如何創(chuàng)建一個Phar 文件
  • 如何反序列化利用

Phar是什么

在百度中得到介紹是這樣的:

在軟件中,PHAR(PHP歸檔)文件是一種打包格式,通過將許多PHP代碼文件和其他資源(例如圖像,樣式表等)捆綁到一個歸檔文件中來實現應用程序和庫的分發(fā)。phar文件本質上是一種壓縮文件,會以序列化的形式存儲用戶自定義的meta-data。當受影響的文件操作函數調用phar文件時,會自動反序列化meta-data內的內容。

理解為php特有的一種打包方式,需要使用php代碼進行大包,且無法通過普通的工具進行解壓解包。

如何創(chuàng)建一個Phar 文件

創(chuàng)建之前了解Phar文件的組成結構:

stub:phar文件的標志,必須以 <?php xxx; __HALT_COMPILER();?>, 結尾,否則無法識別。xxx可以為自定義內容。
stub這一部分,在了解時發(fā)現其實這樣寫 < __HALT_COMPILER();> 也是可以正常解析的
manifest:phar文件本質上是一種壓縮文件,其中每個被壓縮文件的權限、屬性等信息都放在這部分。這部分還會以序列化的形式存儲用戶自定義的meta-data,這是漏洞利用最核心的地方。
content:被壓縮文件的內容
signature (可空):簽名,放在末尾。

開始之前需要修改配置php.ini配置文件,修改phar.readonly 配置為Off,之后重啟生效

最常見的創(chuàng)建Phar 文件php代碼

<?phpclass Test{   public  $test="test";}$p = new Test();$phar = new Phar("test.phar");//要創(chuàng)建的Phar文件名,必須是phar后綴$phar->startBuffering();//寫入之前開始緩沖Phar寫入操作$phar->setStub("<?php __HALT_COMPILER();?>");//設置stub$phar->setMetadata($p);//將自定義的meta-data存入manifest,這一部分就是把序列化的對象加入到meta-data$phar->addFromString("test.txt", "test");//添加要壓縮的文件(這一步必須要有,如果不設置就無法生成phar文件,文件隨便)$phar->stopBuffering();//簽名自動計算?>

執(zhí)行代碼后會在當前代碼目錄下生成test.phar文件,以文本格式查看test.phar文件,在內容中可以看到Test類被序列化寫入了。O:4:“Test”:1:{s:4:“test”;N;}

如何反序列化利用

我們在構造特殊的meta-data數據后,在php中如果使用一些文件系統(tǒng)函數去引用調用phar文件就會觸發(fā)反序列化,下面是知道創(chuàng)宇測試確認受影響的函數。

這里使用is_dir函數,這是一個判斷傳入的是否是一個目錄的函數,創(chuàng)建與之前設置meta-data 的一個Test類,__wakeup魔術方法與__destruct 魔術方法在反序列化對象時都會觸發(fā),__destruct 魔術方法是在銷毀時觸發(fā)。

<?phpclass Test{    function __wakeup()    {echo($this ->test) ;    }}is_dir("phar://test.phar");//以phar偽協議的格式傳入?>

輸出結果,meta-data中的數據被反序列化觸發(fā)了__wakeup魔術方法,打印了test

在學習過程中,發(fā)現存在偽協議phar://關鍵詞不能出現在開頭的情況,師傅們的繞過方法是,使用下面的方式也能達到一樣的效果。

如果在上傳對phar文件頭進行校驗的檢測,可以根據相應的文件修改添加文件頭,如gif(GIF89a)

compress.bzip://phar:///test.phar/test.txt
compress.bzip2://phar:///test.phar/test.txt
compress.zlib://phar:///home/sx/test.phar/test.txt
php://filter/resource=phar:///test.phar/test.txt

到此這篇關于Phar反序列化超詳細介紹的文章就介紹到這了,更多相關Phar反序列化內容請搜索以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持!

標簽: PHP
相關文章:
主站蜘蛛池模板: 短信营销平台_短信群发平台_106短信发送平台-河南路尚 | 英国公司注册-新加坡公司注册-香港公司开户-离岸公司账户-杭州商标注册-杭州优创企业 | R507制冷剂,R22/R152a制冷剂厂家-浙江瀚凯制冷科技有限公司 | 空压机网_《压缩机》杂志| 钛合金标准件-钛合金螺丝-钛管件-钛合金棒-钛合金板-钛合金锻件-宝鸡远航钛业有限公司 | 翰香原枣子坊加盟费多少钱-正宗枣核糕配方培训利润高飘香 | 物联网卡_物联网卡购买平台_移动物联网卡办理_移动联通电信流量卡通信模组采购平台? | 温控器生产厂家-提供温度开关/热保护器定制与批发-惠州市华恺威电子科技有限公司 | 恒温振荡混匀器-微孔板振荡器厂家-多管涡旋混匀器厂家-合肥艾本森(www.17world.net) | 信阳网站建设专家-信阳时代网联-【信阳网站建设百度推广优质服务提供商】信阳网站建设|信阳网络公司|信阳网络营销推广 | 模具硅橡胶,人体硅胶,移印硅胶浆厂家-宏图硅胶科技 | 河北中仪伟创试验仪器有限公司是专业生产沥青,土工,水泥,混凝土等试验仪器的厂家,咨询电话:13373070969 | 校车_校车价格_19座幼儿园校车_幼儿园校车_大鼻子校车 | 电梯装饰-北京万达中意电梯装饰有限公司| 热缩管切管机-超声波切带机-织带切带机-无纺布切布机-深圳市宸兴业科技有限公司 | 北京银联移动POS机办理_收银POS机_智能pos机_刷卡机_收银系统_个人POS机-谷骐科技【官网】 | 代办建筑资质升级-建筑资质延期就找上海国信启航 | 底部填充胶_电子封装胶_芯片封装胶_芯片底部填充胶厂家-东莞汉思新材料 | 食品机械专用传感器-落料放大器-低价接近开关-菲德自控技术(天津)有限公司 | 甲级防雷检测仪-乙级防雷检测仪厂家-上海胜绪电气有限公司 | 油缸定制-液压油缸厂家-无锡大鸿液压气动成套有限公司 | 气体检测仪-氢气检测仪-可燃气体传感器-恶臭电子鼻-深国安电子 | 净化车间装修_合肥厂房无尘室设计_合肥工厂洁净工程装修公司-安徽盛世和居装饰 | 江苏齐宝进出口贸易有限公司 | 智能终端_RTU_dcm_北斗星空自动化科技| 上海小程序开发-小程序制作-上海小程序定制开发公司-微信商城小程序-上海咏熠 | 金属检测机_金属分离器_检针验针机_食品药品金属检探测仪器-广东善安科技 | 紧急泄压人孔_防爆阻火器_阻火呼吸阀[河北宏泽石化] | WTB5光栅尺-JIE WILL磁栅尺-B60数显表-常州中崴机电科技有限公司 | 上海单片机培训|重庆曙海培训分支机构—CortexM3+uC/OS培训班,北京linux培训,Windows驱动开发培训|上海IC版图设计,西安linux培训,北京汽车电子EMC培训,ARM培训,MTK培训,Android培训 | 火锅加盟_四川成都火锅店加盟_中国火锅连锁品牌十强_朝天门火锅【官网】 | 卫生纸复卷机|抽纸机|卫生纸加工设备|做卫生纸机器|小型卫生纸加工需要什么设备|卫生纸机器设备多少钱一台|许昌恒源纸品机械有限公司 | 注塑_注塑加工_注塑模具_塑胶模具_注塑加工厂家_深圳环科 | 振动传感器,检波器-威海广达勘探仪器有限公司 | 道达尔润滑油-食品级润滑油-道达尔导热油-合成导热油,深圳道达尔代理商合-深圳浩方正大官网 | 红立方品牌应急包/急救包加盟,小成本好项目代理_应急/消防/户外用品加盟_应急好项目加盟_新奇特项目招商 - 中红方宁(北京) 供应链有限公司 | pos机办理,智能/扫码/二维码/微信支付宝pos机-北京万汇通宝商贸有限公司 | 临海涌泉蜜桔官网|涌泉蜜桔微商批发代理|涌泉蜜桔供应链|涌泉蜜桔一件代发 | 武汉天安盾电子设备有限公司 - 安盾安检,武汉安检门,武汉安检机,武汉金属探测器,武汉测温安检门,武汉X光行李安检机,武汉防爆罐,武汉车底安全检查,武汉液体探测仪,武汉安检防爆设备 | 拖链电缆_柔性电缆_伺服电缆_坦克链电缆-深圳市顺电工业电缆有限公司 | 铝合金线槽_铝型材加工_空调挡水板厂家-江阴炜福金属制品有限公司 |