AIS3 pre-exam 2023 Writeup

前言 這次打了個第 8 名,但這次暑假有事情了,不能去 qq。 Web Login Panel app.post("/login", recaptcha.middleware.verify, (req, res) => { const { username, password } = req.body; db.get( `SELECT * FROM Users WHERE username = '${username}' AND password = '${password}'`, async (err, row) => { if (err) return res.redirect(`https://www.youtube.com/watch?v=dQw4w9WgXcQ`); if (!row) return res.redirect(`/login?msg=invalid_credentials`); if (row.username !== username) { // special case return res.redirect(`https://www.youtube.com/watch?v=E6jbBLrxY1U`); } if (req.recaptcha.error) { console.log(req.recaptcha.error); return res.redirect(`/login?msg=invalid_captcha`); } req.session.username = username; return res....

June 24, 2023 · 4 min · Vincent55

透過 Python 達成一般文書動作(word excel pdf printer)

前言 因為有案子的需求要使用自動化的文書動作,因此這篇 blog 來記錄一下我用了哪些工具來達到這些功能,內容蠻雜的。 Pdf 判斷 pdf 是否可被開啟(是否沒損毀) https://pypi.org/project/PyPDF2/ from PyPDF2 import PdfWriter, PdfReader def check_pdf_vaild(self): try: PdfReader(self.filename) return True except: return False pdf 轉 png https://pypi.org/project/pdf2image/ 此套件為 poppler 的封裝,請安裝 poppler。 from pdf2image import convert_from_path images = convert_from_path(f'{file_path}.pdf') images[0].save(f"{file_path}.png") 此 images 為 pillow 物件,因此如果同時要剪裁,可以有以下操作 from pdf2image import convert_from_path images = convert_from_path(f'{file_path}.pdf') images[0].crop((300, 50, images[0].size[0]/2, images[0].size[1]/2.55)).save(f"{file_path}.png") pdf 剪裁 https://pypi.org/project/PyPDF2/ from PyPDF2 import PdfWriter, PdfReader reader = PdfReader(f'{file_path}.pdf') writer = PdfWriter() page = reader....

July 20, 2022 · 2 min · Vincent55

如何在 Windows 設定開機自動啟動(含 Powershell 腳本、不須設定服務)

前言 Linux 的開機自動啟動是非常常見且易用的,只需要將服務設定 systemd 之後設定 enable 即可。相對比較少人在用的是 Windows 的開機自動啟動,但其實 Windows 的開機自動啟動也是屬於容易設定的。 正文 開啟 Startup 資料夾 按下 win+R 並輸入 shell:startup 則會開啟 Startup 資料夾。 設定開機自動啟動 將想要開機自動啟動的應用程式的 捷徑 放入 Startup 資料夾中。 ⚠️注意,請確保你放的是捷徑⚠️ 檢查是否成功設定 開啟工作管理員後,切到開機分頁,如果剛才放入的應用程式捷徑出現在這,並且狀態為已啟用,代表已經設定完成。 同場加映(如何設定開機自動啟動 Powershell 腳本) 安全政策 微軟為了控制 Powershell 載入設定檔和執行腳本時所使用的條件,限制了 powershell 腳本,也就是 *.ps1 的執行場景,詳細可看官方文件。 例如說我有一隻含以下內容的 powershell 腳本。 owo.ps1 echo "owo"; 之後我在 cmd 嘗試執行它,會發現有以下錯誤。 並且,各位可以嘗試直接將該腳本的捷徑放至上述的 Startup 資料夾,會發現開機後並不會成功執行,而是會將該腳本以 notepad 開啟(這是因為 *.ps1 預設為 “notepad 開啟”)。 這時,或許你會想到用一個 *.bat 腳本來跑 *.ps1 但這就會遇到上述安全政策的問題。 設定 Powershell 執行 policies 使用以下腳本即可成功在 *....

June 27, 2022 · 1 min · Vincent55

AIS3 pre-exam 2022 Writeup

前言 這次打了個第 14 名,成功拿到 AIS3 的門票 ouob 希望這次是實體的。 Web Poking Bear 首先觀察到 SECRET BEAR id 位於 350 和 777 之間,因此寫個 script 找到 SECRET BEAR 的 ID import requests url = 'http://chals1.ais3.org:8987/bear/{}' for i in range(350,777): r = requests.get(url.format(str(i))) if "This is not even a bear." not in r.text: print(str(i)) 之後存取該 url 後改個 cookie 即可拿到 flag Simple File Uploader 首先觀察到將副檔名改為 pHp 即可繞過,因此檔名為 poc.pHp。 內容則利用 splitline 大大的工具 phpFuck 將 backdoor 混淆,上傳後即可 RCE...

June 26, 2022 · 3 min · Vincent55

網路爬蟲環境設定(Python、pipenv、VSCode)

前言 首先,這篇文其實是篇搬運文 XD 是從筆者之前參加的 IThome 鐵人賽 中點閱最高的 這篇文章 搬運過來的,當時參加的 IThome 鐵人賽是以網路爬蟲與反爬蟲技術作為主題,結果環境設定的文章與基礎語法是最受歡迎的 🤣。 有興趣看網路爬蟲的其他文章可以 點我 Python3 python3 載點 : https://www.python.org/downloads/ 目前 Python 最新版為 3.9.7 ▲ 下載時記得要將 Add Python 3.9 to PATH 開啟來才能在 cmd 等 command line 直接下 python 使用 ▲ Win + R 啟動執行,之後打入 cmd 打開命令提示字元 ▲ 打入 python --version 若有出現讀者下載 python 的版本則代表安裝成功 ▲ 打入 pip --version 若有出現 pip 的版本則代表安裝成功(原版下載連結會同步把 pip 安裝好) pipenv 虛擬環境 有了 python 之後就需要來裝一些會使用到的套件,但在此之前,需要有個套件管理系統。讀者可能之前有聽說 pip ,pip 是一個用 python 寫的套件管理系統。以下是常用指令...

June 20, 2022 · 2 min · Vincent55