iT邦幫忙

鐵人檔案

2024 iThome 鐵人賽
回列表
佛心分享-我的私藏工具箱

正則!好好表達 系列

選Regex這題目心要很大,原本是想分享實際系統的案例,但發現筆記不足20個,肯定撐不完鐵人賽。所以題目是:正則!「好好」表達。第一個好,是「做好」的案例分享;第二個好,是「好用」的開發過程。所以本題目不是教學分享。
後續分享大多是Java怎麼用Regex,其它有Perl、Java Script、Linux command、SQL,甚至連弱點掃瞄的修正,也有Regex應用之處。
反正已完成一個鐵人賽了,第二個就GO

鐵人鍊成 | 共 30 篇文章 | 2 人訂閱 訂閱系列文 RSS系列文
DAY 1

客戶類型編碼

金融案有個識別客戶類型的公用程式,什麼類型就得回覆相應編碼,如下:那麼在Java怎麼寫? // ID Type的正規表達式 private static Map...

2024-09-14 ‧ 由 tsai_jemmy 分享
DAY 2

SSH Terrapin Prefix Truncation Weakness (CVE-2023-48795) 弱點修正

這是Nessus掃出的「SSH弱式金鑰演算法已啟用」的弱點,解法是在config檔移除相關弱點。但和Regex有啥關聯?因為弱式演算法有很多個,config格式...

2024-09-15 ‧ 由 tsai_jemmy 分享
DAY 3

用Regex取得XML的標籤值

標題所說的功能要求很簡單,卻能涵蓋九成以上的XML電文的要求。先講故事:隨著資安意識抬頭,當初好用的Java XML解析套件一直被掃出弱點,在舊系統修改疲於奔命...

2024-09-16 ‧ 由 tsai_jemmy 分享
DAY 4

Java在漢字、全形字的偵測

這問題也是出自於弱掃,系統提供一個備註欄給user隨意填寫,SA規格也未限制,導致被視為弱點。正常user幾乎輸入中文、全形字為主,阿拉伯數字則為半形。經Cha...

2024-09-17 ‧ 由 tsai_jemmy 分享
DAY 5

隱碼公用程式

發表到這裡,除了Day 1,每一篇幾乎與資安弱掃扯上關係,隱碼也不例外,不能外洩個資,舉凡身份證號、手機號碼、姓名、信用卡號、E-Mail和生日都算,也因此寫出...

2024-09-18 ‧ 由 tsai_jemmy 分享
DAY 6

關於CSV檔裡的英文地址

CSV檔是以逗號分隔欄位的記錄格式,方便split。但遇到英文名字的公司行號甚至英文地址,逗號也是資料的一部份,倘若沒規則可循當然無解,但有規則就有機會被Reg...

2024-09-19 ‧ 由 tsai_jemmy 分享
DAY 7

如何從指令萃取IP

之前用過docker-compose啟動Redis Cluster,而docker-compose.yaml需要ip這個環境變數,在Mac可以透過ipconfi...

2024-09-20 ‧ 由 tsai_jemmy 分享
DAY 8

用egrep提取JSON裡特定key的每個值

在Day 4有提到檢查全形字、中文的原因,在於弱掃軟體會在備註欄位會注入駭客程式碼。想知道怎麼注入,可以用egrep egrep -a -h -o '&quot...

2024-09-21 ‧ 由 tsai_jemmy 分享
DAY 9

replaceAll for File.sepator

想寫個通用的路徑分隔的Pattern可以跨平台,不管在Windows的\或是Linux的/,都可以轉為Java運行當下的作業系統的路徑分隔字元。結果寫成以下的不...

2024-09-22 ‧ 由 tsai_jemmy 分享
DAY 10

用Perl移除檔案裡所有null字元

之前收到Spring Boot產出的Log,不確定Slf4J的MDC機制為何失效,在multi-thread狀態下為何還有大量null字元寫出,但總該要移除吧。...

2024-09-23 ‧ 由 tsai_jemmy 分享