天天看點

【護網杯】Web部分相關知識點easy tornadoeasy laravel

參考: 2018護網杯-web部分題解 本文講解其中用到的相關知識點。

easy tornado

hint.txt

md5(cookie_secret + md5(filename))

要得到flag的filename已經提示,即現在隻要擷取tornado的cookie_secret就可以了

運用模闆注入:

http://49.4.78.81:30980/error?msg=

{{handler.settings}}

記憶:handler.settings存放cookie_secret 哦~

嗯嗯,因為:即使看

源碼

目前我也無法看出是handler.settings...

easy laravel

  • laravel:PHP開發架構
  • SQL注入:
萌新練習網站: https://ringzer0team.com wp: https://xz.aliyun.com/t/2298
admin' union select 1,(select password from users limit 0,1),3,4,5#
           

limit 為偏移量

其他...正在研究中

2.拿管理者token

admin' union select 1,(select token from password_resets limit 1,1),3,4,5#

token:計算機身份認證中的臨時令牌

  1. 魔術方法 PHP16個魔術方法詳解

PHP以兩個下劃線__開頭的方法稱為魔術方法(Magic methods)

__construct()當一個對象建立時被調用

__destruct()當一個對象銷毀時被調用

__toString()當一個對象被當作一個字元串使用

__sleep() 在對象在被序列化之前運作

__wakeup将在序列化之後立即被調用

3.如果伺服器能夠接收我們反序列化過的字元串、并且未經過濾的把其中的變量直接放進這些魔術方法裡面的話,就容易造成很嚴重的漏洞

4.如何在不使用php函數unserialize()的前提下,觸發序列化呢?phar://

參考:

初探phar://

利用條件:如file_exists(),fopen(),file_get_contents(),file()等檔案操作的函數。要有可用的魔術方法作為“跳闆”。檔案操作函數的參數可控,且:、/、phar等特殊字元沒有被過濾。

實作過程:...先見連結好嗎~

LTshop

條件競争:發生在多個線程同時通路同一個共享代碼、變量、檔案等沒有進行鎖操作或者同步操作的場景中。如果并發處理不當或相關操作邏輯順序設計的不合理時,将會導緻此類問題的發生。

實作:多線程通路,資料庫update一次的時間内update了多次,導緻資料出現錯誤

多線程通路,可以自己寫腳本,也可以用burp:多線程,null payloads

  • 整形溢出:具體需要看《計算機組成原理》

但是這樣還不夠,發現辣條之王有填寫兌換數,嘗試整數溢出

因為最長為longlong,即存在2^64,又因為5包大辣條換一包辣條之王,故最多可換3689348814741910323包辣條之王,溢出再加一包,即為3689348814741910324包,輸入後溢出,成功獲得足夠數量的Flag