diff --git a/0xfu.md b/0xfu.md new file mode 100644 index 00000000..fd0e7aab --- /dev/null +++ b/0xfu.md @@ -0,0 +1,22 @@ +--- +timezone: Asia/Shanghai +--- + + +# 0xfu + +1. 自我介绍 + Hi!大家好,我是0xfu,有5年 Golang 开发经验,熟悉 Solidity 和 React,加入共学营和大家一起学习! + +2. 你认为你会完成本次残酷学习吗? + 一定可以的!!! + +## Notes + + + +### 2024.09.23 + +### + + diff --git a/0xruss13 b/0xruss13 new file mode 100644 index 00000000..bf22f49f --- /dev/null +++ b/0xruss13 @@ -0,0 +1,20 @@ +--- +timezone: Asia/Shanghai +--- + +# YourName + +1. 自我介绍: 路過區塊世界的中年大叔 +2. 你认为你会完成本次残酷学习吗? 應該可以 + +## Notes + + + +### 2024.09.23 + +學習內容: +- +### + + diff --git a/Aleng.md b/Aleng.md index 95c4d541..3fa1c7ab 100644 --- a/Aleng.md +++ b/Aleng.md @@ -13,5 +13,9 @@ timezone: Asia/Shanghai ## Notes +### 2024.09.23 +#### 學習筆記 +筆記 : [2024.09.03學習筆記](https://hackmd.io/@82tWd8u0TI6fMRC9VG6JXw/SkZ-UWnpA) +內容 : 這次學習了101 的 1 ~ 4 單元。 diff --git a/Arvid-io b/Arvid-io new file mode 100644 index 00000000..6a40794e --- /dev/null +++ b/Arvid-io @@ -0,0 +1,92 @@ +--- +timezone: Asia/Shanghai +--- + +> 请在上边的 timezone 添加你的当地时区,这会有助于你的打卡状态的自动化更新,如果没有添加,默认为北京时间 UTC+8 时区 +> 时区请参考以下列表,请移除 # 以后的内容 + +timezone: Pacific/Honolulu # 夏威夷-阿留申标准时间 (UTC-10) + +timezone: America/Anchorage # 阿拉斯加夏令时间 (UTC-8) + +timezone: America/Los_Angeles # 太平洋夏令时间 (UTC-7) + +timezone: America/Denver # 山地夏令时间 (UTC-6) + +timezone: America/Chicago # 中部夏令时间 (UTC-5) + +timezone: America/New_York # 东部夏令时间 (UTC-4) + +timezone: America/Halifax # 大西洋夏令时间 (UTC-3) + +timezone: America/St_Johns # 纽芬兰夏令时间 (UTC-2:30) + +timezone: Asia/Dubai # 海湾标准时间 (UTC+4) + +timezone: Asia/Kolkata # 印度标准时间 (UTC+5:30) + +timezone: Asia/Dhaka # 孟加拉国标准时间 (UTC+6) + +timezone: Asia/Bangkok # 中南半岛时间 (UTC+7) + +timezone: Asia/Shanghai # 中国标准时间 (UTC+8) + +timezone: Asia/Tokyo # 日本标准时间 (UTC+9) + +timezone: Australia/Sydney # 澳大利亚东部标准时间 (UTC+10) + +--- + +# YourName + +1. 自我介绍 + +2. 你认为你会完成本次残酷学习吗? + +## Notes + + + +### 2024.09.23 + +學習內容: +- A 系列的 Ethernaut CTF, 之前做了差不多了. POC: [ethernaut-foundry-solutions](https://github.com/SunWeb3Sec/ethernaut-foundry-solutions) +- A 系列的 QuillAudit CTF 題目的網站關掉了, 幫大家收集了[題目](./Writeup/SunSec/src/QuillCTF/), 不過還是有幾題沒找到. 有找到題目的人可以在發出來. +- A 系列的 DamnVulnerableDeFi 有持續更新, 題目也不錯. [Damn Vulnerable DeFi](https://github.com/theredguild/damn-vulnerable-defi/tree/v4.0.0). +- 使用 [Foundry](https://book.getfoundry.sh/) 在本地解題目, 可以參考下面 RoadClosed 為例子 +- ``forge test --match-teat testRoadClosedExploit -vvvv`` +#### [QuillAudit CTF - RoadClosed](./Writeup/SunSec/src/QuillCTF/RoadClosed.sol) +``` + function addToWhitelist(address addr) public { + require(!isContract(addr), "Contracts are not allowed"); + whitelistedMinters[addr] = true; + } + + function changeOwner(address addr) public { + require(whitelistedMinters[addr], "You are not whitelisted"); + require(msg.sender == addr, "address must be msg.sender"); + require(addr != address(0), "Zero address"); + owner = addr; + } + + function pwn(address addr) external payable { + require(!isContract(msg.sender), "Contracts are not allowed"); + require(msg.sender == addr, "address must be msg.sender"); + require(msg.sender == owner, "Must be owner"); + hacked = true; + } + + function pwn() external payable { + require(msg.sender == pwner); + hacked = true; + } +``` +- 解決這個題目需要成為合約的 owner 和 hacked = true. +- On-chain: 可以透過 ``cast send`` 或是 forge script 來解. +- Local: 透過 forge test 通常是在local解題, 方便 debug. +- RoadClosed 為例子我寫了2個解題方式. testRoadClosedExploit 和 testRoadClosedContractExploit (因為題目有檢查msg.sender是不是合約, 所以可以透過constructor來繞過 isContract) +- [POC](./Writeup/SunSec/test/QuillCTF/RoadClosed.t.sol) + +### + + diff --git a/Arvid.md b/Arvid.md new file mode 100644 index 00000000..cad81910 --- /dev/null +++ b/Arvid.md @@ -0,0 +1,23 @@ +--- +timezone: Asia/Shanghai +--- + +--- + +# Arvid + +1. 自我介绍 +Arvid, 在上海台北各做過一個web3項目運營。 + + +2. 你认为你会完成本次残酷学习吗? + 會,我有必死的決心。 +## Notes + + + +### 2024.09.23 + +### + + diff --git a/ChenBingWei1201.md b/ChenBingWei1201.md new file mode 100644 index 00000000..9ed19869 --- /dev/null +++ b/ChenBingWei1201.md @@ -0,0 +1,25 @@ +--- +timezone: Asia/Shanghai +--- + +--- + +# YourName + +1. 自我介绍 + 大家好我叫Chen Bing Wei,我以前只有學習過往佔前後都開發,從未接觸solidity與smart contract這類的東西,但今年因緣際會下修了一門叫分散式金融導論的課,助教教的非常好,讓我對這個領域充滿極大的興趣,或許未來可以做跨領域的結合,結合網路服務,金融科技,與機器學習等現在所學的知識,創造出能對人類有所貢獻的東西,因此想藉由這次機會挑戰自己,參加此次活動逼迫自己學習。 + +2. 你认为你会完成本次残酷学习吗? + 會 + +## Notes + + + +### 2024.09.23 + +學習內容: + +### + + diff --git a/Dida.md b/Dida.md new file mode 100644 index 00000000..9886077b --- /dev/null +++ b/Dida.md @@ -0,0 +1,18 @@ +--- +timezone: Asia/Taipei +--- + +--- + +# Dida + +1. 前端工程師,轉職到 Web3 公司工作,想學習合約開發技術。 + +2. 會 + +## Notes + + +### 2024.09.23 + + diff --git a/Gsus4.md b/Gsus4.md new file mode 100644 index 00000000..77d41a60 --- /dev/null +++ b/Gsus4.md @@ -0,0 +1,20 @@ +--- +timezone: Asia/Shanghai +--- + + +# Gsus4 + +1. 自我介紹: Gsus4 is a nice chord. + +2. 你认为你会完成本次残酷学习吗? Yes. + +## Notes + + + +### 2024.09.23 + +### + + diff --git a/JLsgl.md b/JLsgl.md new file mode 100644 index 00000000..f2dfd368 --- /dev/null +++ b/JLsgl.md @@ -0,0 +1,21 @@ +--- +timezone: Asia/Shanghai +--- + +--- + +# JL + +1. 自我介绍 +嗨~我是JL,第一次接觸程式,想接觸了解基礎知識和練習。 +2. 你认为你会完成本次残酷学习吗? +盡力而為。 +## Notes + + + +### 2024.09.23 + +### + + diff --git a/Judy.md b/Judy.md new file mode 100644 index 00000000..3c3e04fb --- /dev/null +++ b/Judy.md @@ -0,0 +1,24 @@ +--- +timezone: Asia/Shanghai +--- + + +--- + +# Judy + +1. 自我介绍 + + 3年軟體工程師 區塊鏈開發學習中 + +2. 你认为你会完成本次残酷学习吗? + + 會 + +## Notes + + + +### 2024.09.23 + + diff --git a/Lisa.md b/Lisa.md new file mode 100644 index 00000000..a72295fa --- /dev/null +++ b/Lisa.md @@ -0,0 +1,23 @@ +--- +timezone: Asia/Shanghai +--- + + +--- + +# Lisa + +1. 自我介绍 + 軟體工程師, Solidity 初學者 + + +2. 你认为你会完成本次残酷学习吗? + 會努力。 + +## Notes + + + +### 2024.09.23 + + \ No newline at end of file diff --git a/MrF.md b/MrF.md new file mode 100644 index 00000000..e9e683f5 --- /dev/null +++ b/MrF.md @@ -0,0 +1,11 @@ +--- +timezone: Asia/Shanghai +--- + +# MrF + +1. 一个有拖延症的程序员 + +2. 可以的 + + diff --git a/README.md b/README.md index 6739b714..5eeab622 100644 --- a/README.md +++ b/README.md @@ -159,6 +159,23 @@ | WaterBoat | | | | | | | | | | | | | | | | | | | | | | | | | | RockChang | | | | | | | | | | | | | | | | | | | | | | | | | | cxk228922 | | | | | | | | | | | | | | | | | | | | | | | | | +| Gsus4 | | | | | | | | | | | | | | | | | | | | | | | | | +| 0xfu | | | | | | | | | | | | | | | | | | | | | | | | | +| ChenBingWei1201 | | | | | | | | | | | | | | | | | | | | | | | | | +| Arvid | | | | | | | | | | | | | | | | | | | | | | | | | +| JLsgl | | | | | | | | | | | | | | | | | | | | | | | | | +| Judy | | | | | | | | | | | | | | | | | | | | | | | | | +| supergu | | | | | | | | | | | | | | | | | | | | | | | | | +| Dida | | | | | | | | | | | | | | | | | | | | | | | | | +| baiyazi | | | | | | | | | | | | | | | | | | | | | | | | | +| MrF | | | | | | | | | | | | | | | | | | | | | | | | | +| Lisa | | | | | | | | | | | | | | | | | | | | | | | | | +| sjlin | | | | | | | | | | | | | | | | | | | | | | | | | +| whynottellme | | | | | | | | | | | | | | | | | | | | | | | | | +| liaojiamin | | | | | | | | | | | | | | | | | | | | | | | | | +| k66inthesky | | | | | | | | | | | | | | | | | | | | | | | | | +| arieswang | | | | | | | | | | | | | | | | | | | | | | | | | +| arttseng | | | | | | | | | | | | | | | | | | | | | | | | | @@ -228,6 +245,25 @@ + + + + + + + + + + + + + + + + + + + diff --git a/arieswang.md b/arieswang.md new file mode 100644 index 00000000..fbf8b7b8 --- /dev/null +++ b/arieswang.md @@ -0,0 +1,20 @@ +--- +timezone: Asia/Shanghai +--- + +# Aries + +1. 自我介绍 + Hi, 我是 Aries。30,现在在做 Web3 相关的开发工作。 + 剛好有這次的學習可以了解到共多以及交到更多的朋友! + +2. 你认为你会完成本次残酷学习吗? + 一定會完成。 + +## Notes + + + +### 2024.09.23 + + diff --git a/arttseng.md b/arttseng.md new file mode 100644 index 00000000..45726a19 --- /dev/null +++ b/arttseng.md @@ -0,0 +1,20 @@ +--- +timezone: Asia/Taipei +--- + +--- + +1. 大約十年安卓開發。想學合約很久了,有很多問題想問。側鏈和L2的差異。OP Stack為什麼那麼快就可以建一條新鏈。POS的安全性如何保證,是靠質押越多越安全?僅剩少數質押者是不是也不去中心。 + +2. 你认为你会完成本次残酷学习吗? 應該會 + + + +### 2024.09.22 + +學習內容: +報名 + +### + + diff --git a/baiyazi.md b/baiyazi.md new file mode 100644 index 00000000..4eaaa993 --- /dev/null +++ b/baiyazi.md @@ -0,0 +1,22 @@ +--- +timezone: Asia/Shanghai +--- + + +# YourName + +1. 自我介绍 + +大家好,我是bayazi。开始入门区块链。 + +2. 你认为你会完成本次残酷学习吗? + +会完成的 + +## Notes + + + +### 2024.09.23 + + diff --git a/k66inthesky.md b/k66inthesky.md new file mode 100644 index 00000000..096a1f65 --- /dev/null +++ b/k66inthesky.md @@ -0,0 +1,29 @@ +--- +timezone: Asia/Shanghai (UTC+8) +--- + + +timezone: Australia/Sydney # 澳大利亚东部标准时间 (UTC+10) + +--- + +# k66inthesky + +1. Hi我是k66,這是我第一次參加殘酷共學,一起衝鴨🦆 + +2. 你认为你会完成本次残酷学习吗?我會努力完成! + +## Notes + + + +### 2024.09.23 + +學習內容: + +``` +``` + +### + + diff --git a/liaojiamin.mc b/liaojiamin.mc new file mode 100644 index 00000000..3652e899 --- /dev/null +++ b/liaojiamin.mc @@ -0,0 +1,60 @@ +--- +timezone: Asia/Shanghai +--- + +> 请在上边的 timezone 添加你的当地时区,这会有助于你的打卡状态的自动化更新,如果没有添加,默认为北京时间 UTC+8 时区 + +# YourName + +1. 自我介绍: jiamin, 目前是一名在某互联网保险公司担任资深研发工程师,对web3有兴趣 + +2. 你认为你会完成本次残酷学习吗? +不一定能 + +## Notes + + + +(* ### 2024.09.23 + +學習內容: +- A 系列的 Ethernaut CTF, 之前做了差不多了. POC: [ethernaut-foundry-solutions](https://github.com/SunWeb3Sec/ethernaut-foundry-solutions) +- A 系列的 QuillAudit CTF 題目的網站關掉了, 幫大家收集了[題目](./Writeup/SunSec/src/QuillCTF/), 不過還是有幾題沒找到. 有找到題目的人可以在發出來. +- A 系列的 DamnVulnerableDeFi 有持續更新, 題目也不錯. [Damn Vulnerable DeFi](https://github.com/theredguild/damn-vulnerable-defi/tree/v4.0.0). +- 使用 [Foundry](https://book.getfoundry.sh/) 在本地解題目, 可以參考下面 RoadClosed 為例子 +- ``forge test --match-teat testRoadClosedExploit -vvvv`` +#### [QuillAudit CTF - RoadClosed](./Writeup/SunSec/src/QuillCTF/RoadClosed.sol) +``` + function addToWhitelist(address addr) public { + require(!isContract(addr), "Contracts are not allowed"); + whitelistedMinters[addr] = true; + } + + function changeOwner(address addr) public { + require(whitelistedMinters[addr], "You are not whitelisted"); + require(msg.sender == addr, "address must be msg.sender"); + require(addr != address(0), "Zero address"); + owner = addr; + } + + function pwn(address addr) external payable { + require(!isContract(msg.sender), "Contracts are not allowed"); + require(msg.sender == addr, "address must be msg.sender"); + require(msg.sender == owner, "Must be owner"); + hacked = true; + } + + function pwn() external payable { + require(msg.sender == pwner); + hacked = true; + } +``` +- 解決這個題目需要成為合約的 owner 和 hacked = true. +- On-chain: 可以透過 ``cast send`` 或是 forge script 來解. +- Local: 透過 forge test 通常是在local解題, 方便 debug. +- RoadClosed 為例子我寫了2個解題方式. testRoadClosedExploit 和 testRoadClosedContractExploit (因為題目有檢查msg.sender是不是合約, 所以可以透過constructor來繞過 isContract) +- [POC](./Writeup/SunSec/test/QuillCTF/RoadClosed.t.sol) + +### *) + + diff --git a/liaojiamin.md b/liaojiamin.md new file mode 100644 index 00000000..19a409b6 --- /dev/null +++ b/liaojiamin.md @@ -0,0 +1,23 @@ +timezone: Asia/Shanghai + +> 请在上边的 timezone 添加你的当地时区,这会有助于你的打卡状态的自动化更新,如果没有添加,默认为北京时间 UTC+8 时区 + +--- + +# YourName + +1. 自我介绍: +jiamin,后端java开发,对web3感兴趣 + +2. 你认为你会完成本次残酷学习吗? +不一定能坚持下来完成,但是会尽力 + +## Notes + + + +### 2024.09.23 + +### + + diff --git a/sjlin.md b/sjlin.md new file mode 100644 index 00000000..f0706698 --- /dev/null +++ b/sjlin.md @@ -0,0 +1,27 @@ +--- +timezone: Asia/Taipei +--- + +--- + +# sjlin + +1. 自我介绍 + + Hi~ 我是 sjlin 重新學習,持續複習! + +2. 你认为你会完成本次残酷学习吗? + 一定盡力完成! + +## Notes + + + +### 2024.09.23 + +學習內容: +- + +### + + diff --git a/supergu.md b/supergu.md new file mode 100644 index 00000000..a27b5de4 --- /dev/null +++ b/supergu.md @@ -0,0 +1,22 @@ +--- +timezone: Asia/Shanghai +--- + +# SuperGu🐧 + +1. 自我介绍 + + 大家好,我是SuperGu,進幣圈已差不多八年了,但從未認真學過Solidity,現在是時候了! + +2. 你认为你会完成本次残酷学习吗? + + 當然,LFG! + +## Notes + + + +### 2024.09.23 + + + diff --git a/whynottellme.md b/whynottellme.md new file mode 100644 index 00000000..5682541c --- /dev/null +++ b/whynottellme.md @@ -0,0 +1,17 @@ +--- +timezone: Asia/Shanghai +--- +# whynottellme +1. 大家好!我在这次学习之前只有一点python脚本的使用经验,对区块链也只有初步的了解。我从9月中旬开始尝试学习web3编程,刚好碰上这次残酷共学,我相信这是一个非常好的学习机会。 +2. 一定会。 + +## Notes + + + +### 2024.09.23 + +學習內容: +- A + +