[Bugku][Web][CTF] 9-15 write up
【說明】 整合資源 簡略版本2020Bugku write up
Bugku
Web第九題
關鍵字 :/?args=GLOBALS
PHP 將所有全局變量存儲在一個名為 $GLOBALS[index] 的數組中。 index 保存變量的名稱。這個數組可以在函數內部訪問,也可以直接用來更新全局變量。
Web 第十題
關鍵字:burp抓包 在Headers中
Web第十一題
關鍵字:御劍后臺掃描+Burp Suite抓包爆破
https://jingyan.baidu.com/article/ca41422f054c881eae99eda0.html
https://blog.csdn.net/Mitchell_Donovan/article/details/111479600
第十二題
查看源代碼發現了線索,拿去base64解碼得到字符串‘test123’ 管理員admin
本地修改
本地: X-Forwarded-For: 127.0.0.1
https://blog.csdn.net/weixin_30466421/article/details/94879929?utm_medium=distribute.pc_aggpage_search_result.none-task-blog-2allsobaiduend~default-1-94879929.nonecase&utm_term=xff%E8%AF%B7%E6%B1%82%E5%A4%B4%E4%BC%AA%E9%80%A0
第十三題 web
URL編碼的特點就是 %數字%數字%數字 分析重構
第十四題 web
點擊后發現,URL欄中出現了一個file=show.php,看到file可以想到這是一個典型的文件包含漏洞,php://filter/read/convert.base64-encode/resource=index.php 這句話的意思是我們用base64編碼的方式來讀文件index.php;這時頁面會顯示出源文件index.php經過base64編碼后的內容,然后經過base64解碼就可以看到flag
① php封裝協議
②file=php://filter/read=convert.base64-encode/resource=index.php的含義
首先這是一個file關鍵字的get參數傳遞
php://是一種協議名稱
php://filter/是一種訪問本地文件的協議
/read=convert.base64-encode/表示讀取的方式是base64編碼后
resource=index.php表示目標文件為index.php
③為什么通過傳遞這個參數能得到源碼
原因在于源代碼中使用了include()函數,這個表示從外部引入php文件并執行,如果執行不成功,就返回文件的源碼。
而include的內容是由用戶控制的,所以通過我們傳遞的file參數,使include()函數引入了index.php的base64編碼格式,因為是base64編碼格式,所以執行不成功,會返回源碼,由此我們得到了源碼的base64格式,解碼即可的到源碼。
反觀,如果不進行base64編碼傳入,就會直接執行,而flag的信息在注釋中,是得不到的。
web15
bp爆破 密碼 12468
總結
以上是生活随笔為你收集整理的[Bugku][Web][CTF] 9-15 write up的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 目标跟踪经典论文阅读(1)MOSSE
- 下一篇: 分类(二):基于向量空间模型的文本分类