GJCTF 官方WP WEB部分 2

2021-09-02 10:28:04 字數 1899 閱讀 9295

首先web題的常規思路,右擊檢視源**。

發現部分**洩露。很明顯的變數覆蓋漏洞。

這裡可以使用火狐的hackbar外掛程式或者是自己寫乙個python指令碼。在傳遞password的同時,同時傳遞乙個thepassword_123即可。這裡的thepassword_123的值要和表單傳入的password值相同。

通過url很容易猜到這是一道考察sql注入的題。常規操作,檢視頁面源**。因為要充分考慮原始碼洩露的問題。

發現頁面源**,存在sql注入問題。

考察萬能使用者名稱登陸,注意閉合。payload很容易就寫出來了。

payload:

admin』)# 或 admin』)–

右擊檢視頁面源**:

發現原始碼洩露。這裡很明顯是乙個檔案包含漏洞,而且要求包含的檔案內容為getflag。這裡有兩種包含方法。一種是利用php://input偽協議,還有一種就是利用data://偽協議。

方法一:php://input偽協議。如果是直接在表單輸入的記得審查元素去掉readonly屬性……

值得注意的是,使用hackerbar外掛程式的時候,如果要傳的引數僅為getflag,那麼需要抓包攔截,並刪掉後面的=undefined引數,

才可以拿到flag。

方法二:data協議

先隨便提交個值,題目要求更改admin密碼,那就更改使用者名為admin把。發現url中有乙個base64加密過的base64加密過的user_check引數。值為gjctf,這個時候我們傳入admin,獲得base64加密過的值,傳入。

直接拿到flag值。

本題比較綜合。考察點為request變數覆蓋、md5繞過、file_get_contents寫入、正則繞過。參考了南郵的nctf 2018的easyaduit,但是他們環境沒了。。所以我就自己搭了乙個==

首先request變數可以使用post和get變數同時覆蓋,即當post和get引數名字相同時,request只能接收到post引數並處理,並不會處理同名get引數。正則和md5以及substr都可以通過陣列來繞過,這裡算null繞過了。

file_get_contents可諸如的方法有data://和php://input兩種,但是由於正則過濾的原因,導致post值會被正則攔下,所以php://input無法使用,因為post引數會被處理,所以只能使用data://協議。

這裡直接放出payload。

GJCTF 官方WP PWN部分

連線方式 nc 188.131.185.193 50000 逆向分析 使用ida32開啟。定位main函式,f5看原始碼。很容易發現存在危險函式strcpy,並存在溢位漏洞。v5在這裡是id,v4在這裡是name,程式我們需要通過覆蓋name來讓id為1000,從而拿到執行系統命令拿到flag值。p...

安恆2023年12月月賽wp web部分

試試訪問admin.php,之後頁面顯示 you are not admin 因為題目並沒有登入功能,猜測可能要對cookie做點文章來偽裝成admin。用burp抓包看請求頭如下 發現user欄位,把值解base64得user 3d是 的url編碼,解碼的時候記得把 3d換成 根據這個思路,就把a...

Docker官方文件解讀 2

docker run hello world 在過去,如果你寫乙個pyhton的應用,你的第一步是在你的機器上安裝python的開發環境。但是需要你的機器上的執行環境與應用程式完美適合,並且也需要匹配生產環境。利用docker,你能移植乙個便捷的python的執行庫作為映象,無需安裝。然後,通過構建...